Tô màu thuộc tính / trường trên biểu mẫu dữ liệu QGIS dựa trên giá trị?


8

Sử dụng QGIS (2.14) có thể trên biểu mẫu dữ liệu để một thuộc tính có màu (hoặc định dạng khác) dựa trên giá trị của nó không?

Ví dụ: nếu dữ liệu của tôi có trường 'chất lượng' có giá trị 'tốt' hoặc 'trung bình' hoặc 'xấu'. Tôi muốn trường ở dạng thuộc tính hiển thị màu xanh lá cây / cam / đỏ tùy thuộc vào giá trị này.

Tôi rất vui với cách giải quyết - ví dụ: một biểu tượng hoặc biểu tượng xuất hiện bên cạnh trường, nền màu cho trường, v.v.

Tôi rất vui khi sử dụng QT Designer để tạo biểu mẫu dữ liệu. Tôi rất vui khi chỉnh sửa biểu mẫu xml bằng tay. Tôi sẽ đấu tranh nếu câu trả lời là tôi cần sử dụng nhiều hơn một hoặc hai dòng mã Python để có thể tôi đang tìm kiếm câu trả lời không yêu cầu điều này.

Tôi cũng cần định dạng để hiển thị xem lớp đó có ở chế độ chỉnh sửa hay không (vì dữ liệu chính tôi đang sử dụng sẽ không thể chỉnh sửa được).

EDIT: Lưu ý rằng tôi chỉ tìm kiếm các giải pháp hoạt động cho biểu mẫu dữ liệu QGIS, không phải trên bảng thuộc tính và không phải trên dữ liệu đã xuất. Mục đích là làm cho dữ liệu dễ hiểu nhất có thể, vì vậy người dùng làm việc với công cụ nhận dạng có thể nhanh chóng xem / hiểu thông tin chính về một tính năng được hiển thị trên bản đồ. Dữ liệu thực mà tôi đang làm việc rất phức tạp và người dùng tuyến đầu cần được hỗ trợ để hiểu nó.

hình ảnh của mẫu dữ liệu đơn giản


Tôi sẽ xuất nó dưới dạng một bảng excel và tô màu nó ở đó. Nhưng tôi không biết liệu đây có phải là cách giải quyết mà bạn có thể sống cùng không
JoeBe

Cảm ơn JoeBe - không đó không phải là điều tôi đang tìm kiếm. Và như được chỉ ra bởi @ahmadhanb, đã có những khả năng mà QGIS phải tạo kiểu cho bảng thuộc tính. Điều tôi cần là cải thiện khả năng sử dụng của biểu mẫu dữ liệu để có thể sử dụng QGIS như một cách hiệu quả để kiểm tra dữ liệu (một tính năng tại một thời điểm).
Rostranimin

Có lẽ bạn có thể yêu cầu người dùng mở bảng thuộc tính và sau đó chọn "hiển thị các đối tượng được chọn" (hoặc cách gọi nó). Khi bạn đặt kiểu dáng của bảng thuộc tính (như được giải thích bởi @ahmadhanb), người dùng có thể thấy một đối tượng tại một thời điểm
JoeBe

Câu trả lời:


3

Nếu tôi hiểu bạn rất rõ, bạn có thể thực hiện định dạng bảng thuộc tính bằng các bước sau:

  1. Mở bảng thuộc tính của bạn
  2. Sử dụng quy tắc định dạng có điều kiện

nhập mô tả hình ảnh ở đây

  1. Chọn trường mà bạn muốn áp dụng các quy tắc định dạng từ danh sách thả xuống. Trong ví dụ này, tôi muốn sử dụng tên trường"Test"

nhập mô tả hình ảnh ở đây

  1. Lựa chọn New Rule
  2. Chọn biểu thức mới, viết biểu thức bạn muốn "Field name" = 'Very High'Backgroundchọn màu bạn thích và nhấnDone

