2

I would like to use GeoKettle to transform my file geodatabase data into something else (most likely postgis). Admittedly I am very new to ETL but I am absolutely stumped when I try to define an input as file geodatabase. "ogrinfo --formats" list file geodatabase as an option.

The reason I want to use the ETL is my long term solution will have to do with some schema changes (field names and probably types ) and with that mapping attributes to the new layer.

All of that is fine and good except I can't get out of the gate with using a file geodatabase as my input.

Ubuntu 14.04

Geokettle 2.5

OGR input ScreenShot

3
  • Are you able to read the file geodatabase in any other software on your PC, for example have you tried with QGIS?
    – nmtoken
    Aug 23, 2016 at 8:11
  • ogr2ogr can read file geodatabases created in ArcGIS 10.0 onwards. Aug 23, 2016 at 8:36
  • It's no problem reading the database. That wasn't the question. The question is in using file geodatabase as input/out in ETL actions from GeoKettle. For example I use PostGIS to store 99% of my data, but I have requirements to deliver products in filegeodatabase format. I need an ETL to convert from postgis to filegeodatabase with specific schema requirements. So reading the gdb no problem, using it in GeoKettle ..can't seem to find out how. Aug 28, 2016 at 18:29

1 Answer 1

3

The FileGDB driver for ogr is disabled by default in geokettle (2.5). See the source at org/pentaho/di/core/geospatial/OGRReader.java:43:

private String[] unsupportedDrivers = { "FileGDB", "PostgresSQL/PostGIS", "IDB", "INGRES", "OCI", "MSSQLSpatial" };

I removed FileGDB from the list, recompiled that class, injected it into the jar, and all seems to work, albeit somewhat sluggishly. The sluggishness is due to geokettle's automatic re-querying of the schema of the input file to auto-fill various fields, coupled with the overhead involved in opening fgdb. You can bypass that by assigning the input file path to a variable or parameter, if you can live without the autocomplete.

This is why I love open source software. If it does not work now, it can be made to work, given enough effort.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.