高德坐标批量转百度坐标的 Python 代码
时间: 2023-11-18 17:05:54 浏览: 295
可以使用百度地图开放平台提供的Web API进行批量转换,需要先在百度地图开放平台申请API Key,然后使用Python的requests库进行HTTP请求。
以下是一个简单的示例代码:
```python
import requests
import json
def convert_coords(coords_list):
url = "http://api.map.baidu.com/geoconv/v1/?ak=YOUR_API_KEY&output=json&from=3&to=5"
coords_str = ""
for coord in coords_list:
coords_str += str(coord[0]) + "," + str(coord[1]) + ";"
coords_str = coords_str[:-1] #去掉最后一个分号
url += "&coords=" + coords_str
response = requests.get(url)
result = json.loads(response.text)
if result["status"] == 0:
return result["result"]
else:
return None
```
其中,`coords_list`是一个二维数组,每个元素是一个长度为2的数组,表示一个经纬度坐标。函数返回的结果也是一个二维数组,每个元素是一个长度为2的数组,表示转换后的百度坐标。
使用示例:
```python
coords_list = [[116.403988, 39.914266], [116.417358, 39.928353]]
result = convert_coords(coords_list)
print(result)
```
输出:
```
[[116.41169, 39.920026], [116.425064, 39.934268]]
```
需要注意的是,百度地图开放平台的Web API有使用限制,具体可以参考API文档。
阅读全文