Ciężko mi owijać głowę wokół jakiejś trygonometrii. Próbuję wywnioskować szerokość i długość geograficzną miejsca docelowego od początku lat i dziennika oraz odległości i namiaru.obliczanie Lat i Long z namiaru i dystansu
szczęście znalazłem niesamowite miejsce, które opisuje dokładnie taką funkcję, czego potrzebuję: http://www.movable-type.co.uk/scripts/latlong.html „punkt docelowy daną odległość i namiar od punktu startu” próbowałem go w moim programie java, ale to nie działa dla mnie. Rozmieściłem to tak, jak powiedziała strona internetowa. Tu jest mój kodu:
double dist = 150/6371;
double brng = Math.toRadians(90);
double lat1 = Math.toRadians(26.88288045572338);
double lon1 = Math.toRadians(75.78369140625);
double lat2 = Math.asin(Math.sin(lat1)*Math.cos(dist) + Math.cos(lat1)*Math.sin(dist)*Math.cos(brng));
double a = Math.atan2(Math.sin(brng)*Math.sin(dist)*Math.cos(lat1), Math.cos(dist)-Math.sin(lat1)*Math.sin(lat2));
System.out.println("a = " + a);
double lon2 = lon1 + a;
lon2 = (lon2+ 3*Math.PI) % (2*Math.PI) - Math.PI;
System.out.println("Latitude = "+Math.toDegrees(lat2)+"\nLongitude = "+Math.toDegrees(lon2));
Ale to pokazuje wyjście jest:
a = 0.0
Latitude = 26.882880455723377
Longitude = 75.78369140625
nie otrzymuję gdzie robię błąd. Proszę, niech ktoś mi pomoże rozwiązać ten problem.
Thanx in Advance. :-)
Są to ładne małe biblioteki, które mogą pomóc w tym, np. http://code.google.com/p/simplelatlng/wiki/GettingStarted –
Mark - wielkie dzięki za to małe podłączenie. – Vaiden