经纬度加减
时间: 2023-09-23 09:03:27 浏览: 147
真实经纬度和偏移经纬度转换程序
3星 · 编辑精心推荐
经纬度加减可以使用球面三角学公式进行计算。以下是一个简单的示例代码,可以实现给定经纬度和距离后计算新的经纬度:
```python
import math
# 地球半径
EARTH_RADIUS = 6371.0
def calculate_new_coordinate(lat, lon, distance, bearing):
"""
计算给定经纬度和距离后的新经纬度
:param lat: 纬度
:param lon: 经度
:param distance: 距离(单位:km)
:param bearing: 方位角(单位:度)
:return: 新的经纬度
"""
# 将距离转换为弧度
distance /= EARTH_RADIUS
# 将经纬度转换为弧度
lat = math.radians(lat)
lon = math.radians(lon)
bearing = math.radians(bearing)
# 计算新的纬度
new_lat = math.asin(math.sin(lat) * math.cos(distance) +
math.cos(lat) * math.sin(distance) * math.cos(bearing))
# 计算新的经度
new_lon = lon + math.atan2(math.sin(bearing) * math.sin(distance) * math.cos(lat),
math.cos(distance) - math.sin(lat) * math.sin(new_lat))
# 将弧度转换为角度
new_lat = math.degrees(new_lat)
new_lon = math.degrees(new_lon)
return new_lat, new_lon
```
其中,参数 `lat` 和 `lon` 分别表示初始的纬度和经度,`distance` 表示要移动的距离(单位:km),`bearing` 表示方位角(单位:度)。函数返回计算出的新的经纬度。
阅读全文