最近生产部门接到客户的一个需求:需要我方提供村界线数据、乡镇界线数据叠加高德地图的验证图片。简单沟通了解到是客户对我方提供的数据的准确性没有足够的信心,又懒得去抽检,就要求我方提供基于高德的验证图反馈他们确认。说好的信任呢?
接到需求的第一个反应,安排一个GIS研发人员,调用高德JS API将村庄及乡镇界线数据,与高德在线地图进行叠加,同时通过高德查询接口查询相应界线名称进行比对标注,之后再进行批量出图。嗯,完美!突然发现我现在没GIS研发了,需要从GIS组协调人,然后就没然后了...
只能换一个处理思路了,之前接触过百度地图的静态图接口,赶紧去高德开放平台搜索下,果然你有的我也有。
那现在基于FME的界线信息高德比对校验图输出逻辑就出来了:
- 界线数据WGS84坐标转GCJ02火星坐标系;
- 提取界线数据各要素坐标串信息作为多边形标绘参数;
- 根据界线名称信息请求高德POI查询接口获取高德对应信息坐标位置作为名称标注参数;
- 构造完整的高德静态图URL,请求静态图服务接口获取比对效果图。
梳理出来完整的处理逻辑后就选取相应的转换器搭建我们的FME工作流,将梦想照进现实。由于坐标转换提前处理好了,就没有在工作流里面进行体现,所以整体工作流比较简单,核心转换器就是Httpcaller,这里面第一个是请求POI查询接口然后解析返回的json串,获取坐标信息,第二个就是请求的静态图接口,返回的是相应的图片,最后加了个PythonCaller没做啥高大上的处理,就是对输出的静态图按要求进行了一下重命名。
整体工作流程如下:
最终实现的成果大体如下,标注和界线配色效果可以根据个人的喜好进行参数调整:
上千幅图还是很快就能处理掉,没有增加多少人力成本,对公司对客户都是比较好的结果,所以客户关系一定要维护好,否则你不晓得会给你出什么难题,最后FME你值得拥有!