7

假设我有一个 lat lng 坐标,我想把它放在一个 10 公里宽的正方形的中心,然后得到最小 lat/lng 和最大 lat/lng。

有没有一种简单的方法可以做到这一点?

4

2 回答 2

17

如果不需要精确,这很容易:

对于纬度,1 公里是 0.009 度(遵循米的原始定义)。由于您的正方形围绕中心 5 公里,您只需从中心点加减 0.045 度。

对于经度,稍微复杂一些:将上述值除以纬度的余弦。

在代码中:

lat_min = lat_center - 0.045;
lat_max = lat_center + 0.045;
long_min = long_center - (0.045 / Math.cos(lat_center*Math.PI/180);
long_max = long_center + (0.045 / Math.cos(lat_center*Math.PI/180);

Math.PI/180需要将度数转换为弧度)。

当心:不能在两极附近工作。

于 2012-05-01T14:06:26.027 回答
1

正方形是怎么定位的?与赤道平行?如果是这样,那么只需从您的纬度/经度进行 45 度、5 公里 * sqrt(2) 距离的方位角即可获得右上角。与左下角类似,使用 225 度的轴承。

参阅http://www.movable-type.co.uk/scripts/latlong.html上给定距离和方位的目的地点

于 2012-05-02T12:24:34.670 回答