Как проверить, находится ли геокод близко или по пути, определенному в KML LineString с PHP или MySQL

0

У меня есть файл KML, определяющий несколько путей/маршрутов (представляющих фактические дороги), заключенных в теги <LineString><coordinates></coordinates></LineString>. Разбор файла в другие форматы (массивы/MySQL) уже установлен, так что это не проблема.

Учитывая точку (долгота/широта), я хотел бы проверить, находится ли точка на или близка к (в пределах нескольких метров) одному из маршрутов в файле KML. Я искал решение на PHP, но я не смог его найти, и я не уверен, что я ищу. Это, однако, кажется мне общей проблемой, поэтому я подозреваю, что кто-то уже решил проблему. Кто-нибудь знает о решении?;)

Спасибо заранее!

Теги:
maps
kml

2 ответа

0
Лучший ответ

Вам нужно разбить это на две проблемы:

  • Создайте набор полигонов из каждой части вашего пути.
  • Сделайте простую точку в полигоне на указанных полигонах.

Для выполнения этих двух задач должно быть несколько php.

  • 0
    Спасибо за ваш ответ. Потребовалось много проб и ошибок, но в итоге я нашел решение. К сожалению, пип-тесты, похоже, занимают довольно много времени, поэтому мне, вероятно, придется найти другое решение.
0

pnpoly на самом деле довольно быстро, если все сделано правильно. Я написал проверку против многих сотен тысяч многоугольных вершин в MySQL хорошо под второй обработкой. Вытягивая данные в PHP и выполняя цикл pnpoly, вы можете сделать это не намного больше времени.

Опубликовать код, который вы используете?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню