Saya menggunakan QGIS 2.0.1 dan terhubung ke database MS SQL Server yang diaktifkan secara spasial (bukan ESRI). Saya dapat terhubung ke layer dan memuatnya ke dalam TOC saya dengan baik. Saya telah menyembunyikan sejumlah bidang yang tidak penting demi visibilitas.
Sekarang saya ingin mengekspor data itu ke tipe data lain (kami akan menggunakan shapefile untuk contoh ini). Ketika saya klik kanan layer, pilih "Save As" dan tentukan file output, saya mendapatkan kesalahan berikut:
Gagal mengekspor ke file vektor. Kesalahan: jenis tidak didukung untuk bidang GlobalID
Catatan 1 : Jika saya mencentang "Lewati pembuatan atribut" di kotak dialog, shapefile dibuat tanpa kesalahan.
Catatan 2 : ArcGIS tidak memiliki masalah ini, hanya mengubah bidang GUID ke tipe "TEXT".
Melihat tabel, salah satu bidang yang saya sembunyikan adalah GUID tipe SQL < uniqueidentifier >, yang kemungkinan besar adalah pelakunya. Dalam upaya untuk menyelesaikan ini, saya membuat bidang "tersembunyi". Saya akan berasumsi bahwa karena bidangnya disembunyikan, QGIS tidak akan mencoba untuk mengekspor bidang ini, tetapi ternyata tidak demikian.
Bisakah Anda menentukan bidang yang ingin Anda ekspor dari QGIS?
Apakah mungkin bagi QGIS untuk mengekspor hanya bidang "Terlihat"? Atau adakah cara alternatif lain untuk melakukan ini dari QGIS (mungkin mendefinisikan bidang melalui kueri ogr2ogr)? Ini tampak seperti kekurangan QGIS jika saya tidak dapat menentukan bidang mana yang akan diekspor.
UPDATE: Saya melakukan tes menggunakan sampel shapefile untuk melihat apakah saya dapat membatasi bidang output. Baris perintah ogr2ogr berikut bekerja dan menghapus semua bidang kecuali untuk "nama":
ogr2ogr -f "ESRI Shapefile" test.shp city.shp -sql "select name from city"
tetapi menggunakan QGIS dan menambahkan:
-sql "select name from city"
ke bagian "lapisan" pada dialog "Simpan Sebagai" tidak menghasilkan shapefile hanya dengan satu bidang. Jadi saya tidak benar-benar melihat bagaimana saya bisa memanipulasi output file untuk menunjukkan hanya beberapa bidang terpilih. Bantuan apa pun dihargai.
-sql "select <fields> from <table>"
(tidak termasuk bidang GlobalID dari <fields>) ke bagian "Lapisan" dari dialog "Simpan Sebagai", tetapi kesalahan yang sama masih muncul. Apakah saya menyalahgunakan blok kode ini, atau ini bug?