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

Google maps 给定lat/lng坐标,计算10 km区域的最小和最大lat/lng值,google-maps,latitude-longitude,Google Maps,Latitude Longitude,假设我有一个lat-lng坐标,我想把它放在一个10公里宽的正方形的中心,然后得到最小lat/lng和最大lat/lng 有没有一种已经存在的简单方法可以做到这一点?如果不需要精确,那么它非常简单: 对于纬度,1km为0.009度(遵循米的原始定义)。因为你的正方形是围绕中心5公里,你只需要从中心点加减0.045度 对于经度,它稍微复杂一些:将上面的值除以纬度的余弦 代码: lat_min = lat_center - 0.045; lat_max = lat_center + 0.045; l

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


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

如果不需要精确,那么它非常简单:

对于纬度,1km为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
需要从度转换为弧度)


当心:不要在电线杆周围工作。

正方形是如何定向的?平行于赤道?如果是这样的话,那么只需在距离你的lat/lon 45度、5km*sqrt(2)的地方做一个方位,就可以得到右上角。与左下角类似,使用225度的轴承


查看目标点给定的距离和从起点的方位at

您需要多精确的坐标-刚好足够显示,或用于完整的GIS内容?它不需要非常精确-如果它偏离一公里或两公里,那么就可以了。您指的是10*sqrt(2)距离?是的,这就是我在评论中所说的他需要这个的准确程度。在实践中,虽然实际的最大/最小纬度/长度在每个角都会有所不同,但最大经度值实际上是在方位135处,但是如果你将其近似为一个正方形,而不是为了显示,那么其中可能没有任何内容。从技术上讲,如果正方形宽度为10km,则应为5*sqrt(2)。如果需要其他角,只需在上面的轴承上加90度。