【大数据必备工具】基于FME的城市开放数据(大数据)的获取与处理

推广:《城市数据师梦想特训营》原创大牛公开课报名详询QQ 3070403320

【新课程!城市大数据实操攻略】12月11日北京开营,火热报名中!面向城市研究和规划工作者的个性化定制课程,从大数据基础、互联网大数据、轨迹大数据、大数据可视化、Python、机器学习、到 R,城市数据师需要具备的一切技能都在此!(点击看详情)




今天由我给大家介绍一下,基于FME的城市开放数据(大数据)的获取与处理。FME这款产品,是非常有特色的,我相信能够给大家带来耳目一新的感觉。这个产品诞生也有二十多年了,但是可能各位了解的比较少。


  

大数据来了,确实大家都感受到了它强大的力量。


  

特征不讲了,但是想通过特征来反映三个在技术上的通病,或者说遇到的一些麻烦。


第一:对数据挖掘性能高

大数据要用于生产、决策。体量大、变化快的数据对性能要求很高。就是你要有一个数据分析工具,或者是处理工具,对它的性能要求很高。


第二:数据挖掘难度大

因为相对来说它的价值密度低,想要捕获规律,数据挖掘的难度就比较大。


第三:数据挖掘工具适应性高

因为数据的类型非常多,所以对数据挖掘工具的适应性要求很高。这里面可能从传统的大数据,到现在指的互联网这样的大数据都有所涉及。


  

所以我们做了一个问号。


  

第一类:GIS数据

举三个例子。


  

第一个:航天航空遥感数据

传统的GIS经常会用到的一些数据。如说航空航天所能获得的所有的影像数据,一直以来传统的GIS都认为这是非常大体量的数据。


  

第二个:倾斜摄影测量数据

倾斜摄影测量非常地热门这两年,在实时快速地获得影像以后,建立一个城市的自然模型,也会产生大量的数据。


  

第三个:点云数据

还有就是室内与室外的这种点云的快速的激光雷达的采集,也会带来大量的数据。以上是传统的和新技术所带来的在GIS里面最常用的,或者是数字城市最常用的几类数据。


  

因为这样的传统数据,在GIS行业里面,GIS软件更多的只是用来最终地展示它,而所有的数据处理中间过程,都是专业软件完成的。基本上GIS的很多平台,是没有涉及到大数据处理本身里面去的。


第二类:BIM数据

在建筑行业里面,现在BIM是非常热门的一个话题。它也会产生大量的数据,甚至一个复杂的单体建筑,一段地铁的通道数据,都会超过传统GIS在一个数字城市里面建的面的数量。这样两类不同的数据,我们要把它融合,也是有非常大的难度。


  

第三类:基于位置的大数据。


  

就是移动互联网和物联网的数据,这是基于位置的大数据。

这里我们举了一些例子。不知道大家有没有注意到,至少就我本人来讲,已经连续很长时间没有使用现金了,都是通过支付宝或微信来支付。


  

我觉得这种个人的消费习惯大数据,将来在整个的大数据中都可能成为重要的分析点。


  

这样带来一个问题,就是我们希望在应用端和数据端,更快的处理速度和更高效的数据挖掘能力,那么在数据+运算模型上,能不能有好的工具。


  

那么传统的GIS,不具有大数据的管理和处理的能力,目前仅仅是作为数据展示平台。当然我相信,所有的GIS软件厂商,也都在往前努力,让自己的平台适应大数据。


第二,多类型的数据融合。这个是目前核心的缺陷,就像刚才说的,你把传统的GIS数据、BIM数据,加上包括移动的互联网的数据,都需要能够融合在一起。


第三,更多新兴的技术还不具备复杂空间大数据处理能力。比如说基于Hadoop、Spark这样的一些分布式计算的能力,对于复杂的空间运算,还是有一定的缺陷。


是不是我们自己就能把这个问题解决了?也并不全是,现在只是给大家提供了这么一个软件的产品,叫FME。这是加拿大safe公司在1992年开始开发的,开发的最初目的是为了解决GIS和CAD之间的数据交换。


  

