最近遇到一个迫切需求,就是需要POI(Point of Interest,兴趣点)数据来实现开店选址规划和市场调研分析功能,但不知道从哪获取POI数据。

POI是指地图上具有特定意义的点,如商场、餐厅、加油站、学校等,每个POI都包含丰富的信息:名称、地址、坐标、类别等,这些数据对于各种商业决策的价值很高。

市面上常见的POI查询方式是通过ID,一个个查确实很精准,但效率不高,特别是想批量查询,或者查询指定区域内的某个POI,就很麻烦,耗时耗力。

那么有没有办法能够快速查询一个区域内的某个POI数据,最好还能批量导出呢?

有!一个API就够了!调用简单,自选区域,快速查询和获取POI数据。

具体对该API的测评和获取指南如下:

场景查询(区域围栏)API

API介绍:根据多边形围栏或圆形围栏检索区域内的场景(POI)信息。

API参数说明:

Body参数说明

多边形围栏为例,圆形围栏参数类似

名称

类型

是否必需

字段含义

fencearray必需围栏信息,多边形围栏数组,首尾坐标需闭合
keywordstring可选场景名称关键词
brand_idarray可选品牌ID(>= 0 items   <= 100 items)
category_idarray可选分类ID(>= 0 items   <= 100 items)
city_idarray可选城市ID(>= 0 items   <= 100 items)
page_num

integer

可选分页页码
page_size

integer

可选每页数据量(>= 1<= 100  默认值:10)

从Body参数我们可以得到一些关键信息,比如这个API必需要设置地理围栏,无论是多边形还是圆形的,都要提供首位坐标闭合的围栏数组,好处在于自由度高,想查哪里查哪里,没有地理上的限制,但非技术人员可能不知道如何获取围栏数组。

另外参数中也能看出,该API支持区域内全部或指定POI的数据查询,能满足全品类或单品类的查询需求,这点还是蛮重要的。

返回响应参数说明

仅列举了部分参数,有些重复性或补充类的参数先省略

名称

类型

是否必需

字段含义

response_idstring必需平台公共网响应ID
codeinteger必需公共网关响应码
messagestring必需公共网关响应参数
biz_codeinteger必需API服务响应码
biz_messagestring必需API服务响应信息
itemsarray必需场景基础信息
poi_namestring可选场景名称
category_nameinteger可选

分类名称

brand_namestring可选品牌名称
provincestring可选省份名称
citystring可选城市名称
districtstring可选市辖区
addressstring可选地址
latitude/longitudenumber可选场景经度/纬度  WGS84坐标系
category_id_listarray可选

分类目录ID

category_name_listarray可选分类目录名称

从返回参数就能看出这个API的真实价值,特别是其中的“场景基础信息”,包含场景、分类、品牌、省份、城市、经纬度、地址等多重信息,基本满足了大部分人对于POI查询想要的数据。

有相关需求的同学一眼便能看出能不能满足,就不过多赘述了。

API免费体验及获取指南

接下来重点说一下这个API怎么获取,是个比较垂直小众的数据开放平台内提供的能力。

及刻开放平台

查客流,查POI,上及刻开放平台https://data.isjike.com/简要介绍:这是个专业垂直做人群客流数据的平台,提供很多人群、客流类 API(人群热力图、人群画像、客流趋势、客流画像等)和一些位置服务API(POI查询,智能场景识别等),比较小众,但包含的API还是很实用的。

注册与在线免费体验

1、注册及刻开放平台,打开能力中心页面的“场景查询”栏目,找到“场景查询(区域围栏)API”;

2、进入API详情页,获取解决方案,也可以直接去查看开发文档,介绍还是蛮详细的;

3、特别要注意的是,POI查询平台内是提供免费在线体验的,只需要登录就能体验到API,亲测十分好用;

API接口调用实测

场景查询(区域围栏)API提供多种编程语言的SDK,以下以Python为例,展示接口的调用方法:

import http.client
import json

conn = http.client.HTTPSConnection("data-api.isjike.com")
payload = json.dumps({
   "circle": {
      "center_point": [
         113.936885,
         22.62525
      ],
      "radius": 500
   },
   "keyword": "小当家",
   "brand_id": 43586,
   "category_id": 1582,
   "city_id": 340,
   "page_num": 1,
   "page_size": 10
})
headers = {
   'token': '0c2c6774153820cae57cc53ba19b7ce0',
   'Authorization': 'Bearer <token>',
   'Content-Type': 'application/json'
}
conn.request("POST", "/api/v1/poi_by_geo", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))

目前平台内提供了完善的开发文档、代码示例和SDK工具,支持多种编程语言和开发环境。

在API实际测试过程中,API的响应很快,返回的POI数据非常详细,满足了产品需求。

总的来说,这个场景查询API不多见,用起来也不错,关键还能免费体验效果,有相关需求的伙伴可以去试试。

更多推荐