Pouvez-vous me dire comment je peux charger des données de géodatabase dans PostGIS sans avoir à installer d'applications Esri?
La solution que j'ai trouvée en ligne parlait d'utiliser ArcGIS pour convertir GDB en SHP, puis pour importer SHP vers PostGIS.
postgis
esri-geodatabase
spatial-etl
Gerson Galang
la source
la source
Réponses:
Je le fais tout le temps pour mes clients.
Videz vos données dans FileGDB ou Shapefiles puis exécutez la commande suivante:
Pour les fichiers de forme ESRI:
Pour FileGDB:
Pour FileGDB, vous devez vous assurer que le pilote FileGDB est installé. Vous le faites avec:
ce qui devrait montrer quelque part FileGDB pour vous dire qu'il est installé.
la source
ogr2ogr -f "PostgreSQL" PG:"dbname=mydbname user=postgres" SanDiegoData.gdb -sql "GetLayerDefinition Parcels"
jetterait les métadonnées XML ESRI dans un champ de cette baseJe n'ai pas essayé, je ne peux donc pas vérifier si tout fonctionne, mais l' API de géodatabase fichier peut vous permettre d'exporter les données de la géodatabase fichier vers SHP (et ensuite PostGIS). La documentation dit:
la source
L'API de géodatabase fichier Esri ne fonctionne qu'avec les géodatabases de fichier créées à l'aide de la version 10.x; les versions antérieures ne fonctionnent pas avec GDAL, QGIS ou toute autre solution dépendant de l' API de géodatabase fichier ouverte . Les anciennes géodatabases personnelles dépendent de MS Access. Des lecteurs et du code sont disponibles.
Si vous disposez d'une géodatabase fichier 10.x, vous pouvez lire la couche à partir de FileGDB et la charger dans PostGIS à l'aide d'une seule commande ogr2ogr ( voir la documentation ):
Pour ce faire, je devais également télécharger VS2010 Express Edition et créer mon propre plug-in GDAL, ogr et 1.3 de l'API de géodatabase fichier ouverte.
Ce que je n'ai pas pu faire est de migrer une ancienne géodatabase fichier 9.x sans utiliser le logiciel esri (non disponible pour moi) - je ne peux pas aller au-delà de la ...
... lorsque vous essayez d'ouvrir 9.x "gdb" avec l'API ouverte qui ne prend en charge que 10.x "gdb".
la source
Même si je ne l'ai pas encore essayé moi-même, je viens de rencontrer ce didacticiel (qui est un fichier de formes -> PostGIS) qui utilise le logiciel open source geoETL appelé " Spatial Data Integrator ". Je ne sais pas s'il prend en charge Esri GDB ou non, mais il pourrait être intéressant de vérifier si vous pouvez utiliser ce produit pour effectuer la conversion similaire de GDB en PostGIS sans utiliser de produits ESRI.
Les autres paquets ETL dont j'ai entendu parler sont FME de Safe Sofware ($, très populaire) et GeoKettle (open-source), ainsi que de nombreuses autres références sur la page wikipedia Spatial ETL .
EDIT : En creusant un peu plus loin, il semble que SDI ne supporte pas directement la lecture de EsriGDB , mais peut lire les formats de fichier OGR disponibles .
la source
FWIW travaille actuellement sur la création d’une BDG pour le chargeur de postgis. Cela dépend de la dernière ligne de réseau GDAL dotée de liaisons GDB. Je n'ai pas eu l'occasion de me compiler et de m'essayer, mais j'espère que PostGIS 2.0 sera disponible.
vérifier - http://trac.osgeo.org/postgis/browser/spike/pramsey/postgis2fgdb
Vous pouvez probablement donner un buzz à Paul sur le groupe de discussion PostGIS pour savoir où il se trouve avec cela. http://www.postgis.org/mailman/listinfo/postgis-users
Pour le format Personal GeoDatabase, GDAL peut le lire parfaitement et c’est ce que j’utilise habituellement pour exporter des données hors de geodb personnel.
la source
Répondant à ma propre question ici que j'ai postée ici il y a quelque temps ...
Une autre option que j'ai trouvée en ligne (en plus des suggestions ci-dessus) consiste à utiliser pgdbf ( https://github.com/kstrauser/pgdbf ), qui exporte le script SQL que vous pouvez ensuite utiliser pour intégrer manuellement postgres.
la source