Chỉ chọn một đường viền để dán nhãn trong QGIS?


12

Có thể chỉ chọn một dòng đường viền để ghi nhãn?

Tôi có nhiều nhãn cho mỗi dòng và tôi chỉ thích dán nhãn cho các nhãn chính, như 1000 m1500 m


Không chắc đây có phải là bản sao không, nhưng bạn có thể xem gis.stackexchange.com/q/89501/1297gis.stackexchange.com/q/59778/1297 để xem những thứ đó có giúp bạn gần hơn với những gì bạn không tìm kiếm? Và sau đó tôi nghĩ nó sẽ giúp ích cho câu hỏi của bạn nếu bạn cung cấp một số chi tiết về những gì bạn đã cố gắng và có thể nó đã sai.
SaultDon

Câu trả lời:


13

Trong QGIS 2.6 (có thể là các phiên bản trước đó, tôi không biết) bạn có thể làm điều này trong phần Thuộc tính lớp, Labelstab, Renderingphần. Khoảng một nửa danh sách các tùy chọn kết xuất là một nút cho phép bạn viết một biểu thức sẽ xác định danh sách các tính năng sẽ thực sự được gắn nhãn. Biểu hiện của bạn sẽ là một cái gì đó như "Elevation" IN (1000, 1500). Đây là nút (màu vàng), tôi có bộ này chỉ đặt các đường viền nhãn với giá trị độ cao là 32:

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


11

Một cách tiếp cận sẽ là tải lớp đường viền và tạo kiểu cho nó. Sau đó tải lại cùng một lớp và áp dụng bộ lọc (nhấp chuột phải vào lớp đó và đi xuống 'Bộ lọc ..') Sử dụng biểu thức lọc tương tự như bộ lọc được hiển thị trong hình. Trong trường hợp của tôi, tôi muốn các đường viền chính ở các khoảng cách dọc 50 mét và trường chứa các giá trị độ cao được gọi là "prop_value".

Khi lớp được lọc hiển thị các đường viền chính đã được tải, áp dụng các đường viền và (nếu cần) củng cố kiểu đường kẻ như được hiển thị.

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

Biểu thức lọc:

("prop_value" % 50) = 0

cũng sẽ chọn các đường viền theo các khoảng cách dọc là 50 mét. Hoạt động với cơ sở dữ liệu Spatialite, không chắc chắn về shapefiles.


6

Tôi đang sử dụng phương pháp này giúp việc ghi nhãn và hiển thị đường viền theo điều kiện khá dễ dàng.

Tôi sử dụng "Thuộc tính được xác định dữ liệu" của chiều rộng và màu sắc của biểu tượng đường với biểu thức (xem ảnh chụp màn hình 1) để bạn có thể áp dụng các độ rộng đường khác nhau dựa trên các điều kiện tùy chỉnh và biểu thức tương tự để ghi nhãn (xem ảnh chụp màn hình 2).

Chỉ cần đặt các giá trị cần thiết cho các biểu thức và đó là tất cả.

Tức là nếu bạn muốn ẩn các đường viền ngoài 500 m, bạn có thể sử dụng biểu thức này cho các thuộc tính được xác định dữ liệu của biểu tượng đường:

CASE WHEN Elevation / 500 - floor(Elevation / 500) =  0 then 
   color_rgba(255,255,255,100) 
else 
    color_rgba(255,255,255,0) 
end

tức là để ghi nhãn chỉ cách nhau 500m, hãy sử dụng biểu thức này cho:

CASE WHEN Elevation /500 - floor(Elevation / 500) = 0 THEN Elevation || ' m' END

tức là để áp dụng độ rộng dòng khác nhau, hãy sử dụng một biểu thức như thế này cho các thuộc tính được xác định dữ liệu:

CASE WHEN Elevation / 100 - floor(Elevation / 100) = 0 THEN 
    0.25 
WHEN Elevation / 50 - floor(Elevation / 50) = 0 THEN 
    0.15 
ELSE 
    0.1 
END

ảnh chụp màn hình 1 ảnh chụp màn hình 2


@catindri, Hãy kiểm tra câu trả lời ..
Kay

3

Một biểu thức tiện lợi khác là "ELEV" LIKE '%00'(bước 100m) hoặc "ELEV" LIKE '%00' OR "ELEV" LIKE '%50'(bước 50m) hoặc "ELEV" LIKE '%0'(bước 10m), v.v., trong đó "ELEV" là trường độ cao dữ liệu của tôi. Tùy chọn thứ hai chỉ hoạt động nếu 50 là bội số của khoảng (10m hoặc 5m ...).

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.