Caricamento dei contenuti di Geopackage su PostgreSQL


15

Come un po 'di sfondo, stiamo cercando di passare dall'uso di shapefile. Abbiamo già iniziato a utilizzare i Geopackage per il lavoro desktop (QGIS / ArcGIS) ma spesso abbiamo l'obbligo di caricare i dati nei nostri database PostgreSQL.

Sono consapevole del fatto che sei in grado di caricare contenuti di Geopackage su Postgres usando QGIS ma ti stai chiedendo se ci sono utility da riga di comando simili a shp2pgsql per caricare geopackage o tabelle in geopackages su Postgres? Suppongo che possibilmente ogr2ogr ma non riesco a trovare la documentazione.

Risposte:


10

Questo tutorial mostra come importare geopackges in postgres con ogr2ogr come:

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

Nota che l'importazione in PostgreSQL in questo modo convertirà il caso dei nomi dei campi nei dati GeoPackage in lettere minuscole nella tabella PostgreSQL. Per mantenere il caso è necessario utilizzare l' lcoopzione come:

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

Questo è fantastico Ho ogr2ogr che lavora con .gpkg. Ora devo eseguire la post-elaborazione su ciascuna delle tabelle create da gpkg in postgres nel mio script della riga di comando e devo estrarre ogni nome di tabella da gpkg. Posso vedere ogrinfo elencare le tabelle ma hai idee su come posso inserirle in una variabile?
James Norris,

5

È in corso un lavoro nel master QGIS (ad es. Qui e qui per "riparare" lo strumento in QGIS (Importa vettore nel database Postgis - ...) che genera parametri della riga di comando che OGR2OGR può utilizzare, in particolare per Postgis, che sembra ho rotto con QGIS 3. Ho anche pianificato un'altra richiesta pull per ulteriori correzioni e opzioni aggiuntive. Se puoi aspettare una settimana circa, usare master o 3 mesi circa e utilizzare 3.4, eviterai di dover inserire il comando i parametri di linea manualmente e dovrebbero funzionare per molti formati di file diversi, incluso geopackage.


2

Usando il tutorial su questo link è meglio aggiungere alla riga di comando GDAL (ogr2ogr) le opzioni successive.

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

Per me funziona.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.