Tạo lớp đa giác như hòa tan với trình tạo hình học QGIS?


8

Trình tạo hình học QGIS có vẻ như là một cách hay để giữ dữ liệu nguyên vẹn trong khi cho phép một số hình ảnh sáng tạo.

Tôi có một lớp đa giác tàu mà tôi muốn tạo kiểu như một bề mặt liên tục không có viền bên trong.

Để hòa tan một số đa giác trong Spatialite, tôi sẽ sử dụng hàm UNION, nhưng Union trong Trình tạo hình học không cho kết quả, nghĩa là:

 union( $geometry, $geometry )

Vì vậy, có thể sử dụng Trình tạo hình học để hiển thị một lớp đa giác dưới dạng hòa tan, và nếu vậy, làm thế nào?

Câu trả lời:


7

Bây giờ bạn có thể thực hiện việc này với trình tạo hình học trong QGIS 2.99 / 3.0 bằng cách sử dụng buffer(collect($geometry),0)trình tạo biểu thức.

Hàm collect()tổng hợp mới thu thập tất cả các hình học đặc trưng thành một đa giác; buffer()chuyển đổi nó thành một đa giác duy nhất được tạo kiểu như vậy.


Có cách nào để thực hiện kết quả này mà không thu thập mà là hợp nhất không? Nếu bạn kiểm tra điều này trên một đa giác với 2 tính năng và điền đơn giản bán trong suốt, bạn sẽ nhận thấy biểu thức được thực hiện hai lần và điền sẽ mờ gấp đôi khi bạn chỉ định.
James B

Nhận ra điều này là có thể với kiểu đa giác đảo ngược do đó không yêu cầu mã =)
James B

5

Tôi đã thử sử dụng Trình tạo hình học nhưng không thành công và quyết định chọn Lớp ảo và truy vấn SQL

SELECT st_union(geometry) from layer_name

Bạn cần thay thế "layer_name" bằng tên lớp của bạn.

Lớp ảo kết quả dựa trên lớp nguồn và sẽ không tạo ra bất kỳ dữ liệu mới nào.

Đây không phải là kiểu trình tạo hình học, nhưng nó sẽ khắc phục vấn đề của bạn.

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.