使用FME进行地理编码转换

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用FME进行地理编码转换相关的知识,希望对你有一定的参考价值。

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

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

将地址信息映射为地理坐标的过程称之为地理编码。
使用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(百度经纬度坐标)。

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

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

如何使用 FME 处理 Kafka JDBC Sink 连接器

【中文标题】如何使用 FME 处理 Kafka JDBC Sink 连接器【英文标题】:How to deal with Kafka JDBC Sink Connector with FME 【发布时间】:2021-05-05 23:56:16 【问题描述】:

我已经设置了 Kafka JDBC Sink 连接器,它将使用来自 kafka 生产者 api 的数据,但是我想设置 FME 来处理数据端并将其接收到它将与 GIS 交互的数据库(地理信息系统),它将流式传输空间数据。我对 FME 了解不多,所以有任何信息/文档吗,或者有人知道并可以解释如何使用 Kafka JDBC Sink 连接器设置 FME 谢谢

【问题讨论】:

您能否编辑您的问题以建议您如何看待 FME 与 Kafka Connect 的合作?你想做什么? @RobinMoffatt 我在这里不熟悉 FME,但我相信我正在尝试检索从 FME 端到接收器连接器的数据并使用它 我需要接收器连接器中的哪些配置来支持它 【参考方案1】:

FME 连接器似乎是生产者/消费者,与 Kafka Connect API 没有关联。 https://docs.safe.com/fme/2019.1/html/FME_Desktop_Documentation/FME_Transformers/Transformers/kafkaconnector.htm

您也不会“使用 JDBC 连接器进行设置”。接收器写入数据库,因此 FME 需要从那里读取,或者完全绕过 Kafka Connect,并使用 FME 支持的 Kafka 消费者进程

【讨论】:

以上是关于使用FME进行地理编码转换的主要内容,如果未能解决你的问题,请参考以下文章

如何使用谷歌地图 api 将邮政编码转换为地理位置(纬度和经度)?

使用FME将CAD中块参照数据转换为shp数据

地理编码地址到经纬度转换(APP FORCE CLOSES)

使用地理编码从 latlang 转换为地址 Not working Android Kotlin

如何实现地理位置与经纬度坐标的批量转换

iOS5 反向地理编码限制