Đó là một quá trình gồm nhiều bước, vì vậy bạn nên tạo một mô hình hoặc tập lệnh tùy chỉnh. Để tránh các đa giác thuộc về các điểm đa giác lân cận, bạn sẽ cần phải lặp qua lớp trạng thái của mình. Làm việc với các đa giác trạng thái và một tập hợp các điểm ngẫu nhiên, tôi sẽ thực hiện quy trình này để bạn có thể hiểu những gì đang diễn ra bên trong mô hình của chúng tôi.
Bên trong mô hình
- Trích xuất theo vị trí
- Trích xuất các tính năng từ:
points_layer
- Trường hợp các tính năng:
intersect
- Bằng cách so sánh với các tính năng từ:
polygons_layer
- Đa giác Voronoi
- Lớp đầu vào:
'Extracted (location)' from algorithm 'Extract by location'
- Vùng đệm:
500
(Có vẻ như quá mức, nhưng chúng tôi muốn đảm bảo rằng đa giác Voronoi của bạn hoàn toàn bao phủ trạng thái mà chúng đang ở. Vì chúng tôi sẽ cắt lớp này trong bước tiếp theo, chúng tôi không liên quan đến việc chúng tôi tạo ra nó như thế nào.)
- Thuật toán cha mẹ:
Extract by location
- Kẹp
- Lớp đầu vào:
'Voronoi polygons' from algorithm 'Voronoi polygons'
- Lớp phủ:
polygons_layer
- Được cắt bớt:
output
- Các thuật toán cha mẹ:
Extract by location
vàVoronoi polygons
Như bạn có thể thấy, chúng ta có các đa giác Voronoi bị ràng buộc trạng thái trong đó các điểm từ các quốc gia lân cận không ảnh hưởng đến sự sắp xếp của chúng.
Đây là hình ảnh của mô hình:
Hình ảnh không truyền tải điều này, nhưng lưu ý rằng đầu vào lớp đa giác của mô hình là một Vector Features
đối tượng, không phải là a Vector Layer
.
Chạy mô hình
Khi bạn chạy mô hình của mình, điều quan trọng là bạn nhấp vào biểu tượng để lặp qua các tính năng của lớp States.
Khi bạn đã chạy mô hình, bạn chỉ cần chạy các lớp vectơ hợp nhất trên các đầu ra để có được đầu ra một lớp, nếu điều đó quan trọng với bạn. Thật không may, tôi không biết một cách dễ dàng để hợp nhất nhiều đầu ra mô hình trong chính mô hình đó (xin vui lòng, ai đó sẽ sửa cho tôi nếu có gì đó).
Nếu bạn cảm thấy thoải mái với Python, bạn có thể dễ dàng sửa đổi tập lệnh đã xuất của mô hình này để xử lý bước bổ sung đó. Tuy nhiên, vì bạn không đề cập đến các giải pháp dựa trên mã trong câu hỏi của mình, tôi sẽ loại bỏ nó.