Как найти координаты (широта, долгота) на расстоянии 100 м в направлении 90 ° от известного местоположения? - PullRequest
0 голосов
/ 18 июня 2019

37.545892, 126.978445 Как найти координаты (широта, долгота) на 100 м в направлении 90 °?

1 Ответ

0 голосов
/ 19 июня 2019

Узнайте заключение.

public static double[] moveLocation(double latitude, double longitude, double direction, double length){

    double distRadians = length / (6372797.6);

    double rbearing = direction * Math.PI / 180.0;

    double lat1 = latitude * Math.PI / 180;
    double lon1 = longitude * Math.PI / 180;

    double lat2 = Math.asin(Math.sin(lat1) * Math.cos(distRadians) + Math.cos(lat1)
            * Math.sin(distRadians) * Math.cos(rbearing));
    double lon2 = lon1 + Math.atan2(Math.sin(rbearing) * Math.sin(distRadians) * Math.cos(lat1),
            Math.cos(distRadians) - Math.sin(lat1) * Math.sin(lat2));

    lat2 = lat2 * 180 / Math.PI;
    lon2 = lon2 * 180 / Math.PI;

    return new double[]{ lat2, lon2 };

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...