Bu SE sitesini birkaç saattir araştırıyorum ve hala soruma bir çözüm bulmakta zorlanıyorum. Amacım OSM'de ve konumumda (lat / lon koordinatları) bir yol verildiğinde, bu şekilde en yakın konumu (lat / lon koordinatları) bulmak istiyorum. Nokta yolun herhangi bir yerinde olabilir, yolu tanımlamak için kullanılan noktalarla sınırlı değildir.
Bu yüzden aşağıdaki algoritmayı düşünüyorum:
- Yolu ayrı kenarlara ayırın, her kenar sadece iki noktayı birleştirir.
- En yakın kenarı seçin.
- Konumumu bu kenara yansıt.
Şimdi bir konum ile yol arasındaki mesafeyi hesaplamakla ilgili birçok soru var:
- WGS, WGS çizgi segmenti (büyük daire) mesafesini gösterir
- Bir nokta ile iki lat / lng'lik sanal bir çizgi arasındaki mesafenin hesaplanması
- Küre üzerindeki noktadan segment mesafesine nasıl yaklaşılır?
Ayrıca hesaplamaları doğru veya doğrulanamadığım çok benzer bir soru:
Dr. Math'dan da bu konuda bazı bilgiler var . Ancak adım 3'teki konumu hesaplamak için bir algoritma bulamıyorum. Cebirlere uzunca bir süre dokunmadım (vektör), bu cevaplardaki mantığı tam olarak anlamıyorum.
Birisi bunu yapmak için bir algoritma gösterebilir mi? Herhangi bir makul programlama dilinde bir çözüm benim için iyi.