2012-03-27 70 views
0

我需要计算两个地理定位点之间的方向(纬度和日志定义)。我并不需要整个角度(我发现了这样的东西),但只有N,NE,E,SE,S,SW,W,NW很好。两个地理定位点之间的方向

任何帮助表示赞赏

回答

0

如果他们是短距离,你可以通过拉特/多头原样,并通过计算ATAN2角度近似(Y,X),其中y是纬度,x是经度。将产生的角度转换为N,NE,SW等。只要注意国际日期线。

0

那么,假设您获得的是0度到360度的度数值,则可以使用一个简单的方法像:

String[] coordNames = { "N", "NE", "E", "SE", "S", "SW", "W", "NW" }; 

// assuming this value comes from somewhere else 
int degrees = val; 

degrees %= 360; 
degrees /= 45; 

String coord = coordNames[degrees]; 

这不会给你正确的近似值,你可能会注意到。 0º到44º会给你N,45º到89º会给你NE,等等。

希望它能让你走上正轨!