nhập mô tả hình ảnh ở đây

  1. Lặp lại bước 5 cho các điều kiện khác và cung cấp cho chúng các màu nền khác nhau như bạn có thể thấy bên dưới:

nhập mô tả hình ảnh ở đây

Đây là kết quả cuối cùng:

nhập mô tả hình ảnh ở đây

Tôi đang sử dụng QGIS 2.14,17 LTR


Cảm ơn. Tôi biết điều này và nó rất hữu ích, nhưng đó là MẪU dữ liệu không phải là bảng thuộc tính mà tôi cần để thêm một kiểu.
Rostranimin

1
@Rostranimin Không, không có cách nào để áp dụng kiểu dựa trên quy tắc cho MẪU dữ liệu. Tùy chọn này chỉ được áp dụng cho bảng thuộc tính. Vì JoeBe tùy chọn duy nhất bạn có là Excel.
ahmadhanb

bạn có chắc chắn rằng điều này không thể được thực hiện bằng cách sử dụng một biểu mẫu được tạo bằng QT / QT Designer? Tôi có thể thấy rằng nó không thể được thực hiện như một chức năng đơn giản / đơn giản của QGIS - sử dụng biểu mẫu dữ liệu được tạo tự động - nhưng tôi khá chắc chắn rằng điều này có thể được thực hiện với kịch bản nâng cao hơn nhiều, v.v ... Tôi đang hỏi liệu nó có thể được thực hiện theo cách đủ đơn giản để một người như tôi có thể có khả năng hay không, chỉ đơn giản là trong các cài đặt có sẵn bằng QT Designer.
Rostranimin

Tôi không chắc chắn nếu có thể làm những gì bạn muốn bằng cách sử dụng QT / QT Designer. Nhưng, từ kinh nghiệm của tôi và dựa trên chính sách của GIS.SE, nếu bạn muốn nó được thực hiện bằng cách sử dụng tập lệnh, trong trường hợp này bạn cần phải viết tập lệnh của riêng mình và yêu cầu trợ giúp nếu bạn bị mắc kẹt ở đâu đó trong mã của mình. Nếu không, câu hỏi của bạn sẽ được đóng lại ngoài chủ đề.
ahmadhanb

Cảm ơn. Tôi trân trọng điều đó. Tôi nghi ngờ rằng có thể có thể với các cài đặt tương đối đơn giản trong QT Designer - và tôi chỉ không biết những cài đặt này là gì. Thực sự câu hỏi là liệu đây có phải là trường hợp không - hoặc liệu nó có thực sự đòi hỏi kịch bản nâng cao hơn không. Câu trả lời thực sự có thể là 'không thể thực hiện được nếu không có kịch bản nâng cao hơn'. Tôi sẽ đủ hạnh phúc để biết điều này.
Rostranimin

3

Tôi không có chuyên môn để trả lời (hoặc danh tiếng để đăng liên kết dưới dạng nhận xét) nhưng tại liên kết này https://nathanw.net/2011/09/05/qgis-tips-custom-feature-forms-with-python -logic / , Nathan Woodrow giải thích cách thực hiện (phần màu nằm gần cuối trang). Vì vậy, nó chắc chắn có thể được thực hiện nhưng tôi sợ nó liên quan đến nhiều Python ....


Cảm ơn. Có, tôi đã nhận thấy bài viết đó. Đó là điều khiến tôi nghĩ rằng một giải pháp tiên tiến là có thể. Tôi nghĩ rằng có thể làm được điều gì đó ngắn gọn - bạn có thể sử dụng Trình thiết kế QT để thiết lập các biểu mẫu dữ liệu tương đối đơn giản khá đơn giản (không cần thực hiện bất kỳ mã hóa nào). Tôi có điều đó làm việc độc đáo. Điều tôi không biết là liệu những gì tôi đang hỏi có tiến bộ hơn nhiều hay không, liệu có một thiết lập đơn giản cho nó không ...
Rostranimin
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.