360直播

规院技术|基于Python的高德POI数据检索

2023-11-10

来源:

作者:

浏览量:


POI是Ponit of Interest的缩写,其中文意思为兴趣点,即地图上有意义的点,如学校、医院、住宅小区、加油站等。POI数据在城市规划、地理信息等研究中发挥着重要的作用,因此获取准而全的POI数据是开展科研工作的重要基础。

目前国内公开主流地图平台有:高德地图Web服务API、百度地图Web服务API、腾讯位置服务WebService API,开发者可通过三个平台提供的接口免费获取POI数据,下面以高德地图API为例进行POI数据检索



API接口查看

高德地图API中提供关键字搜索、周边搜索、多边形搜索以及ID搜索四种方式,如下图所示:

由于每次获取到的POI数量是有限制的,综上场景描述可知,多边形搜索法较为适合获取批量的POI数据。在多边形搜索下面,有个请求参数的表格,这个请求参数即API里需要填写的信息,主要区分为:必填与可填。如下图所示:

以下为高德官方提供的服务示例:

https://restapi.amap.com/v3/place/polygon?polygon=116.460988,40.006919|116.48231,40.007381|116.47516,39.99713|116.472596,39.985227|116.45669,39.984989|116.460988,40.006919&keywords=kfc&key=<用户的key>

具体含义如下:polygon(116.460988,40.006919;116.48231,40.007381;116.47516,39.99713;116.472596,39.985227;116.45669,39.984989;116.460988,40.006919)是查询的区域范围,keywords(kfc)为查询的关键字,extensions(all)为返回的数据内容,key是用户请求数据的身份标识。

实现步骤

通过API解析可知:如何通过修改链接里的关键词构建所需的API,随后向高德地图发出申请即可。整个过程可划分为三个部分:

1、发出一次申请,高德地图返回一页数据;

2、通过控制区域大小,保证区域内的该类型的POI都获取完;

3、获取完成并以json格式保存数据。

具体实现代码如下:

小结

利用上述代码可获取一定区域的POI数据,但仍需注意以下问题:

1、根据接口规定:一个多边形最多返回1000个POI,因此需找到满足限制的网格最大尺寸;

2、高德地图平台地理数据采用GCJ-02进行加密,此坐标系所采用的混淆算法会在经纬度中加入随机的偏移,因此使用时需对获取到的经纬度进行坐标系转换。

作者简介

王文杰

测绘副总工

国家注册测绘师

高级测绘工程师

编辑:邵红芳

校对:李   

编审:朱媛云

 


关键词:

城乡规划,建筑工程,测绘,风景园林设计