Рассчитать расстояние в (x, y) между двумя GPS-точками

Я ищу плавный способ вычисления расстояния между двумя точками GPS, поэтому я получаю результат вроде: "Вам нужно пройти x метров вверх и y метров влево, чтобы я мог работать с 2-мерной системой координат, где моя позиция равна (0,0), а остальные позиции показывают расстояние в (x, y) в метрах от моей позиции.

Моя идея состояла в том, чтобы вычислить расстояние между точками, используя формулу haversine. (Это возвращает мою гипотенузу)

В дополнение к этому ям, рассчитывая пеленг между этими двумя точками. Это моя альфа.

С этими двумя значениями я хотел использовать основные функции тригонометрии, чтобы решить мою проблему.

Поэтому я попытался посчитать.catheti_1 = sin(alpha) * hypotenuse, catheti_2 = cos(alpha) * hypotenuse

Может я'Я делаю что-то не так, но мои результаты сейчас бесполезны.

Итак, мой вопрос: как я могу рассчитать расстояние по осям x и y между двумя точками GPS?

m вычисляем альфа в следующей процедуре:

public static double bearingTo(GPSBean point1, GPSBean point2) {
    double lat1 = Math.toRadians(point1.latitude);
    double lat2 = Math.toRadians(point2.latitude);
    double lon1 = Math.toRadians(point1.longitude);
    double lon2 = Math.toRadians(point2.longitude);

    double deltaLong = lon2 - lon1;

    double y = Math.sin(deltaLong) * Math.cos(lat2);
    double x = Math.cos(lat1) * Math.sin(lat2) - Math.sin(lat1)
            * Math.cos(lat2) * Math.cos(deltaLong);
    double bearing = Math.atan2(y, x);

    return (Math.toDegrees(bearing) + 360) % 360;
}

Ответы на вопрос(2)

Ваш ответ на вопрос