使用FME实现电子地图应用之地址解析
原文发布时间:2013-09-02 09:23:58
原创:小新
随着电子地图的不断发展,应用也越来越多。像诸如百度地图等地图服务厂商还提供了免费的百度地图API,包括JaveScript API、Flash API、Android SDK、Web服务API等多种API产品。今天这篇文章是基于Web服务API中的Geocoding API,在FME中实现一体化的地址解析和逆地址解析流程。
利用FME实现该流程的好处在于:
? 可以将需要获取坐标的地名地址,或者需要获取地名地址的坐标,作为参数进行发布,使用户在每次运行模板时能够灵活配置需要解析的地名地址;
? 整个流程一体化,将调用API的过程及返回结果的解析一站式完成,提高工作效率,并且流程可复制。
下面来看看具体的实现过程:
一、注册百度账号,申请调用API的key
在http://developer.baidu.com/map/geocoding-api.htm中
点击“获取密钥”,在打开的页面中,填好申请资料,然后“生成API密钥”,则会提示你的key值,将key值复制到记事本中记录保存,如我的key值为:
30b080e2eed01f10fd2951552653470a
二、创建FME模板
根据获取地址的说明,不管是地址解析还是逆地址解析都是通过访问URL来完成,如下:
在FME中创建模板时,首先需要生成上图中的URL,再通过HTTP访问的转换器调用该URL,最后解析返回的结果。
以地址解析为例:
1、 首先创建将“地址”、“输出格式类型”、“用户密钥”、“城市名”创建为模板的发布参数:
2、 按照URL的格式,创建调用的URL,并通过HTTP的转换器进行访问:
由于我打算输出JSON格式的返回结果,因此,在HttpFetcher之后需要JSON相关的转换器进行结果解析,通过运行模板,把结果输出到viewer中查看,分析JSON解析的步骤,以查询“重庆市磁器口”的坐标为例:
运行时,参数输入为:
HttpFetcher后的返回结果格式为JSON,内容为:
{
"status":"OK",
"result":{
"location":{
"lng":106.458997,
"lat":29.586607
},
"precise":0,
"confidence":40,
"level":"\u6751\u5e84"
}
}
通过JSON结果查看,分析结果存储在JSON中的位置。
3、 添加JSONExtractor转换器,提取返回的坐标:
通过两个JSONExtractor转换器分别获取经纬度的值。
4、至此,就通过百度地图API得到了“重庆磁器口”的经纬度坐标。可以把坐标存储到目标数据的属性中,也可以通过2DPointReplacer生成对应的点数据。
结束语:
1、 逆地址解析的过程与之类似,只是调用API时的URL格式有差异;
2、 除了这个API,其他如POI API也可以用类似的方式来调用。
使用FME实现电子地图应用之地址解析相关推荐
- 2021FME博客大赛 —— 基于FME的电子地图道路面快速构建方法研究
作者:吴国华 随着基础测绘成果应用的不断推广,电子地图数据的快速生产与更新的需求成为近年来备受关注的热点问题.道路面作为电子地图中主要地物要素有着举足轻重的作用,针对电子地图中道路面生产和更新的应用需 ...
- 前辈做的电子地图API调研,转过来…
Google Maps API : Google Maps API 基于Google Maps,能够使用 JavaScript 将 Google Maps 嵌入网页中.API 提供了大量实用工具用以处 ...
- 2020FME博客大赛——基于FME的天地图·浙江融合数据质检程序的设计与应用
作者:闻达 单位:浙江省测绘科学技术研究院 摘 要:基于FME技术,根据天地图·浙江融合设计要求,并结合天地图日常运维工作,建立一套严格的质检规则,用于检查天地图数据是否符合标准.对数据进行逻辑一致性 ...
- 主流电子地图API比较 google map api, mapabc ,yahoo地图
主流电子地图API比较 Google Maps API : Google Maps API 基于Google Maps,能够使用 JavaScript 将 Google Maps 嵌入网页中.API ...
- 自己写个中国天气网:利用leaftjs实现多图层切换、风场、洋流、温度插值等值面、定位、逆地址解析、任意位置天气情况
大数据可视化利用leaftjs webgis实现风场可视化.洋流可视化.百度地图.高德地图.谷歌地图.openstreet.arcgis地图.卫星图.电子地图图层.定位.逆地址解析.任意位置天气预报获 ...
- postgis 导出 栅格_【FME HOWTO系列】08 导入数据库表、栅格数据、矢量数据
概述 在本练习中,您将学习如何将数据导入数据库并使用FME从数据库导出数据.这是一个简单的拖放过程,支持超过400种数据类型; 但是,本教程仅提供从3个类别导入/导出数据的示例:数据库表,栅格数据和矢 ...
- 【百度地图API】如何区分地址解析和智能搜索?
摘要: 很多用户一直无法区分地址解析geocoder和智能搜索localsearch的使用场景.该文章用一个详尽的示例,充分展示了这两个类,共5种方法的使用场景.并在文章末尾贴出全部源代码. 工具如下 ...
- 学习《Building Applications with FME Objects》 之二 使用Sessions(会话)
使用FME Objects的起点是创建一个FME Object session(会话)对象FMEOSession,除非你的应用程序要操作有限的虚拟内存,当你的应用程序初始化市可以简单的创建FMEOSe ...
- 西安电子地图下载 来自谷歌电子地图库 地图展示15、17、19级
西安电子地图下载 来自谷歌电子地图库 地图展示15.17.19级 一般来说商业用图几乎相同就是17级左右,提供的下载全然满足大多数人浏览使用,假设用于旅行外出当然级数越高越好,假设是驴行,那就更有必要 ...
- 互联网协议 — ARP 地址解析协议
目录 文章目录 目录 ARP 简述 ARP 的基本功能 ARP 的数据包结构 ARP 的工作原理 ARP 的客户端 ARP Proxy(代理) ARP Probe(探测) ARP Spoofing(欺 ...
最新文章
- FullCalendar
- [0] OpenCV_Notes - 琐碎
- 十八、PHP框架Laravel学习笔记——模型的增删改
- Web API 路由 [二] Attribute Routing
- bzoj 4514: 数字配对
- 洛谷P1880 石子合并(区间DP)(环形DP)
- 分享一个mysql的docker-compose.yml
- JXTA第一步:HelloWorld
- Word XP 中目录的编制方法,Word XP 功能键使用大全
- 甲骨文裁员,华大人员瘦身优化,亚马逊鼓励离职?
- CentOS 开启端口
- oracle函数translate,oracle中Translate()函数用法
- Scanner的close()方法的使用以及Scanner应该如何关闭
- web 服务器安全维护,Web服务器安全攻击及防护机制详解
- [javascript]替换所有带/的字符串
- HTTP和TCP之间的关系
- 计算机故障维修四种思路,维修“望闻问切” 电脑故障的排除方法
- 虚拟磁盘服务错误: 卷大小太大。
- Revit调用winform
- 【议程公布】2021年MongoDB中文社区南京技术沙龙
热门文章
- NRF24L01调试的一些经验之谈
- SpringBoot实现人脸识别功能
- CentOS安装完没有ip地址的解决方法
- php 绕不过的laravel,php – 为什么在Laravel中不能轻松下载大文件?
- 【数字图像处理】实验三 图像分割(MATLAB实现)
- 向量数量积公式_向量的数量积公式大全
- 必须掌握,二叉树的前中后序遍历(迭代+递归)详细代码
- label怎么换行 vb_ASP.NET Lable中进行换行
- 第四章 使用OpenCV探测来至运动的结构——Chapter 4:Exploring Structure from Motion Using OpenCV
- Delphi曾是一代王者,2020年Delphi强化WEB开发、拥抱开源、支持开发者社区,升级Delphi语言整合Python恢复昔日的跨平台开发工具王者地位