Eu tenho uma linha (Ax, Ay - Bx, By) sobre uma projeção mercator (google maps) e um ponto aleatório (Cx, Cy) mais próximo dessa linha, gostaria de saber o ponto mais próximo (azul transparente na imagem) sobre essa linha para apontar (azul na imagem)
EDIT: para esclarecer que isso está em uma projeção Mercator (projeção esférica)
Respostas:
verifique este link , ele me fez usar a seguinte função para calcular distâncias para segmentos de linha.
Em PHP:
Você pode usar as funções de projeção para calcular distâncias. Estou usando a fórmula acima para calcular o tempo nesse ponto, dada a velocidade média e funciona muito bem.
Se você deseja uma boa biblioteca PHP para calcular distâncias entre coordenadas no PHP, consulte a classe GeoCalc
fonte
point_to_line_segment_distance(41.421649, 2.600410, 41.413851, 2.594356, 41.415710, 2.600638))
você pode usar a função computeDistanceBetween () da API do Google Map .
espero que ajude você ...
fonte