从旧+ n米计算新的经度,纬度
我想创build2个新的经度和2个新的纬度,以米为单位的坐标和距离,我想围绕某个点创build一个漂亮的边界框。 它的小规模,最大1500米+和1500米 – 。 所以这是一个城市的一部分,我不认为地球的曲线必须考虑在内。
所以我有50.0452345(x)和4.3242234(y),我想知道x + 500meter,x-500meter,y-500meter,y + 500meter
我发现了很多algorithm,但几乎所有的algorithm似乎都处理点之间的距离。
每度经度的公里数是大约
(2*pi/360) * r_earth * cos(theta)
其中theta
是以度为单位的纬度,而r_earth
大约为r_earth
。
每个纬度的公里数在所有地点大致相同,
(2*pi/360) * r_earth = 111 km / degree
所以你可以这样做:
new_latitude = latitude + (dy / r_earth) * (180 / pi); new_longitude = longitude + (dx / r_earth) * (180 / pi) / cos(latitude * pi/180);
只要dx
和dy
与地球半径相比较小,就不会太靠近极点。
接受的答案是完全正确的,工作。 我做了一些调整,并转化为这个:
double meters = 50; double coef = meters * 0.0000089; double new_lat = my_lat + coef; double new_long = my_long + coef / Math.cos(my_lat * 0.018);
希望这也有帮助。
您是否已经签出: 如何查找给定经纬度以北x公里的纬度/经度 ?
这些计算充其量是令人讨厌的,我做了很多。 haversine惯例将是您的朋友。
一些参考: http : //www.movable-type.co.uk/scripts/latlong.html