假设我有一个lat lng坐标,我想把它放在一个宽10km的正方形的中心,然后得到最小的lat / lng和最大的lat / lng。
有一种简单的方法可以做到这一点吗?
答案 0 :(得分:16)
如果不需要准确,那就很容易了:
对于纬度,1 km是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
)。
注意:不能在两极附近工作。
答案 1 :(得分:1)
广场如何定向?平行于赤道?如果是这样的话,那么只需要从你的纬度/经度到45度,5km * sqrt(2)的距离来获得右上角。类似于左下角,使用225度的轴承
上查看目标点给定距离和起点承载