Попытка вычислить широту и длину данного расстояния и пеленга от начальной точки - PullRequest
1 голос
/ 09 марта 2019

Используя этот веб-сайт Я пытаюсь вычислить широту и долготу от начального широты и долготы, а также расстояние и направление в C #, но я не могу заставить его работать правильно.Кажется, что выход всегда придерживается около экватора более или менее вертикально в соответствии с начальной точкой, независимо от направления и расстояния.Я сделал то, что сказал сайт, но безуспешно.

Вот что я сделал до сих пор:

    public static double[] LocWithBearingAndDistance(double lat, double lon, double bearing, double distanceM)
    {
        double angdistance = distanceM / 6371000.0;
        double lat2 = Math.Asin(Math.Sin(lat) * Math.Cos(angdistance) + Math.Cos(lat) * Math.Sin(angdistance) * Math.Cos(bearing));
        double lon2 = lon + Math.Atan2(Math.Cos(angdistance) - Math.Sin(lat) * Math.Sin(lat2), Math.Sin(bearing) * Math.Sin(angdistance) * Math.Cos(lat));
        return new double[2] {lat2, (lon2 + 540) % 360 - 180};
    }

Спасибо за помощь.

...