Geniş bir coğrafi veri kümesine sahibim (yaklaşık 22 000 puan, ancak gelecekte daha fazla olabilirim) ve Voronoï diyagramlarını hesaplamalıyım. İlk önce puanları (lat,lng)
'dan (x,y)
'a (Leaflet'ten latLngToLayerPoint() kullanarak) projelendirin ve ardından Javascript implementation of Fortune's algorithm'a dayanarak diyagramı hesaplayın. Ben sırasıyla edilerek, her bir diyagramların hücrelerini ya da daha doğrusu va
ve vb
kurtarmak:Voronoï diyagramını çok yakın noktaların büyük bir veri kümesi üzerinde hesaplayın
"(solda Voronoi sitesine göre) başlangıç noktasını tanımlayan bir x ve bir y özelliğine sahip bir Voronoi.Vertex nesnesi Bu Voronoi.Edge nesnesinin. "
ve
"bir x ve bu Voronoi.Edge nesnesi (solda Voronoi sitesine göre) uç noktasının tanımlanması y özelliği olan bir Voronoi.Vertex nesnesi."
(bakınız Belgeleri)
Son olarak, broşür kullanarak diyagramı görüntülemek için bu puan geri çıkıntı. Diyagramı hesaplamak için her noktanın benzersiz olması gerektiğini biliyorum, bu yüzden diyagramı hesaplamadan önce kopyalardan kurtulurum.
yakın çekim
ben şemada delikleri var: Ama şey (non-düğümlüye kavşaklar, kompleks çokgenler) oldukça kötü bir sonuçla sona olduğunu ve neden emin değilim. Puanlar ev adresidir, yani bazıları eşit olmasalar bile, gerçekten (gerçekten) yakınlardır. Ve sorun projeksiyondan gelmiyor mu merak ediyorum ((lat1,lng1)
ve (lat2,lng2)
hemen hemen eşittir, (x1,y1)
ve (x2,y2)
eşittir?). Ben kuvvetle konu nereden geldiğini yani şüpheli ama geçici çözüm için nasıl bilmiyorum
Düzenleme (bir eşik kurmak?): Bu konuda değil yani, projeksiyon sonra çiftleri silmek ben kesin izdüşümün kesinliği, ancak iki nokta birbirinden ayrıysa ne olur?
Lat/long değerlerini mi yoksa x/y değerlerini mi siliyorsunuz? "Yaklaşmaya yeterli" ye dayalı ayrıştırmaya gelince, sizin için çalışan bir değer bulmanız gerekir. Adreslerle çalıştığını söylemiştin, bu yüzden bence, eğer iki puan birbirinin 10 fitindeyse, ben onları tekrarlarım. –
"Yeterince yakın" olan – kwn