Python计算矩形四顶点经纬度:给定参数后公式结果异常求助
基于中心坐标、尺寸和方位角计算矩形顶点经纬度(Python实现)
需求描述
- 在Python脚本中,根据矩形的中心经纬度坐标、长度、宽度和方位角,求解矩形四个顶点的经纬度坐标。
- 长度和宽度单位为法定英里,可自行转换为米/千米;已掌握Haversine算法计算两点距离,但不清楚如何应用到该场景,需要解决思路指引。
问题更新
参考相关公式编写了如下计算代码:
lat2 = asin(sin(lat1)*cos(length2/(_AVG_EARTH_RADIUS_KM)) + cos(lat1) * sin(length2/(_AVG_EARTH_RADIUS_KM)) * cos(bearing1)) lon2 = lon1 + atan2(sin(bearing1) * sin(length2/(_AVG_EARTH_RADIUS_KM)) * cos(lat1), cos(length2/(_AVG_EARTH_RADIUS_KM)) - sin(lat1) * sin(lat2))
但计算结果不符合预期:
- 使用参数:中心坐标
32°N 77°W,长度20英里,宽度10英里,方位角0度 - 代码输出结果:
0.586599511812, -77.0 - 地图应用中的正确坐标应为:
32.14513° N, -77.0° W
补充说明:已将length1和width1转换为千米,bearing1转换为弧度后代入公式。
内容的提问来源于stack exchange,提问作者Charlie
相关产品推荐
相关产品推荐

