Có nhiều cách để khoảng cách trọng lượng để xây dựng đa giác Thiessen. Ý tưởng cơ bản trong việc xây dựng chúng dựa trên việc so sánh khoảng cách giữa một điểm x tùy ý và hai điểm cố định p và q ; bạn cần quyết định xem x có "gần" với p hơn so với q hay không. Để kết thúc này - ít nhất là về mặt khái niệm - chúng tôi xem xét khoảng cách dp = d ( x , p ) và dq = d ( x , q ). Trọng số thường xảy ra theo hai cách: các điểm có thể được cho trọng số dương wp và wq và khoảng cách có thể được chuyển đổi.
Để có ý nghĩa, sự biến đổi (mà tôi sẽ viết là f ) nên tăng khi khoảng cách tăng; nghĩa là, f (d ')> f (d) bất cứ khi nào d'> d> = 0. Ví dụ về các biến đổi như vậy là f (d) = d + 1, f (d) = d ^ 2 (Định luật hấp dẫn bán lẻ của Reilly ), f (d) = 1 - 1 / d (giả sử tất cả các khoảng cách đều nhỏ hơn 1), f (d) = log (d), f (d) = exp (d) -1.
Sau đó, chúng ta sẽ nói x "gần" với p hơn là q chính xác khi
f (d ( x , p )) / wp <f (d ( x , q )) / wq.
Lưu ý sự phân chia theo các trọng số, thay vì nhân: điều này có nghĩa là các trọng số lớn sẽ có xu hướng "kéo vào" các điểm ở khoảng cách lớn hơn. Bạn sẽ thấy điều này trong ví dụ chạy bên dưới.
Đây là điều tuyệt vời và toàn bộ quan điểm của giải trình hơi trừu tượng này: mặc dù các vùng Thiessen có thể có các ranh giới phức tạp, cực kỳ khó tính, nhưng chúng tương đối dễ tính toán bằng cách sử dụng biểu diễn dựa trên lưới. Đây là công thức:
Đối với mỗi điểm đầu vào p , hãy tính lưới khoảng cách Euclide của nó [d (p)].
Sử dụng Đại số bản đồ để áp dụng f và các trọng số, từ đó biểu thị lại từng lưới khoảng cách như
[fp] = f ([d (p)]) / wp.
Dưới đây là một ví dụ sử dụng f (d) = 100 + d ^ (3/2); quy mô là 400 x 600.
Khi f (d) tăng giá trị sẽ tối hơn. Rõ ràng khoảng cách trong ví dụ này liên quan đến điểm đỏ trung tâm; bốn điểm khác có được tính toán khoảng cách riêng của họ (không hiển thị). Các khu vực của các chấm tỷ lệ thuận với trọng lượng của chúng, đó là 2, 10, 3, 4 và 5.
Tính toán tối thiểu cục bộ của tất cả các lưới [fp]. Gọi đây là [f]. Đây là một ví dụ.
Bằng cách so sánh [f] với mỗi [fp], với mỗi ô lưới chỉ định mã định danh của p đầu tiên mà [f]> = [fp]. ( Chẳng hạn, điều này có thể được thực hiện trong một bước với thao tác vị trí thấp nhất .)
(Tôi nghi ngờ có tồn tại một thuật toán ở bất cứ đâu sẽ tính toán một giải pháp định dạng vector cho hàm trọng số này f.)
Rõ ràng nếu bạn có nhiều hơn một số điểm p, bạn sẽ viết kịch bản này và nếu số lượng của chúng có hàng nghìn, bạn có thể sẽ từ bỏ nỗ lực là không thể tính toán được (mặc dù có nhiều cách để đẩy nhanh phép tính bằng cách xếp nó).
Một ví dụ khác, hiển thị đa giác Thiessen trên ellipsoid, xuất hiện tại /gis//a/17377/ .