给定lat / lng坐标,计算10 km区域的最小和最大lat / lng值

时间:2012-05-01 13:38:17

标签: google-maps latitude-longitude

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

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

2 个答案:

答案 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度的轴承

http://www.movable-type.co.uk/scripts/latlong.html

上查看目标点给定距离和起点承载