No se necesita una proyección equidistante, pero las distancias geodésicas calculadas sobre un esferoide ( Las fórmulas de Vincenty ) o una esfera ( Distancia del carámbano ). Por ejemplo, geopy
es capaz de calcularlos.
Este es un ejemplo de uso de la distancia Vincenty:
>>> from geopy.distance import vincenty
>>> newport_ri = (41.49008, -71.312796)
>>> cleveland_oh = (41.499498, -81.695391)
>>> print(vincenty(newport_ri, cleveland_oh).miles)
538.3904451566326
Utilizando la distancia del círculo máximo:
>>> from geopy.distance import great_circle
>>> newport_ri = (41.49008, -71.312796)
>>> cleveland_oh = (41.499498, -81.695391)
>>> print(great_circle(newport_ri, cleveland_oh).miles)
537.1485284062816
Fuente: https://pypi.python.org/pypi/geopy#measuring-distance
¿cómo encontrar el punto B con el método descrito anteriormente?
Es necesario resolver el problema directo es decir, dado un punto inicial, su acimut y una distancia geodésica calcular el punto final. Una implementación en Python del problema directo está disponible en el Paquete PyGeodesy .
Ejemplo:
>>> from pygeodesy.ellipsoidalVincenty import LatLon
>>> p = LatLon(-37.95103, 144.42487)
>>> d = p.destination(54972.271, 306.86816)
>>> print d.lon, d.lat
143.926497668 -37.6528177174