How to calculate angle between two Geographical/GPS coordinates?

帅比萌擦擦* 提交于 2019-11-30 08:36:22

问题


I have two GPS Coordinates

e.g. (Lat1, Long1) and (Lat2,Long2)

Could anybody please help me find the angle between those two points.

Values should be 0-360 degrees.


回答1:


Taken from this previous SO post:

float dy = lat2 - lat1;
float dx = cosf(M_PI/180*lat1)*(long2 - long1);
float angle = atan2f(dy, dx);



回答2:


I suppose you mean the bearing to and not the angle between the locations: If (lat1,long1) is stored in a Location object loc1 and (lat2,long2) is stored in loc2 you get the bearing from loc1 to loc2 like this:

float bearing = loc1.bearingTo(loc2);

The result is in degrees east of true north and its the initial bearing (which is important if loc1 and loc2 are far apart from each other).

There are some other useful methods in the Location class, see here for more details: http://developer.android.com/reference/android/location/Location.html

EDIT: I assumed Android for the answer, but yes, the tags do not imply that ...



来源:https://stackoverflow.com/questions/9566069/how-to-calculate-angle-between-two-geographical-gps-coordinates

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!