QGIS: subtipe dan domain seperti di ArcGIS?

8

Apakah ada peluang untuk menggunakan subtipe dan domain di QGIS (Desktop 1.8.0) seperti cara penggunaannya di ArcGIS?

Saya secara khusus tertarik pada kemungkinan ketergantungan antara subtipe dan domain: tidak hanya rentang atau nilai kode untuk satu bidang diperlukan, tetapi nilai yang sesuai.

Misalnya: subtipe mendefinisikan kelas seperti kategori penggunaan lahan seperti

01 - wood
02 - grassland
03 - urbanization
04 - ...

Terkait dengan subtipe ada beberapa domain yang menggambarkan kondisi / nilai masing-masing kategori seperti

wood1 - deforestation 
wood2 - conifer forest

grass1 - pasture
grass2 - hayfield
grass3 - grass
grass4 - ...
Mira
sumber

Jawaban:

2

Jika Anda menggunakan backend database yang mendukung domain, seperti Postgresql, Anda bisa mengatur domain pada suatu bidang. Namun, QGIS belum mengenali domain sehingga saat Anda membuat atau mengedit fitur, Anda dapat mencoba memasukkan apa pun ke bidang itu, tidak ada dropbox seperti pada produk ESRI. Jika nilai melanggar batasan domain Anda akan mendapatkan kesalahan ketika Anda mencoba untuk menyimpan suntingan Anda dan transaksi tidak akan melakukan.

Sunting: Saya menguji ini dengan QGIS 1.8 dan PostgreSQL 9.1.6

Edit: Eva, ya. Itu tidak otomatis, tetapi jika Anda menggunakan tabel pencarian untuk menyimpan nilai dan deskripsi Anda, Anda bisa menggunakan kunci asing di database untuk menjaga integritas di backend. Kemudian dalam dokumen QGIS Anda bawa meja itu ke daftar isi Anda. Untuk lapisan Anda pergi ke tab bidang di halaman properti. Gunakan widget Value Relation, pilih tabel pencarian sebagai layer, dan bidang kode dan deskripsi dan sekarang deskripsi akan muncul dalam drop-down saat Anda membuat atau mengedit fitur dan kunci akan disimpan dalam database. Ini menggunakan QGIS 2.18.

HeyOverThere
sumber
1
Terima kasih. Saya menggunakan fungsi domain ini di qgis dan berfungsi dengan baik. Tetapi apakah mungkin juga untuk menyimpan hubungan antara dua atribut? misalnya ketika saya memilih "kayu" untuk bidang pertama (subtipe dalam ArcGIS) bidang kedua hanya menerima "deforestasi" atau "hutan konifer" (domain untuk subtipe "kayu"). Ketika atribut pertama adalah "padang rumput" hanya ada "padang rumput", "hayfield" oder "rumput" untuk memilih.
Mira
Saya telah melihat ini, tetapi semua contoh yang saya temukan mengharuskan Anda untuk membuat tabel baru. Saya memiliki tabel yang sudah ada dengan data, yang ingin saya miliki domainnya. IE: Dalam table1 ada 3 jenis data yang disimpan sebagai Integer (1: Tree, 2: Rock, 3: Pond). Dengan pengaturan ini pengguna melihat Integer, tetapi saya ingin memiliki Domain sehingga pengguna melihat versi Teks. Bagaimana Anda mengatur ini dengan Postgres dan QGIS?
Ryan Garnett
1
Buat tabel pencarian yang menerjemahkan nilai integer ke teks, gabungkan keduanya dalam tampilan dan tampilkan tampilan dalam QGIS. Saat Anda membuat tampilan, Anda harus memasukkan bidang yang memiliki nilai integer unik untuk setiap baris jika tidak, QGIS tidak akan menampilkannya.
HeyOverThere
1
Apakah ada temuan baru untuk ini dalam ~ 5 tahun terakhir?
Eva Großmann
Coba gunakan widget edit bidang. Saya percaya widget Nilai Relasi dan Referensi Relasi akan sangat membantu untuk situasi Anda. gis.stackexchange.com/questions/156039/... Perhatikan bahwa pengaturan ini disimpan dalam gaya layer.
csk