Я шукав цей веб-сайт вже досить багато годин, і я все ще намагаюся знайти рішення свого питання. Моя мета полягає в тому, щоб, маючи шлях в OSM та моєму розташуванні (lat / lon координати), я хочу знайти найближче місце (lat / lon координати) на цьому шляху. Точка може бути в будь-якому місці шляху, не обмежуючись пунктами, які використовуються для визначення шляху.
Тому я думаю про наступний алгоритм:
- Розділіть шлях окремими краями, кожен край з'єднує лише дві точки.
- Виберіть найближчий край.
- Проектуйте моє місце розташування на цей край.
Зараз існує багато запитань щодо обчислення відстані між місцеположенням і контуром:
- WGS вказує на відстань відрізка лінії WGS (велике коло)
- Обчислення відстані між точкою та віртуальною лінією у два лат / фунги
- Як наблизити відстань точки до відрізка на кулі?
Також дуже схоже питання, з якого я не можу отримати правильні чи перевірені розрахунки:
Існує також деяка інформація від доктора Матха з цього приводу. Однак я не можу знайти алгоритм для обчислення місця на кроці 3. Оскільки я не торкався (векторної) алгебри довгий час, я не зовсім розумію логіку в цих відповідях.
Чи може хтось показати алгоритм для цього? Зі мною добре підходить рішення будь-якої розумної мови програмування.