Comment importer le format .gdb de la géodatabase ESRI dans PostGIS

17

J'ai rencontré un problème lors du chargement d'un format de géodatabase ESRI .gdb dans PostGIS. J'ai un fichier GDB de 2,5 Go de données. J'ai suivi quelques tutoriels sur Internet, mais il semble que cela ne fonctionne pas.

  1. J'ai créé une base de données "SampleNY"
  2. J'ai exécuté cela depuis la console:

    ogr2ogr -f PG "PostgreSQL": "dbname = SampleNY user = postgres" NYPluto / Pluto.gdb

Mais rien ne se passe, je n'ai eu ni erreur ni opération réussie. Ai-je raté des étapes?

user3001937
la source
Êtes-vous limité à utiliser ogr2ogr? Ou êtes-vous ouvert à d'autres solutions? FME devrait pouvoir le faire facilement.
Fezter
Je suis ouvert à toute solution pouvant résoudre ce problème? Pouvez-vous fournir plus de détails sur la façon de procéder?
user3001937
Essayez de télécharger FME . Créez un nouveau plan de travail et ajoutez un lecteur de géodatabase et un rédacteur PostGIS.
Fezter
1
C'est une solution commerciale. Vous n'avez pas précisé que vous recherchiez uniquement des solutions gratuites. Je pense que FME a une période d'essai gratuite.
Fezter
1
J'ai trouvé dans d'autres réponses Spatial Data Manager. mapet.altervista.org Il s'agit d'un outil Windows gratuit pour charger le fichier de formes et la géodatabase fichier dans Postgis et d'autres bases de données spatiales.
lele3p

Réponses:

19

Essayez d'ajouter des arguments appropriés hostet port.
Et BTW, lorsque j'importe un gros fichier GDB, j'ajoute également ces drapeaux:

-overwrite (efface tout désordre que vous avez peut-être déjà inséré) et

-progress (affiche un point ou un nombre pour chaque enregistrement de 10 000 ou 10% ajouté):

--config PG_USE_COPY YES (améliore considérablement la vitesse)

Ainsi, la commande (qui devrait être une ligne mais que j'ai formatée ici pour plus de clarté) devient

ogr2ogr 
    -f "PostgreSQL" 
    PG:"host=localhost port=5432 dbname=SampleNY user=postgres" 
    NYPluto/Pluto.gdb 
    -overwrite -progress --config PG_USE_COPY YES

Utilisez une URL à la place de "localhost" si nécessaire.

Martin F
la source
6

S'il existe plusieurs fonctionnalités dans la gdb et que vous souhaitez spécifier le schéma Postgres et les noms de table, procédez comme suit:

#First get the featurenames from the gdb:
ogrinfo geodbname.gdb

#then import a feature into a table:
ogr2ogr -f "PostgreSQL" PG:"host=hostname port=5432 dbname=dbname user=postgres"
geodbname.gdb -nlt PROMOTE_TO_MULTI -nln schemaname.tablename featurename -overwrite
anneb
la source