Mam linię (Ax, Ay - Bx, By) nad projekcją mercatora (Google Maps) i losowy punkt (Cx, Cy) najbliższy tej linii, chciałbym znać najbliższy punkt (przezroczysty niebieski na obrazie) ponad ta linia do punktu (niebieski na obrazie)
EDYCJA: aby wyjaśnić, że jest to projekcja Mercatora (projekcja sferyczna)
Odpowiedzi:
sprawdź ten link , dzięki temu użyłem następującej funkcji do obliczenia odległości do segmentów linii.
W PHP:
Następnie możesz użyć funkcji projekcji do obliczenia odległości, używam powyższej formuły do obliczenia czasu w tym punkcie, biorąc pod uwagę średnią prędkość i działa naprawdę dobrze.
Jeśli chcesz, aby dobra biblioteka PHP obliczała odległości między współrzędnymi w PHP, sprawdź klasę GeoCalc
źródło
point_to_line_segment_distance(41.421649, 2.600410, 41.413851, 2.594356, 41.415710, 2.600638))
możesz użyć funkcji computeDistanceBetween () z interfejsu API Google Maps .
Mam nadzieję, że Ci to pomoże...
źródło