经过20多年的发展,它现在已经支持全球400多种数据格式、类型和互联网协议。所以我们把它定义为一种ETL工具,从原数据到应用之间的数据清洗、抽取、加载,甚至具有更快速地去为你的应用提供多种来源数据的可能性。


FME核心的三个特点:连接、变换、自动化。

这也是我们希望从不同来源的数据,为你的应用提供高效的清洗,缩短整个过程的时间,提高效率的。它支持的数据类型,从传统的CAD、影像、点云、三维、BIM,到互联网的GML等等,到云的数据类型,空间数据库类型,和非空间数据类型。


从数据上面讲,有400多种数据的类型和协议,还有提供了500多个数据处理的可定义为转换器的函数。几乎不用写任何代码,只要经过一定的训练,就可以很快地搭建数据抽取的过程,为你的应用提供数据。


  

简单介绍一下它支持的商业的大数据类型,比如说DynamoDB、MongoDB、亚马逊的、谷歌的、IBM的、微软的等等这种非结构化的大数据类型,都是直接支持的。


  

另外就是对于互联网协议的和网络地图的支持,比如说只要是FTP协议的,还有就是OpenStreetMap、百度地图、高德地图等,只要提供了开放式的API的,都能够从网上去获取。

  

那么讲到这儿,用一些例子给大家看一下。第一个最简单的就是我把左边的目标数据源,写进数据源然后连接到一起,就已经完成了所要的数据的获取了。这是最简单的动作。


  

复杂一点的,就是在里面做清洗的动作。甚至想做一些数据的比对、更新,那么只要添加一个处理器,或者一组处理器,你也不用写一行代码就把这个过程完成了。我们来看一些,我们自己做的测试和用户做的一些案例。


  

第一个,互联网大数据的获取与处理。

举百度的例子,百度提供的POI或者提供的这种API,你获得到的实际上是一个GEOJSON,是左边的这种,用文本打开,它是一串代码,有编码、坐标等。我们最想要的是把它变成一个个点落在地图上面,而且是表达属性的表格方式来展示。


  


比如说我们想转成一种shape,或者转成一个其他GIS所支撑的,或者网上地图所支撑的类型。这是我们原始搭了一个模型,就是用FME的,它提供的转换器,这8个模型,也没有写一行代码。


我们把这个模型已经封装成一个刚才说的转换器。这些过程,你自己也不用做了,直接下载我们在网上提供的一个免费插件,你就可以去获得百度在网上给你提供的一个key,把整个模型放在服务器上,它就可以帮你去按照百度提供的数据的要求获取数据了。


  

一个在广州的FME爱好者,自己做了这么一个数据抽取的模板,部署百度云上,用了三天两夜的时间,把广东省的POI的数据,522万条全部获取下来,形成了一个直接使用shape文件



 

同时还可以从谷歌的地球上去获得很多数据,我们也把它分装成了一个转换器。你只要把这个转换器加载到刚才说的那种画布上面,可以选择谷歌的影像、路网等。你只要去下载,那么就可以获取谷歌所有的数据。


这个是我们基于这些厂商开放的API,所以这里面肯定有一些限制。那么你想突破这个限制,你自己肯定要做一些算法的,或者是多个key的循环,这也是并没有违背企业提供数据的开放协议。



  

这个是我们自己做了测试,获得了百度的成都POI数据。


首先我们自己做了一些分类,只要你去下载数据的时候,添加一些条件,就可以很快获得美食的数据,房地产分布的数据等。而且刚才我说了,你不需要写代码。


  

这是我们获取的模板,大家看这个模板很简单了。几乎是只要你用了我们刚才说的百度的数据下载器这么一个工具,几分钟你就可以完成这么一个过程。


  

地铁刷卡数据的处理案例。


  

这个是上海的开放数据的竞赛提供了CSV格式的地铁刷卡数据。


  

这个是其中获得二等奖的一个团队成果。用FME来处理CSV数据的时候非常地简单,生成了这样的OD模型,最后渲染出的效果是这样。可视化效果并没有用FME去做,因为FME并不完全解决可视化的问题,它只是快速地从原数据到目标数据集的处理过程。


  

