Tambahkan layer ke geopackage yang ada tidak berfungsi di QGIS?

9

Organisasi saya terutama menggunakan ArcGIS dan kami memiliki kebutuhan untuk berbagi data dengan kontraktor. Saya baru-baru ini memperkenalkan QGIS (karena salah satu aplikasi kami menggunakan WKT untuk mengimpor data geospasial dan QGIS membuat konversi berbagai format menjadi WKT sangat mudah) jadi saya mulai melihat format geopackage dan QGIS sebagai solusi berbagi data - kami ingin berhenti menggunakan shapefile karena keterbatasan panjang kolom.

Menggunakan QGIS saya dapat membuat geopackage dengan satu layer menggunakan 'save as', membaca dan mengedit layer menggunakan QGIS, bacalah dengan ArcGIS, namun, jika saya mencoba menambahkan layer ke geopackage menggunakan DB Manager (sesuai Cara menambahkan yang lain layer ke GeoPackage di QGIS? ) Saya mendapatkan 'koneksi error 11 ke database gagal'. Saya pasti memiliki koneksi ke geopackage di DB Manager karena saya dapat melihat pratinjau lapisan yang ada dan menjalankan kueri (mis. Pilih * dari [lapisan]).

Tampaknya ini adalah bug ( https://hub.qgis.org/issues/14981 ) yang tidak dijadwalkan untuk diperbaiki, jadi saya ingin tahu apakah ada alat atau plug-in lain yang tersedia sehingga kita dapat menambahkan lapisan ke geopackage menggunakan QGIS?

Saya menggunakan Windows 10, QGIS 2.14.9 dan ArcGIS 10.4.

Catatan: Meskipun saya bisa menambahkan layer ke geopackage menggunakan OGR2OGR, saya tidak bisa mendapatkan 'buy-in' dari kontraktor kami, yang merupakan spesialis lapangan bukan profesional TI, untuk menggunakan alat baris perintah alih-alih GIS.

Catatan 2: Saya telah mendiskon menggunakan spasial untuk saat ini karena QGIS tidak menangani data spasial yang dibuat dengan ArcGIS. (DB Manager menghasilkan kesalahan: dbname = 'H: /Temp/SQLiteTesting/BaseData/ArcSpatialite/Aspatialite.sqlite' table = "arccatTrees" sql = adalah lapisan yang tidak valid - tidak dimuat)

Colin
sumber
Akan menyenangkan untuk melihat db spatialite yang tidak kompatibel dan selidiki sedikit.
user30184

Jawaban:

13

Saran saya adalah meningkatkan ke> = 2.18.1. Versi 2.18.1 memperkenalkan fitur di mana mengklik kanan layer dan memilih save as, lalu memilih file gpkg yang ada, sekarang memberi Anda pilihan untuk menimpa keseluruhan file atau menambahkan layer sebagai layer baru dalam geopackage. [1] (mis. Jangan gunakan plugin DB Manager, cukup gunakan fungsi lapisan 'simpan sebagai' bawaan)

[1] Lihat https://github.com/qgis/QGIS/commit/85fbc4a7d902c12794fbbfeec5ce43d8a2c0887e

ndawson
sumber
1
Terima kasih ndawson. Saya melakukan beberapa pengujian cusory dengan 2.18.2 dan fungsi save as berfungsi dengan baik untuk saya. Saya perhatikan bahwa DB Manager telah berubah dan telah memisahkan spasial dan geopackage di UI. Saya kembali mencoba impor menggunakan dan DB Manager tetapi masih gagal. 'Simpan sebagai' adalah cara untuk pergi! :-)
Colin
tapi bagaimana dengan membuat layer baru? ketika saya ingin menggambar poin misalnya dan ingin menambahkannya ke geopackage yang ada saya tidak bisa karena tidak peduli bagaimana saya memanggil layer, fungsi ini mencoba untuk menimpa seluruh database
hilpers
1
Juga, opsi untuk secara langsung menyimpan output geoalgorithms ke geopackage akan menjadi sangat bagus
Hilper
Saya dapat menambahkan misalnya fitur poligon baru ke GPG yang ada dengan data poligon. Tetapi apakah mungkin untuk menambahkan berbagai lapisan (titik, poligon dll) bersama-sama dalam satu GeoPackage? Saya tidak dapat mencapai ini. (miliki QGIS 2.18.13)
Juhele
maaf salah saya. Saya lupa memasukkan nama unik untuk setiap layer di GPG sehingga QGIS menggunakan nama file GPG untuk nama layer dan dengan demikian setiap layer baru mencoba menambahkan ke yang sudah ada alih-alih menambahkan.
Juhele