多个人同时调用接口_FME与高德API:06 JS接口与矩形POI搜索及公交路线API

这是介绍FME零编码调用高德接口第六篇记录,之所以写这边记录主要是这两周看到多篇关于获取POI数据的微信文章,感觉大家有获取POI的需求。今天主要是介绍通过调用高德POI矩形搜索的JS接口按行政区域获取POI,及调用公交查询JS接口获取公交路线及其站点的矢量数据。大家可能会奇怪为什么以前都是用web服务接口,而这次采用的是JS接口(web端),第一个原因见图一,第二个原因是web服务无公交路线的接口。

9cb709827a0331954bb4826a06cf2d97.png

图1 不方便说明的理由

这篇记录不详细讲解自定义转换器的编制流程,以后有机会在通过web服务调用POI矩形接口,按照行政区域获取POI进行记录。这里最主要就是同各位分享自定义转换并随便介绍参数的设定及使用方法。

注意事项:请使用本转换器进行数据下载及本地保存,本转换器仅为本人学习FME与调用网络API的成果。

一、转换器简介

转换器名称“AmapPOIDownloader_JS_2018.1”,本转换器是基于FME workbench2018.1编制的网络数据接口调用转化器:通过调用高德地图web端接口(JS),按照城市获取POI,或公交路线及途经站点矢量数据。实现的流程:

    1.     按照选择的城市名称确定需要调用数据的范围;

    2.     根据城市名称调用行政区查询接口,获取行政区的范围;

    3.     按照输入的POI类型,调用POI矩形搜索接口,在对行政范围进行划分的基础上(见图2),进行相应POI信息的获取;

    4.     但选择公交路线下载时,会在上述三个步骤的基础上进一步调用公交路线查询接口,获取公交路线的路线及各条路线途经的站点信息。

a9e7bb7809f24ed805327ef44a2b8d67.png

图2 网格划分

二、输出端口介绍

本转换器共有9个输出端口(见图3),各个端口是否输出数据与参数设置有关。

1.     ClippedPolygons:本端口输出分割完成的网格,当参数设置项“自定义下载面是否分割”选择“是”时,将不会有数据输出;

2.     POI_GCJ02/POI_WGS84:分别输出GCJ02坐标系及WGS84坐标系的POI数据,当“POIType”选择“24公交路线下载”将不会有数据输出;

3.     行政区面_GCJ02/行政区面_WGS84:分别输出GCJ02坐标系及WGS84坐标系需要查询的行政区的矢量范围;

4.     BusLine:当“POIType”选择“24公交路线下载”时,输出查询行政区范围内GCJ02坐标系的公交路线线路;

5.     BusStops:当“POIType”选择“24公交路线下载”时,输出查询行政区范围内GCJ02坐标系的各条公交路线途经的站点;a04282f352799a7686821d8b84025425.png

图3 转换器输出端口介绍

由于网格划分时是按照正方形四分划分,网格范围可能会超过查询的行政区范围;因此,POI或公交路线会包含部分周边区域的数据。如图4获取的上海公交路线(双向)有4169条,但实际上仅有3499条,见图5。

eff9240b514d83dde109f73b979bca8f.png

图4 获取上海公交路线是包含周边区域的录像总数量

252f261ed135692346ad8eb682c73400.png

图5 上海市实际公交路线数量

三、参数设置说明

本转换器共有10设置参数(见图6),不同参数间存在一定的关联。

7563285dbc081c411e21083e9462bb3e.png

图6 参数设置一览表

    1.     选择行政区:根据需求勾选需要的行政区名称(图7),这个参数与“行政区级别”参数相关联;如要选择“福建省-福州市-仓山区”在“行政区级别”需要选择“区县级”,见图8。

b8b9e1e47faec440edded796162c0b26.png

 图7 选择行政区参数设置

2. 行政区级别:说明见“选择行政区”。

3c35a0edd934e135bb01c5fea8cb5f1e.png

图8 行政区级别参数设置

    3.     起始网格大小(弧度):用于设定第一次网格划分时网格的大小,单位为度,POI全类别下载时建议0.04-0.16(东部地区-西部地区),可以直接输入数值或拉动滑动条设定数值,图9;转换器将判断每个网格内POI数量是否超过900个,如超过将进行四等分,图10是上海POI全类别获取的划分结果,颜色越深网格划分越小,POI数量越多,这个一定程度反映城市中心分布情况。