数据处理的模板也就这么一个,也不用写代码,而且可以非常地快速解决海量数据的处理。


当然我想数据量越大,可能你写的这样的模板,或者IT底层架构,都是要调整的。比如说可以用多引擎并发的方式来处理,当然这样的商业费用会变高。


  

同时再看一下,FME能输出到的目前国内的可视化互联网地图有哪些呢?


  

第一个supermap的地图慧,可以把你获得的POI的数据或者其他数据等,直接地写到地图慧里面。


这是地图慧所给我们在web上提供的一种数据的类型,就是只要把数据处理成excel就可以了。用FME把你获得的数据,或者你想要的数据,写成一个excel是非常简单的事情。


  


就是这样的一个模板,就是刚才从成都获得的POI,把它分类,输出成不同的一个excel,然后提交到地图慧。



这些是餐饮、休息场所的比例和美食综合情况,都是写在地图慧里面的。


  

还有一个国内比较热门的叫GeoHey


  

GeoHey的特点是在热力图,这种分布图上非常地亮丽,所以我们也把我们获取的这种数据,可以快速地写到GeoHey里面去。


  

这是一些数据的展示,Tableau是全美比较大的一个BI的产品,专门做business intelligence,现在也有基于server的产品。


  

刚才成都的所有下载的数据做了分类,快速地写成tbx,直接用Tableau打开,就可以看到结果了。所有的这些过程,全部用FME帮你一次性做完。经过培训,你可以很快地完成所有的动作。


  

这个是初步做了一个分析。大数据的分析实际上非常有价值,我们没有做任何的模型的建立,只是把成都的数据做了一个分类,就发现武侯区的餐饮比例和写字楼比例非常高,而且租金价格相对比较便宜。

可能我们就直接得到了一个结论,如果要租写字楼,不去新区的话,在武侯区就可以了。这个我们就没有做,就是用了三天的时间下载了数据,然后到Tableau里面做了统计、汇总和分析,就可以得到一个初步的结论。当然怎么去得到这样的结论,怎么样建立分析的模型,我想这可能是地产商,或者应用单位等等,需要去做的事情,而我们只是提供了数据抽取和清洗,最后加载到应用的过程。



  

自动化运营。FME本身除了刚才说的,你定制模板这样的数据梳理的概念,还有两个重要的产品,一个叫Server,一个叫Cloud。Server把你刚才所处理的所有的数据的过程变成服务,你不用开发。它有两个菜单,变成服务以后,就放在了你自己的私有云里面,或者放在你的服务器上,可以联上外网,就可以自动地获取了。


同时他把他的这个产品,在亚马逊上还架了一个云。现在在澳大利亚、欧洲、北美,都有自己的云。我们明年也可能会把Cloud引到国内阿里这样的云上面去,国内的一些用户可以直接使用国内的服务器来做这种空间运算。因为毕竟涉及到大量的基础运行的数据的时候还是涉密的,连外网都上不了,放到国内来的时候,有一部分运算是可以在国内的网络上去运行的。


证明了它的整个的虚拟化和云计算的能力已经达到了,可以在基于公网的这种云计算。同时FME开始支持Docker。也就说如果在你自己的虚拟环境下要部署的话,是可以非常地快速搭建这样的并行运算的环境,而且Docker是全免费的。


这个例子是我们自己的FME实施人员做的,他们也不太懂编码,从头到尾给大家做了一个简单的例子。


  

我们从中央气象台的网站上,首先获得了城市的编码,下面那一串过程,就直接读网站,FME里面提供了一个可以访问网站的模块,你去读一个网站,就可以得到这个城市的编码。再同时从这个网站上把气象预报的数据抓取下来。


第三步访问百度,去获得这个城市编码的地理位置。最后把它写到可视化,写成一个服务,写成shape文件给大家看。但是实际上最终我们写到了ArcGIS Online里面去了。我自己什么都没有,我只提供了一个模型,一个模板,我从网上获取数据,最后发布在ArcGIS Online上。


  

