城市开放数据获取与分析

使用FME进行地理编码转换

2019-10-09  本文已影响0人  进击的码农设计师

此次数据为上海杨浦区各街道社区受理服务中心地址信息。

地图API接口可以任意选择,这里使用百度地图API接口。

1.地理编码:

将地址信息映射为地理坐标的过程称之为地理编码。
使用FME进行地理编码操作过程比较简单,首先构建访问的url,然后对返回的信息进行解析操作,对属性进行整理后输出即可。下面是FME操作的整体流程图:

需要注意的是,有时候excel中会有一行表头用于标注一些信息,例如下面这样:

这时,直接读取也会把第一行读进来,但是这不是我们需要的,可以通过点击读模块对话框中的参数按钮,在弹出的对话框中的sheet to read栏中的Field Names Row(字段名称行)中设置为2,也就是将第一行跳过。

该转换器用于构建请求的URL。
HTTPCaller Parameters对话框中设置请求的url以及方法,并根据API文档设置相应参数,返回后的信息会储存在_response_body中。

该转换器用于从格式化文本中提取要素属性,此处为JSON格式。
JSONExtractor Parameters对话框中设置要解析的文档以及提取查询语句。

该转换器用于对属性值进行整理。
AttributeManager Parameters对话框中的属性动作栏中选择要删除的属性值。

将得到的数据保存为新的excel文件,运行得到结果。

需要注意的是,百度地图API返回的坐标值默认为bd09ll(百度经纬度坐标)。

2.逆地理编码:

将地理坐标转换为地址信息的过程称之为逆地理编码。
使用FME进行逆地理编码操作过程与地理编码类似,这里就不做详细介绍。下面是FME操作的整体流程图:

在构建url时需要注意的是,百度地图API逆地理编码要求输入的是一对坐标值(lat<纬度>,lng<经度>),并且要求纬度在前,经度在后。
所以此处设置参数的时候需要使用文本编辑器


上一篇下一篇

猜你喜欢

热点阅读