假设我有一个 lat lng 坐标,我想把它放在一个 10 公里宽的正方形的中心,然后得到最小 lat/lng 和最大 lat/lng。
有没有一种简单的方法可以做到这一点?
假设我有一个 lat lng 坐标,我想把它放在一个 10 公里宽的正方形的中心,然后得到最小 lat/lng 和最大 lat/lng。
有没有一种简单的方法可以做到这一点?
如果不需要精确,这很容易:
对于纬度,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
需要将度数转换为弧度)。
当心:不能在两极附近工作。
正方形是怎么定位的?与赤道平行?如果是这样,那么只需从您的纬度/经度进行 45 度、5 公里 * sqrt(2) 距离的方位角即可获得右上角。与左下角类似,使用 225 度的轴承。
请参阅http://www.movable-type.co.uk/scripts/latlong.html上给定距离和方位的目的地点