平面xy转经纬度源码
时间: 2023-09-07 07:04:15 浏览: 145
Java将GeoHash转化为对应的经纬度坐标实例代码
要将平面xy坐标转换为经纬度坐标,可以使用以下源码实现:
```python
import math
def xy_to_latlng(x, y, center_lat, center_lng):
R = 6371000 # 地球半径,单位为米
lat_diff = y / R # 计算纬度差
lat = center_lat + math.degrees(lat_diff) # 计算纬度
lng_diff = x / (R * math.cos(math.radians(center_lat))) # 计算经度差
lng = center_lng + math.degrees(lng_diff) # 计算经度
return lat, lng
# 测试示例
center_lat = 39.9075 # 中心点纬度
center_lng = 116.3972 # 中心点经度
x = 1000 # x坐标
y = 1000 # y坐标
result = xy_to_latlng(x, y, center_lat, center_lng)
print("经度:", round(result[1], 6))
print("纬度:", round(result[0], 6))
```
这段源码包含了一个名为`xy_to_latlng`的函数,它接收四个参数:x和y是平面坐标,`center_lat`和`center_lng`是中心点的经纬度。
函数首先通过地球半径计算纬度差,并将其转换为具体的纬度值。然后,根据中心点的纬度和地球半径,计算经度差,并将其转换为具体的经度值。最后,返回计算得到的纬度和经度。
在测试示例中,我们假设中心点的经纬度分别为39.9075和116.3972,平面坐标为(1000, 1000)。运行代码后,将会输出转换后的经纬度结果。
阅读全文