高德地图获取POI、ROI面或边界

版权声明:转载请注明作者(独孤尚良dugushangliang)出处:https://blog.csdn.net/dugushangliang/article/details/116230559

 

浏览器打开高德地图https://amap.com/

浏览器按F12打开开发者工具。

高德地图的搜索栏输入关键词并搜索,如:故宫。

network可以看到下图,找到poiInfo项。

其中:

Request URL: https://amap.com/service/poiInfo?query_type=TQUERY&pagesize=20&pagenum=1&qii=true&cluster_state=5&need_utd=true&utd_sceneid=1000&div=PC1000&addr_poi_merge=true&is_classify=true&zoom=13.73&city=110000&geoobj=116.351188%7C39.895399%7C116.460246%7C39.939122&keywords=%E6%95%85%E5%AE%AB

url解码得:

https://amap.com/service/poiInfo?query_type=TQUERY&pagesize=20&pagenum=1&qii=true&cluster_state=5&need_utd=true&utd_sceneid=1000&div=PC1000&addr_poi_merge=true&is_classify=true&zoom=13.73&city=110000&geoobj=116.351188|39.895399|116.460246|39.939122&keywords=故宫

即:get方式,请求:https://amap.com/service/poiInfo。请求参数为:

query_type: TQUERY
pagesize: 20
pagenum: 1
qii: true
cluster_state: 5
need_utd: true
utd_sceneid: 1000
div: PC1000
addr_poi_merge: true
is_classify: true
zoom: 13.73
city: 110000
geoobj: 116.351188|39.895399|116.460246|39.939122
keywords: 故宫

得到的Response是json格式。

value字符串即面边界的坐标点序列。这样,我们可以用GDAL、Arcpy等构造几何文件了,如shp文件。

 

独孤尚良dugushangliang——著

### 使用高德地图API获取POI数据 为了使用高德地图API获取兴趣点(Point of Interest, POI)数据,需遵循特定流程并调用相应的接口。此过程涉及创建开发者账号、申请API密钥以及编写代码来访问解析返回的数据。 #### 获取API Key 首先,需要注册成为高德开放平台的开发者,并创建应用以获得专属的`Key`。该`Key`用于身份验证,确保每次请求都来自合法的应用程序[^1]。 #### 构建HTTP请求 构建向高德地图发送的HTTP GET请求时,应指定如下参数: - `keywords`: 查询关键词,比如“医院” - `city`: 城市名称城市编码,默认全国范围搜索 - `output`: 输出格式设置为JSON以便于后续处理 - `key`: 上一步骤中得到的应用程序密钥 一个完整的URL可能看起来像这样: ``` https://restapi.amap.com/v3/place/text?keywords=医院&city=南京&output=json&key=<Your_Key> ``` 其中 `<Your_Key>` 需替换为自己实际拥有的有效API key[^2]。 #### Python脚本实例 下给出一段简单的Python代码片段作为示范,展示了如何利用requests库发起上述提到的那种GET请求,并打印出部分响应内容。 ```python import requests def fetch_poi_data(keyword='医院', city='南京'): url = 'https://restapi.amap.com/v3/place/text' params = { 'keywords': keyword, 'city': city, 'output': 'json', 'key': '<Your_API_KEY>' # 替换成自己的API KEY } response = requests.get(url=url, params=params).json() pois = response['pois'] for poi in pois[:5]: # 只显示前五个结果简化输出 print(f"{poi['name']} located at {poi['location']}") if __name__ == '__main__': fetch_poi_data() ``` 这段代码会连接到服务器并检索有关南京市内医疗机构的信息,同时仅展示最多五条记录供查看[^3]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值