看来您正在以米为单位测量距离(R),并从正东逆时针方向测量(θ)。并且为了您的目的(数百米),平面几何应该足够准确。在这种情况下,
dx = R*cos(theta) ; theta measured counterclockwise from due east
dy = R*sin(theta) ; dx, dy same units as R
如果从正北顺时针测量 theta(例如,罗盘方位),则 dx 和 dy 的计算略有不同:
dx = R*sin(theta) ; theta measured clockwise from due north
dy = R*cos(theta) ; dx, dy same units as R
在任何一种情况下,经度和纬度的变化是:
delta_longitude = dx/(111320*cos(latitude)) ; dx, dy in meters
delta_latitude = dy/110540 ; result in degrees long/lat
常数 110540 和 111320 之间的差异是由于地球的扁率(极地周长和赤道周长不同)。
这是一个工作示例,使用您稍后问题中的参数:
给定一个经度 -87.62788 度,纬度 41.88592 度的起始位置,找到距起始位置西北 500 米的点的坐标。
如果我们从正东逆时针测量角度,“西北”对应于 theta=135 度。R 为 500 米。
dx = R*cos(theta)
= 500 * cos(135 deg)
= -353.55 meters
dy = R*sin(theta)
= 500 * sin(135 deg)
= +353.55 meters
delta_longitude = dx/(111320*cos(latitude))
= -353.55/(111320*cos(41.88592 deg))
= -.004266 deg (approx -15.36 arcsec)
delta_latitude = dy/110540
= 353.55/110540
= .003198 deg (approx 11.51 arcsec)
Final longitude = start_longitude + delta_longitude
= -87.62788 - .004266
= -87.632146
Final latitude = start_latitude + delta_latitude
= 41.88592 + .003198
= 41.889118