首先将需要获取POI的区域转为WGS84的经纬度坐标,转换通过ArcGIS实现,本来想通过FME实现但公式计算有些复杂,而只用ArcGIS也方便许多。
CGCS2000投影(地理)坐标系转WGS84坐标转换方法参考:https://blog.csdn.net/SeptDays/article/details/104392507
我看其他很多博客使用的是百度POI获取,我用的高德,其实大同小异。主要还是构造url调用高德API提供的web服务。需要的数据主要有:1.获取范围(可以使用多边形,多边形需要首尾坐标相同,我为了方便使用的外包络矩形。2.POI类型。3.页码(默认一页20条数据)。4.**
思路:
我的原始数据范围较大,本来可以用Tiler划分瓦片直接输出,调试一次数据量很大,因此我选择编号为4的乡镇作为范围。注意高德地图输入的多边形坐标小数点最多6位。
高德的数据主要有page来控制,新增变量page_num,利用循环构造url。
我选择的输出方式是json,FME能够很好的解析json格式的数据,当然xml也有解析的转换器。
高德获取到的POI中有一项是count,是这一块区域里的count值,可以利用他来判断跳出循环的条件,也可以当获取到的poi数据为空时跳出循环。我选择的是后一种,更具有可移植性。
利用ExpressionEvalutate完成page_num的自增,再连接url。每一次循环得到的数据都与之前的拼接在一起。stringConcatenor_2完成这个工作,构造一个递归循环。cache+=_response_body
2.普通key抓取量每天有限制是2000,准备ie'bnuhz做ouz一个'key池子