Téléchargement du contenu du géopackage vers PostgreSQL

15

En guise de contexte, nous cherchons à nous éloigner de l'utilisation des fichiers de formes. Nous avons déjà commencé à utiliser les Geopackages pour le travail de bureau (QGIS / ArcGIS) mais nous avons souvent besoin de télécharger des données vers nos bases de données PostgreSQL.

Je sais que vous pouvez télécharger du contenu de géopackage vers Postgres à l'aide de QGIS, mais vous vous demandez s'il existe des utilitaires de ligne de commande similaires à shp2pgsql pour télécharger des géopackages ou des tables de géopackages vers Postgres? Je suppose peut-être ogr2ogr mais je ne trouve pas la documentation.

James Norris
la source

Réponses:

10

Ce tutoriel montre comment importer des géopackges dans des postgres avec ogr2ogr comme:

ogr2ogr -f PostgreSQL "PG:dbname=gadm" DNK_adm.gpkg

Notez que l'importation dans PostgreSQL comme ceci convertira la casse des noms de champ dans vos données GeoPackage en minuscules dans la table PostgreSQL. Pour conserver la casse, vous devez utiliser l' lcooption comme:

ogr2ogr -f PostgreSQL "PG:dbname=gadm" DNK_adm.gpkg -lco LAUNDER=NO
Mazu_R
la source
C'est bien. J'ai ogr2ogr travaillant avec le .gpkg. J'ai maintenant besoin de faire du post-traitement sur chacune des tables créées à partir du gpkg dans postgres dans mon script de ligne de commande et j'ai besoin d'extraire chaque nom de table du gpkg. Je peux voir ogrinfo lister les tableaux mais des idées sur la façon de les intégrer dans une variable?
James Norris du
5

Il y a du travail en cours dans QGIS master (par exemple ici et ici pour «réparer» l'outil dans QGIS (Importer un vecteur dans la base de données Postgis - ...) qui génère des paramètres de ligne de commande pour OGR2OGR que vous pouvez utiliser, en particulier pour Postgis, qui semble ont rompu avec QGIS 3. J'ai également une autre demande de tirage prévue pour plus de correctifs et d'options supplémentaires. Si vous pouvez attendre une semaine environ, et utiliser master, ou 3 mois environ et utiliser 3.4, cela vous évitera d'avoir à saisir la commande paramètres de ligne manuellement, et devrait fonctionner pour de nombreux formats de fichiers différents, y compris le géopackage.

Stev_k
la source
2

En utilisant le tutoriel sur ce lien, il vaut mieux ajouter à la ligne de commande GDAL (ogr2ogr) les options suivantes.

ogr2ogr -f PostgreSQL "PG:user=youruser password=yourpassword dbname=yourdbname" yourgeopackage.gpkg

Ça marche pour moi.

Yinneth Castiblanco
la source