Thiessen çokgenlerini oluşturmak için mesafeleri ağırlıklandırmanın birçok yolu vardır . Bunları inşa etmedeki temel fikir, rastgele bir nokta x ile iki sabit nokta p ve q arasındaki mesafenin karşılaştırılmasına dayanır ; Eğer karar vermeniz gerekir x "daha yakın" olduğunu p daha q ya da değil. Bu amaçla - en azından kavramsal olarak - dp = d ( x , p ) ve dq = d ( x , q ) mesafelerini dikkate alıyoruz . Ağırlıklandırma genellikle iki şekilde gerçekleşir: noktalara wp ve wq pozitif sayısal ağırlıklar verilebilir ve mesafelerin kendileri dönüştürülebilir.
Mantıklı olmak için , mesafeler arttıkça ( f olarak yazacağım ) dönüşüm artmalıdır; yani, d '> d> = 0 olduğunda f (d')> f (d). Bu dönüşümlerin örnekleri f (d) = d + 1, f (d) = d ^ 2'dir (Reilly'nin Perakende Yerçekimi Kanunu) ), f (d) = 1 - 1 / d (tüm mesafelerin 1'den az olduğu varsayılarak), f (d) = log (d), f (d) = exp (d) -1.
Sonra söyleyebilirim x "daha yakın" dır p daha q tam olarak ne zaman
f (d ( x , p )) / wp <f (d ( x , q )) / wq.
Bölme işleminin çarpma işleminden ziyade ağırlıklara dikkat edin: bu, büyük ağırlıkların daha büyük mesafelerdeki noktaları "çekme" eğiliminde olduğu anlamına gelir. Bunu aşağıdaki çalışan örnekte göreceksiniz.
İşte güzel şey ve bu biraz soyut serginin bütün noktası: ortaya çıkan Thiessen bölgelerinin karmaşık, hesaplanması son derece zor olabilmesine rağmen, ızgara tabanlı bir gösterim kullanarak hesaplamak nispeten kolaydır. İşte tarif:
Her giriş noktası p için , Öklid uzaklık ızgarasını [d (p)] hesaplayın.
F ve ağırlıkları uygulamak için Harita Cebiri'ni kullanın , böylece her mesafe ızgarasını şu şekilde yeniden ifade edin:
[fp] = f ([d (p)]) / wp.
Burada f (d) = 100 + d ^ (3/2); ölçek 400 x 600'dür.
F (d) arttıkça değer koyulaşır. Açıkçası bu örnekteki mesafe, merkezi kırmızı noktaya göredir; diğer dört nokta ayrı mesafe hesaplarını alır (gösterilmemiştir). Noktaların alanları 2, 10, 3, 4 ve 5 olan ağırlıklarıyla orantılıdır.
Tüm bu ızgaraların yerel minimum değerini [fp] hesaplayın. Buna [f] deyin. İşte bir örnek.
[F] 'yi her [fp] ile karşılaştırarak, her ızgara hücresine [f]> = [fp] olan ilk p'nin tanımlayıcısını atayın . (Bu, örneğin en düşük konum işlemiyle bir adımda yapılabilir .)
(Herhangi bir yerde bu ağırlıklandırma fonksiyonu f için bir vektör formatı çözümü hesaplayacak bir algoritma olduğundan şüpheliyim.)
Açıkçası bir avuç p noktasından daha fazlasına sahipseniz, bunu senaryolayacaksınız ve sayıları binlere ulaşırsa, muhtemelen hesaplamayı uygulanamaz olarak denemeyi terk edersiniz (hesaplamayı döşeyerek hızlandırmanın yolları olsa da).
Elipsoid üzerinde Thiessen poligonlarını gösteren bir başka örnek, /gis//a/17377/ adresinde görünür .