最终我们定义了一套发布样式,比如说晴天就是太阳,下雨可能是雨伞,或者是雨点等等。恰巧提的这个数据全部是晴天。


这个过程又把它自动化地发成一个服务,也没有写代码,就把刚才所有这个过程把它放在FMEserver上去。这样我每天让它定时去运行,就可以在ArcGIS Online上有一个基于地图的天气预报。


在这里面我只用了一天的时间去连分析网站,最后写出来就完成了。没有写一行代码,就写了这么一段流程,就是FME的过程,就把它完成了。当然你想学习一个软件总是要花时间的。


再举一个国外的实际例子。这个是全球最大的船舶运营商,租赁船只并且自己监控,每天大概有500万个卫星的数据跟船只数据交换。


  

从卫星上获得的数据,希望能够在他运营的环境下把它展示出来,展示用的是ArcGISserver来做的。这是最终的效果。从卫星上最后把它写到ArcGIS server里面去,就是FMEserver来完成的。他们只用了4个月的时间,就完成了整个数据的每天的抽取更新动态展示。整个部署的系统的架构比较大的。


  

再介绍一个麻省理工的经典智慧校园案例。


这个强调的是如何建立一个数据校园。实际上我们真正地应该从数据开始分析,怎么去获得数据,怎么去建立一个有数据的模型,才有可能智慧。基础数据上从5个方面:建筑、开放空间、交通、公共设施、基础设施,5个方面全面地建立了数据模型,从传统的CAD,到BIM的模型,路网数据等,最后建成了一个完整的数据库,一个真实的三维数据库。


第二步,把内部导航的数据全部建立起来,也是用BIM数据和CAD数据,建立每个房间之间联通的数据库。


  

建完了数据库以后,它是最终应用BI来做运维管理。

  

前期的那个过程几乎全部是用FME把数据收集起来的,这个分析并没有用FME去做。但是它有了这么一个好的数据基础,它可以做到什么?这是它的总结,它在这些方面,全都能够直接利用数据库去完成工作.

所以建立一个智慧城市,是要把很多数据收集起来,把数据建成一个库以后,才有智慧的基础,要不然都是纸上谈兵,谈不上智慧。


  

FME不光能接数据,它还能和很多应用,很多开发语言比如说R语言、Python去接。你有开发能力的话,你还可以利用R语言里面的一些更复杂的统计,你就可以把GIS数据,获得POI的数据,或者获得的互联网的数据,利用R的函数,做更复杂的统计和分析。


总结。因为知道FME的人还是比较少,尽管我们在国内已经做了十多年,更多的是在传统的、规划的和测绘的和国土的行业,在做CAD和GIS数据的交换。


FME不是GIS软件,它跟GIS软件是互补的,包括很多数据存储,oracel这些都是互补的,FME是为这些应用来提供数据的。那么FME擅长的是什么?批量的帮你去利用新来源的数据,把老数据的整个通路打通,所以往往把FME定义成一个幕后的工具。


FME的特点:

易用:不用编程就可以完成刚才我说的数据的交换、抽取、更新的动作。

灵活:因为我们还开发了基于国内supermap的mapgis这样的数据格式,可以方便地扩展。

高效:具有大数据的这种架构能力,同时可以自动化地去处理数据。



FME是一个支持数据融合的,能够把目前常见的数据或者不常见的数据,都能够更好地去联系起来的,为你的应用更快地提供有效的数据的一个工具。

谢谢各位!


(以上PPT内容由北京世纪安图数码科技发展有限责任公司授权【城市数据派www.udparty.com】发布。文字内容由城市数据派整理,未经演讲者审核


阅读原文


猜你喜欢

北京世纪安图数码科技发展有限责任公司

www.fme-china.com

长期致力于地理信息底层技术研发和产品开发,业务范围涉及数据获取与加工、地理信息三维平台研发、政府与企业行业信息化解决方案

© 2015 城市数据派 粤ICP备15036603号

copyright © 城市数据派UDParty.com-深圳数派互动传媒科技有限公司.ALL Rights Reserved