Mengunggah konten Geopackage ke PostgreSQL

15

Sebagai sedikit latar belakang, kami ingin beralih dari penggunaan shapefile. Kami sudah mulai menggunakan Geopackages untuk pekerjaan desktop (QGIS / ArcGIS) tetapi sering kali memiliki persyaratan untuk mengunggah data ke database PostgreSQL kami.

Saya sadar bahwa Anda dapat mengunggah konten Geopackage ke Postgres menggunakan QGIS tetapi bertanya-tanya apakah ada utilitas commandline yang mirip dengan shp2pgsql untuk mengunggah geopackage atau tabel dalam geopackage ke Postgres? Saya berasumsi mungkin ogr2ogr tetapi tidak dapat menemukan dokumentasi.

James Norris
sumber

Jawaban:

10

Tutorial ini menunjukkan cara mengimpor geopackges ke postgres dengan ogr2ogr seperti:

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

Catatan mengimpor ke PostgreSQL seperti ini akan mengubah kasus nama bidang dalam data GeoPackage Anda menjadi huruf kecil dalam tabel PostgreSQL. Untuk menjaga kasing Anda perlu menggunakan lcoopsi seperti:

ogr2ogr -f PostgreSQL "PG:dbname=gadm" DNK_adm.gpkg -lco LAUNDER=NO
Mazu_R
sumber
Ini bagus. Saya menggunakan ogr2ogr dengan .gpkg. Sekarang saya perlu melakukan post-processing pada setiap tabel yang dibuat dari gpkg di postgres dalam skrip commandline saya dan perlu mengekstrak setiap nama tabel dari gpkg. Saya dapat melihat daftar ogrinfo tabel tetapi ada ide tentang bagaimana saya bisa mendapatkan ini menjadi variabel?
James Norris
5

Ada pekerjaan yang sedang berlangsung di master QGIS (misalnya di sini dan di sini untuk 'memperbaiki' alat di QGIS (Impor vektor ke dalam database Postgis - ...) yang menghasilkan parameter baris perintah untuk OGR2OGR untuk Anda gunakan, khususnya untuk Postgis, yang tampaknya untuk telah rusak dengan QGIS 3. Saya juga memiliki permintaan penarikan lain yang direncanakan untuk perbaikan lebih lanjut dan opsi tambahan. Jika Anda bisa menunggu seminggu atau lebih, dan menggunakan master, atau 3 bulan atau lebih dan menggunakan 3,4 maka itu akan menghindari Anda harus memasukkan perintah parameter baris secara manual, dan harus berfungsi untuk berbagai format file, termasuk geopackage.

Stev_k
sumber
2

Menggunakan tutorial pada tautan ini, lebih baik tambahkan ke baris perintah GDAL (ogr2ogr) opsi berikutnya.

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

Ini bekerja untuk saya.

Yinneth Castiblanco
sumber