QGIS: các kiểu con và tên miền như trong ArcGIS?


8

Có cơ hội sử dụng các kiểu con và tên miền trong QGIS (Desktop 1.8.0) giống như cách nó được sử dụng trong ArcGIS không?

Tôi đặc biệt quan tâm đến khả năng phụ thuộc giữa các kiểu con và miền: không chỉ một phạm vi hoặc giá trị được mã hóa cho một trường là bắt buộc, mà còn là các giá trị tương ứng.

Ví dụ: một kiểu con xác định các loại hợp lệ sử dụng đất như

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

Liên kết với kiểu con có một số miền mô tả điều kiện / giá trị của từng loại như

wood1 - deforestation 
wood2 - conifer forest

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

Câu trả lời:


2

Nếu bạn sử dụng phụ trợ cơ sở dữ liệu hỗ trợ các tên miền, chẳng hạn như Postgresql, bạn có thể đặt tên miền trên một trường. Tuy nhiên, QGIS chưa nhận ra tên miền vì vậy khi bạn tạo hoặc chỉnh sửa các tính năng, bạn có thể cố gắng đưa bất kỳ thứ gì vào trường đó, không có hộp thư như trong các sản phẩm của ESRI. Nếu các giá trị vi phạm ràng buộc của tên miền, bạn sẽ gặp lỗi khi bạn cố lưu các chỉnh sửa của mình và giao dịch sẽ không được cam kết.

Chỉnh sửa: Tôi đã thử nghiệm điều này với QGIS 1.8 và PostgreSQL 9.1.6

Chỉnh sửa: Eva, vâng. Chúng không tự động, nhưng nếu bạn sử dụng bảng tra cứu để lưu trữ các giá trị và mô tả của mình, bạn có thể sử dụng khóa ngoại trong cơ sở dữ liệu để duy trì tính toàn vẹn trên phần phụ trợ. Sau đó, trong tài liệu QGIS của bạn mang bảng đó vào mục lục của bạn. Đối với lớp của bạn, hãy chuyển đến tab trường trên trang thuộc tính. Sử dụng tiện ích Quan hệ giá trị, chọn bảng tra cứu làm lớp và các trường mã và mô tả và bây giờ mô tả sẽ xuất hiện trong trình đơn thả xuống khi bạn tạo hoặc chỉnh sửa một tính năng và khóa sẽ được lưu trữ trong cơ sở dữ liệu. Đây là sử dụng QGIS 2.18.


1
Cảm ơn bạn. Tôi đã sử dụng chức năng miền này trong qgis và nó hoạt động tốt. Nhưng nó cũng có thể gửi một mối quan hệ giữa hai thuộc tính? ví dụ: khi tôi chọn "gỗ" cho trường thứ nhất (phân nhóm trong ArcGIS), trường thứ hai chỉ chấp nhận "phá rừng" hoặc "rừng lá kim" (tên miền cho phân loại "gỗ"). Khi thuộc tính đầu tiên là "đồng cỏ", chỉ có "đồng cỏ", "cỏ khô" oder "cỏ" để chọn.
Mira

Tôi đã xem xét điều này, nhưng tất cả các ví dụ tôi tìm thấy yêu cầu bạn tạo một bảng mới. Tôi có một bảng hiện có dữ liệu mà tôi muốn có tên miền cho. IE: Trong bảng1 có 3 loại dữ liệu được lưu trữ dưới dạng Số nguyên (1: Cây, 2: Đá, 3: Ao). Với thiết lập này, người dùng sẽ thấy Integer, nhưng tôi muốn có một Miền để người dùng thấy phiên bản Văn bản. Làm thế nào bạn sẽ thiết lập điều này với Postgres và QGIS?
Ryan Garnett

1
Tạo bảng tra cứu chuyển giá trị số nguyên thành văn bản, nối hai cái trong một khung nhìn và hiển thị khung nhìn trong QGIS. Khi bạn tạo chế độ xem, bạn sẽ phải bao gồm một trường có giá trị số nguyên duy nhất cho mỗi hàng nếu không QGIS sẽ không hiển thị nó.
HeyOverThere

1
Có bất kỳ phát hiện mới nào trong vòng 5 năm qua không?
Eva Großmann

Hãy thử sử dụng một tiện ích chỉnh sửa trường. Tôi tin rằng các tiện ích Tham khảo Quan hệ và Quan hệ Giá trị sẽ hữu ích nhất cho tình huống của bạn. gis.stackexchange.com/questions/156039/ Khăn Lưu ý rằng các cài đặt này được lưu trữ theo kiểu lớp.
csk
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.