Hochladen von Geopackage-Inhalten nach PostgreSQL

13

Als Hintergrund wollen wir uns von der Verwendung von Shapefiles abwenden. Wir haben bereits begonnen, Geopakete für die Desktop-Arbeit (QGIS / ArcGIS) zu verwenden, müssen jedoch häufig Daten in unsere PostgreSQL-Datenbanken hochladen.

Ich bin mir bewusst, dass Sie Geopackage-Inhalte mit QGIS auf Postgres hochladen können. Sie fragen sich jedoch, ob es ähnliche Befehlszeilenprogramme wie shp2pgsql zum Hochladen von Geopaketen oder Tabellen in Geopaketen auf Postgres gibt. Ich gehe möglicherweise von ogr2ogr aus, kann aber die Dokumentation nicht finden.

James Norris
quelle

Antworten:

8

Dieses Tutorial zeigt, wie Geopakete mit ogr2ogr wie folgt in Postgres importiert werden:

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

Wenn Sie wie folgt in PostgreSQL importieren, wird die Groß- und Kleinschreibung der Feldnamen in Ihren GeoPackage-Daten in Kleinbuchstaben in der PostgreSQL-Tabelle konvertiert. Um den Fall aufrechtzuerhalten, müssten Sie die folgende lcoOption verwenden:

ogr2ogr -f PostgreSQL "PG:dbname=gadm" DNK_adm.gpkg -lco LAUNDER=NO
Mazu_R
quelle
Das ist toll. Ich habe ogr2ogr mit der .gpkg arbeiten. Ich muss jetzt für jede der Tabellen, die aus dem gpkg in postgres in meinem Befehlszeilenskript erstellt wurden, eine Nachbearbeitung durchführen und jeden Tabellennamen aus dem gpkg extrahieren. Ich kann sehen, dass ogrinfo die Tabellen auflistet, aber irgendwelche Ideen, wie ich diese in eine Variable bringen kann?
James Norris
4

Im QGIS-Master wird derzeit gearbeitet (z. B. hier und hier , um das Tool in QGIS zu "reparieren" (Vektor in Postgis-Datenbank importieren - ...), das Befehlszeilenparameter für OGR2OGR generiert, die Sie verwenden können, insbesondere für Postgis habe mit QGIS 3 gebrochen. Ich habe auch eine weitere Pull-Anfrage für weitere Korrekturen und zusätzliche Optionen geplant. Wenn Sie eine Woche oder so warten und Master oder 3 Monate oder so verwenden und 3.4 verwenden können, müssen Sie keinen Befehl eingeben Zeilenparameter manuell und sollten für viele verschiedene Dateiformate, einschließlich Geopaket, funktionieren.

Stev_k
quelle
1

Wenn Sie das Tutorial auf diesem Link verwenden, sollten Sie der nächsten GDAL-Befehlszeile (ogr2ogr) die nächsten Optionen hinzufügen.

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

Für mich geht das.

Yinneth Castiblanco
quelle