python调用高德API计算两地点之间的距离

本文介绍了如何注册成为高德地图开发者,并利用Python调用高德API来计算两个地理位置之间的距离,详细讲解了调用接口的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. 注册成为高德开发者
  2. 调用接口的示例程序
import json
import requests
# 拼接url
url_head = 'https://restapi.amap.com/v3/distance?key=<你自己的key>' # 记得把key替换了
from_ = "&origins=" # 起点
from_ += str(10.10333)+','+
### 使用 Python 调用高德 API 的方法 #### 获取密钥 在使用高德地图 API 前,需前往官方网站注册并获取免费的 API 密钥。完成账户登录后,在应用管理界面创建新应用来取得用于调用接口所需的唯一标识符——Key[^2]。 #### 发起 HTTP 请求 利用 `requests` 库可以方便地向高德地图 Web 服务 API 发送请求。下面是一个简单的例子展示怎样通过地理编码 API地址转换成经纬度: ```python import requests def get_location(address, key): url = "https://restapi.amap.com/v3/geocode/geo" params = { 'address': address, 'key': key } response = requests.get(url, params=params).json() if response['status'] != '1': raise Exception(f"Error occurred while fetching data: {response}") location_data = response["geocodes"][0]["location"] lng, lat = map(float, location_data.split(',')) return {"longitude": lng, "latitude": lat} ``` 此函数接受两个参数:待查询的具体地理位置字符串以及之前获得的应用程序 Key。它会构建 URL 并附带必要的查询参数,之后执行 GET 方法并与服务器交互;最后解析 JSON 格式的响应体以提取出目标地对应的经度和纬度数值[^4]。 #### 处理返回的结果 当接收到由上述代码片段产生的结果时,可以根据实际需求进一步处理这些坐标信息。例如将其保存到 CSV 文件中以便后续分析或可视化操作[^5]: ```python import pandas as pd addresses = ["北京市海淀区中关村大街1号", "上海市浦东新区世纪大道88号"] # 示例地址列表 locations = [] for addr in addresses: try: loc = get_location(addr, YOUR_AMAP_API_KEY) locations.append(loc) except Exception as e: print(e) df = pd.DataFrame(locations) df.to_csv('地址转经纬度.csv', encoding='utf-8-sig', index=False) ``` 这段脚本遍历给定的一系列中国城市内的具体位置名称,并依次调用前面定义好的 `get_location()` 函数来进行转换工作。最终将所有的记录存入 Pandas DataFrame 对象内再导出至本地磁盘上的文件里去。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值