229c45fc55f6215d67da08f1dc6e6445.png

图9 起始网格大小参数设置

d11a08ddf0e2709e8e25efb79ebf7b58.png

图10 上海POI全类别网格划分结果,颜色越深网格划分越小

    4.     KEY可调用量:分为“个人开发者”“个人认证开发者”“企业开发者”分别对应key调用数量为“2000”“30000”“300000”,这个参数主要在于达到多个key联合使用的作用。

3d17dd35169d3c98b82cb67763c9bd7a.png

图11 KEY可调用量参数设置

    5.     获取数据类型:这个参数有两个选项,获取POI及公交路线信息时选择“POI”,如只是进行网格划分时选择“行政区分割”。

92dabf7c700890d1b3810dffa6f0dacf.png

图12 获取数据类型参数设置

    6.     自定义下载面是否分割:这个参数比较不易理解,这个参数共有三个选项,见图13。“城市名搜索”表示按照“选择行政区”的名称进行数据获取;“是”选项是工作空间输入已经完成网格分割的矢量面,如“获取数据类型”选择“行政区分割”获取的数据(见图14);“否”选项,也是需要工作空间需要输入矢量面,转换器将对面进行分割,在获取数据。

35b3a7e0d12127c80ed30041e0ddfa18.png

图13 自定义下载面是否分割参数设置

bb8245a65c2410d94ba2f1e10447a3ca.png

图14 北京市东城区分割完成的网格

    7.     AMAPKEY(JS端)/key:输入个人申请的高德地图web端的key。

fa98ff00c2568e9075f3c12386b7d992.png

图15 key参数设置

    8.     最小延时/最大延时:用于设定每两次调用api接口的间隔时间,最大延时必须大于最小延时。

62a620816fa2cc4bcdd7f84d062c9331.png

图16 api接口调用介个时间设定

    9.     POIType:用于设定需要获取POI的类型,可以一次获取所有类型,也可以或是单一类型(但不支持除全类别获取以外的多类别获取),选择“24公交路线下载”将获取公交路线。

1ae7fc77850839cdbb2709affcbcafa2.png

图17 POIType参数设置

三、其他注意事项

1、高德地图,近几个开始大量封禁采用技术手段调用api的行为,大量高并发高频率的采集数据,账号将被封禁,而且几乎不会解禁;建议慎用或不用,本转换器仅作为技术记录,不对他人行为负责。

2、获取的数据会超出采集行政区的范围为这是由于网格划分为规则的正方形所导致的,如图18所示。

d52aedacbbe865ba8323c4b8a7b0a466.png

图18 北京市东城区全类别POI获取结果(90129条数据)

3、key的使用效率,POI采集时每调用一次key,大概能获取33-40条数据,输出端口“Empty”没输出一次就表明有一次无效的调用,这是由于高德地图真实的数据量与对外提供的服务数据量存在的差别,不同时段或同一时段不同采集者获取到的数据存在差异。

4、以前已经有分享过公交路线数据获取流程的编制,这次再次分享是因为调用的是开放接口,数据更为齐全、属性更为丰富,见图19。

2bb11e51178abda5934d7a3679dc14c9.png

图19  开放公交路线JS接口获取的数据展示

5、web网页端的自定义转换器由于缺少公交数据的下载功能,不会分享自定义转换器,会单独写篇记录FME流程编制思路。

最后分享几张以前获取过程的照片,以前多是直接按省份获取,每小时大概能获取23万条条数据,数据量少还能更快,但这个好日子已经成为过去。

5fe3c6ce8e73fc5d697ca93bb5adaa9e.png

b4b4b7b75a211aa376adf4fe74d13285.png

图20 web服务api获取数段展示

JS端口自定义转换器引入了休眠(间隔)功能速度会大为降低,但是基本能保证小量数据获取不会被封禁。

公众号后台回复“AmapPOIDownloader_JS”。获取自定义转换器

如觉得有用,点赞点再看!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值