У меня есть линия (Ax, Ay - Bx, By) над проекцией меркатора (карты Google) и случайная точка (Cx, Cy), ближайшая к этой линии, я бы знал ближайшую точку (прозрачный синий на изображении) над эта линия в точку (синий на изображении)
РЕДАКТИРОВАТЬ: уточнить, что это в проекции Меркатора (сферическая проекция)
Ответы:
проверьте эту ссылку , она заставила меня использовать следующую функцию для расчета расстояний до отрезков.
В PHP:
Затем вы можете использовать проекционные функции для расчета расстояний, я использую приведенную выше формулу для расчета времени в этой точке с учетом средней скорости, и она работает очень хорошо.
Если вам нужна хорошая библиотека PHP для вычисления расстояний между координатами в PHP, посмотрите класс GeoCalc
источник
point_to_line_segment_distance(41.421649, 2.600410, 41.413851, 2.594356, 41.415710, 2.600638))
Вы можете использовать функцию computeDistanceBetween () из API карты Google .
я надеюсь, что это поможет вам ...
источник