从中心到给定点的纬度,经度和地理区域(NW,NE,SW,SE)

时间:2013-08-09 06:32:01

标签: gps geometry geocoding geospatial geo

考虑到纬度和经度,我一直在寻找一种方法来了解哪个季度位于特定中心的一个点。

NW             NE
  ......|......
  ..X...|......
  ......|......
  ------x------
  ......|......
  ......|......
  ......|......
SW             SE

2 个答案:

答案 0 :(得分:0)

从中心到点的度数计算轴承(搜索航空公式主页)。然后如果轴承在[0,90]范围内:NE,
[90,180] - > SE。两个方向都一样。 [180,270] - > SW [270,360] - > NW

您可以通过

简单地进行检查
double bearing = bearing(latCenter, lonCenter, lat, lon);
int index = bearing / 90;
String[] quadrants = new String[] {"NE", "SE", "SW", NW"};

String result = quadrant[index];

答案 1 :(得分:0)

忽略极点和反经度(经度= +/- 180),这很简单:

if(lat > centerLat)
  if(long < centerLong)
    NW
  if(long > centerLong
    NE

if(lat < centerLat)
  if(long < centerLong)
    SW
  if(long > centerLong
    SE

如果你需要它在antimeridian附近工作,可以通过向所有经度增加180度将整个系统向东移动。