Chuyển đổi tập hợp điểm thành ranh giới đa giác?


27

Tôi đang cố gắng chuyển đổi các tập hợp điểm thành ranh giới đa giác tương ứng của chúng. Tôi nghĩ rằng đây là một cái gì đó giống như biểu đồ Voronoi hoặc Convex Hull, nhưng không hoàn toàn. Tôi chắc chắn có một thuật ngữ kỹ thuật cho nó, nhưng tôi là người mới bắt đầu sử dụng GIS.

Có lẽ nó được minh họa tốt nhất với hình ảnh sau đây:

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

Vì vậy, với 4 bộ điểm (mỗi bộ có màu riêng), bốn đa giác xung quanh mỗi bộ điểm tương ứng sao cho khoảng cách giữa các đa giác tối đa hóa các lề và tất cả các đa giác gặp nhau?

Đây là một ví dụ đơn giản với 3 điểm:

  • A, 43,656943, -79,393928, màu xanh
  • B, 43.66663, -79.402682, màu xanh lá cây
  • C, 43,656447, -79,408004, màu xanh lá cây

Bạn sẽ phải xem đồ họa sau cho nó có ý nghĩa: nhập mô tả hình ảnh ở đây

Về cơ bản, mỗi điểm có một màu và bạn mở rộng bộ đệm của một khoảng cách nhất định ra khỏi điểm đó để bắt đầu.

Phần khó là khi có sự va chạm với các điểm khác (ranh giới của chúng) và nơi tính toán ranh giới đó. Kết quả là một tập hợp các đa giác (một cho mỗi màu / bộ).


1
Bạn có thể gửi một số dữ liệu mẫu? Bằng cách đó, chúng tôi có thể kiểm tra các giải pháp :)
RK

Tôi đã thêm một ví dụ ở trên. Tôi hy vọng điều đó sẽ giúp.
DFx


1
Được rồi tôi nghĩ rằng những gì tôi phải làm, là lấy tất cả các điểm của tất cả các màu và thực hiện Voronoi trên chúng. Sau đó, hợp nhất các đa giác kết quả lại với nhau có cùng màu. Cuối cùng, tôi nên có bộ đa giác của mình (một cho mỗi màu). Tôi không chắc chắn làm thế nào để làm điều đó chính xác trong QGIS mặc dù ...
DFx

2
Chính xác thì bạn có ý gì khi "khoảng cách tối đa hóa lề"? Câu trả lời cho điều đó quyết định giải pháp.
whuber

Câu trả lời:


24

Từ lớp điểm của bạn

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

bạn có thể tạo plogyons Voronoi

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

Điều này sẽ dẫn đến điều này

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

Sau đó tạo mặt nạ từ quy trình tam giác Delauney

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

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

Và sau đó cắt lớp đa giác Voronoi với nó.

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

Điều đó sẽ đủ tốt?

Bạn cũng có thể thử kết hợp mặt nạ tam giác Delauney với bộ đệm của lớp điểm của bạn

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

và sử dụng nó để cắt đa giác Voronoi của bạn thay vào đó

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


5
Bạn cũng có thể chạy DISSOLVE (từ menu Vector-> Geoprocessing) trên đa giác Delauney hoặc Voronoi của bạn để cung cấp cho bạn các đa giác hợp nhất mà bạn đang cố gắng đại diện.
RyanDalton

+1 - đánh bại tôi với nó ... suy nghĩ tốt về bộ đệm được hợp nhất và với đề xuất giải thể của @ RyanDalton, điều này sẽ trả lời câu hỏi ban đầu!
Simbamangu

21

Đa giác Voronoi với một sự hòa tan sẽ cung cấp cho bạn phần đầu tiên. Bắt đầu với điểm của bạn, mỗi bộ nên có mã định danh duy nhất ('col' trong ví dụ này). Ba giá trị col với một tập hợp các điểm: nhập mô tả hình ảnh ở đây

Vector | Công cụ hình học | Đa giác Voronoi với bộ đệm 20% cung cấp cho bạn 'ranh giới giữa các điểm': nhập mô tả hình ảnh ở đây

Sử dụng 'col' làm biến hòa tan với các công cụ Vector | Công cụ xử lý địa lý | Dissolve cung cấp cho bạn các đa giác được hợp nhất xung quanh mỗi bộ điểm: nhập mô tả hình ảnh ở đây

Vector | Công cụ xử lý địa lý | Vỏ lồi có thể cung cấp cho bạn một ranh giới lồi xung quanh các điểm của bạn, mà bạn có thể sử dụng để cắt các ranh giới hòa tan: nhập mô tả hình ảnh ở đây nhập mô tả hình ảnh ở đây

Tuy nhiên, từ ví dụ đầu tiên của bạn, bạn dường như sẽ cần phải cắt bằng một thân tàu lõm (cộng với một số khoảng cách bộ đệm?); thân tàu lõm là một chức năng tôi không thể tìm thấy; PostGIS không có chức năng .


Tuyệt vời - cảm ơn đây là một câu trả lời tuyệt vời. Tôi chỉ đưa nó cho RK vì hướng dẫn chuyên sâu hơn, nhưng tôi thực sự đánh giá cao nó!
DFx

@DFx - không phải lo lắng, sẽ tò mò muốn xem cuối cùng bạn chọn phương pháp nào (có thể chỉnh sửa câu hỏi ban đầu của bạn với giải pháp đầy đủ đôi khi).
Simbamangu

@Simbamangu tôi có thể hiểu câu trả lời của bạn nhưng tôi có một nghi ngờ nhỏ trong việc này. Khi tôi cố gắng chuyển đổi các đa giác dựa trên màu sắc nó đang chuyển đổi nhưng chỉ là một đa giác màu duy nhất. Bạn có nhầm với điều này không?
Arun

Arun - có lẽ bạn đã chọn chỉ hòa tan trên hình học, không phải trên một lĩnh vực cụ thể. Hoặc đơn giản là bạn không tạo kiểu cho lớp kết quả. (Tôi biết câu hỏi đã hơn 2 tuổi, nhưng có lẽ những người khác cũng có nó)
til_b
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.