大数据背景下,新一代可视化编程与可视化地理建模的理论、技术与实践

推广:《城市数据师梦想特训营》原创城市大数据实操课程6月重庆营火热报名!面向城市研究和规划工作者的个性化定制课程,从大数据原理与方法、互联网大数据、轨迹大数据(手机、GPS、刷卡)、到酷炫大数据可视化,城市数据师需要具备的一切技能都在此!(点击看详情)





本PDF提供下载,关注城市数据派微信号udparty,在微信号内回复 :高级城市数据师张海平 ,即可得知免费下载方式


非常荣幸参加2017 FME World Tour深圳站。我今天带来的是“基于FME的新一代可视化地理建模理论和技术——大数据背景下的思考与实践”。

在今天这个主题之下,我希望告诉大家如何去用一种科学的,能够吸引我们一种视角去看待FME,而不是仅仅看作一个数据处理和转换的工具。


我现在是在读地理信息专业的博士研究生,我们组主要的研究方向是数字地形分析,除此之外我在做大数据的分析与可视化,在这方面做了非常多的工作。


我从下面四方面介绍FME支持下的地理建模理论与方法。大家感受到FME不是一个简单的工具或者数据转换工具。它可以在学界和业界发挥非常重要的作用。第二方面,介绍FME和Geoprocessing。另外,介绍FME与Geoprocessing的集成,最后是FME支持下的大数据方面的分析与应用案例。


首先,我们为什么要用FME,为什么要把它看作可视化建模语言呢?在这里也要给大家讲讲,为什么在这个行业能把计算机的可视化编程语言做到FMEGIS里面的Model Builder,能把它做到可视化建模里面领先的技术


GIS的地理建模是对现实世界抽象的表达。大家说可视化就是制图,其实不是。这里我们看一下它和FME有什么关系。先从地理建模讲起,对这个对象进行抽象表达,更多时候我们理解的可视化是一种表示模型,但GIS里面有两种方式,可视化是包括分析。


从整体看我们的空间分析包括两部分,属于两个体系:

一个是表示模型,现在做的更多系统都是一种表示模型,把水体、城市里面各种要素叠加起来,它就是地理的位置关系;

还有一个是过程模型,这就是地理建模。在整个地理建模过程中,分析的前期,无论是用表示模型还是过程模型,最终都是以可视化的方式进行表达。


地理建模有两种方式,一种是表示模型,一种是过程模型。 明白这个流程之后再看我们在分析各个环节的时候,主要是由3个部分组成:一个是数据,一个是可视化,一个是空间分析FME在这三个方面都扮演着重要的角色


地理建模对象,我在四五年之前就一直在用FME。之前大家对FME不是很了解,用得也少,我也没有去重视它。为什么最近这两年重视它,就要从我们的具体工作还有在大数据的背景下来思考。


这是我在写一个自然基金的时候,我的一种体会。我们的认知是在变的,技术的发展和社会的发展,使我们学术的价值观和学术性变了,对地理空间的理解也是变的。我们研究空间数据,主要模拟的是地理空间。但是这个地理空间有两个转向,一个是人文地理学的文化转向、一个是社会学的空间化趋势


用四川省简单的DEM给大家举例。这个图是一个整体的DEM图层,如果需要把某一个地级市拿出来,很简单,拆开就可以了。如果让大家把四川省所有的地级市同时拆出来,把面拆出来。这个问题怎么解决,用FME一步就完成了。


我发现大多数人都是一个一个去拆。是不能一个一个拆的,这就要用可视化编程语言还有FME去处理。平时我们在做研究或者做应用分析的时候,是探索性的,边可视化边探索边发现问题。比如我可能30秒就把这个数据处理完了,你处理一个小时觉得还挺有成就感,干了很多事情。这样本身就阻碍了我们做分析。所以把这个工具能用好就很方便了,一步就完成了。


下面再看一个例子。这是一个最简单的,重复度比较高的数据处理。这里面有50多个图层,我的要求是把每一个省份的图层都拆出来,可能进一步要求你把中国几百个地级市图层拆出来。这样要花多少工夫做。现在我们用大数据,就要用全数据做。对于这个例子,用FME或者地理数据框架一步做完了


刚才这个是重复度比较高,这个是流程化比较强的分析,我们讲建模,建模是一个过程而不是一个动作

这是做的一个地形可视化,这是对不同尺度的处理,从第一步生成第二步,看着好像一步完成了,实际上是不行的。可视化也是一个分析的结果。从第一次到后面不同尺度的三个可视化怎么完成。第一个,提取等高线,提取坡度,对坡度进行分类然后叠加,叠加之后进行标识才能形成,要做不同尺度要重复做三次。这是最简单的过程,但是过程数据18个,执行工具21次。你要做这个整个执行工具要21个工具,要执行输入数据输出数据,要做21次。这还是太简单的例子,我估计各位50%以上是一步一步自己点的。但其实这个很简单,如果用FME做,脑子里一想,把图勾出来,把你的想法整个过程都想清楚,就已经解决了,只需要把数据点清楚,点一下按钮就可以了。


刚才讲的这么多问题怎么解决,用这两种工具解决。这是在可视化编程语言里面做的最好的两个,一个是FME,一个是Model Builder,一个是自动化执行,一个是构建复杂的模型,一个是共享技术模型,模型的构建服务。


最典型的是刚才的等高线的可视化,整个过程可能要用这样一个复杂的步骤完成。把这个模型建好之后可以共享给别人使用,重复使用。FME也是同样一种思路,对它进行流程的构建,就完成了。我们用for循环、判断语句、函数做,现在不需要,把部件都做成FME叫转换器,GIS里面叫工具。用这种东西做把思想的每一步变成可视化的构件,只要连起来,把你流程的逻辑模型想出来,就立马出来了。不管是学界还是业界,不管做科学研究还是工程应用都是可以的。尤其是现在数据那么多那么杂的时候,就更需要用这个方式构建。



地理建模框架是什么东西,是一种实用型软件新方法。大家说FME十年前就有了,Model builder也十年前就有了。它是在大背景下,在应用和需求相结合的时候,就是一种新的东西,不能说它之前存在就不是新的东西。这种东西就在大数据背景下是非常重要的,通过前面几个简单的例子大家思考一下,对比一下你们平时的工作和我刚才说的这种方式,用FME和Model builder建立这种方式做一个对比就会发现这是非常重要的。两个特点,一个是拥有对数据执行的正式语言,一个编程语言要两个东西,软件。正式的软件应该是正式的语言,语言和软件。另外是拥有创建、管理和执行基于此语言的软件框架。


FME和Model builder都有它自己的主程序。正式语言,在FME里面是转换器,在GIS里面就是工具,它具备了这两个特点,所以我把它叫做可视化编程语言,大家以后学编程语言不仅要学代码,可以学可视化编程语言。其他行业没有这个东西。所有东西都可以用可视化来做,只有我们做空间数据的人,把对空间数据的可视化东西和软件工程的思想相结合,才产生Model builder、FMEworkbench这样一种东西。

再看FME的特点,FME包含500多个转换器,GIS包含了1000多个tool。但是这里有各自的职能。比如很多人觉得FME是数据转换器和数据变换,其实它也是空间分析的过程。FME主要职能是基础性的空间分析加数据转换,超图或ARCGIS主要做高级的数据分析与转换。在全球来说,FME基本性空间分析已经超过ARCGIS。本行业的人还没有意识到这一点,因为很多人不了解FME,只了解GIS或者其他的软件。这就是大家还没有意识到它的重要性。

Geoprocessing主要做数据处理加高级空间分析。

FME是一种细粒度的数据处理,而GIS是一种粗粒度的数据处理。比如我们要对某一个数据里面的某一行某一类。比如我现在做地名文化研究,全国有350万个村庄,但是每天有几个村在消失。在这之前,农耕时代的种地是最主要的,农村是最基本的单元,这种文化现在慢慢在流失。村庄的名称里面包含了丰富的地名文化。我在做这个的过程中,对里面的哪一个字带哪一个字,空间分布是有地理特征的,对它做可视化。这里面有很强的规律,不管从方言还是地名,我们用GIS就比较困难,但是用FME分,把全国分成将近5万种模式,这5万种模式对它的语言,几个字几个字,每一个字里面有哪些词义解析。到最后就用GIS去做高级的时空分析。



FME与Geoprocessing的集成。我们在数据的处理分析到最后的建模和可视化整个过程,一部分要用到ArcGIS,一部分用到FME,需要它们配合使用。我们可以把FME里面任何一个构建做成ArcGIS里面的一个工具,他们两个无缝集成

这是FME的转换器,可以集成GIS里面使用,无缝集成。这是一套FME模式集成,并且把它变成一个工具,不用写代码,可以做自己的小模型小软件。



第二个例子,如果您没有大数据分析平台是没法做的。我们花了将近30万在海洋公园给游客发放GPS采集游客在海洋公园的轨迹。采集完之后最主要的是编号、经纬度、时间、调查问卷、性别等等。

我们做的是1天100个GPS,5天就是500人次,采集了500个Excel。每一个Excel里面就是一个轨迹。


有了这个数据可以做很多东西,可以做旅游规划也可以做旅游的各个景点评价,也可以研究人的行为。从多个层面,旅游规划或者行为地理学,从多个层面研究不同的东西。摆在你面前的是500个Excel,你要转成点可能还要转成线,对他进行各种空间分析。500个Excel要一个一个点,这是一个很大的问题。这还是小数据不算大数据,怎么处理。我是和某个大学合作,当时他们一个课题组处理几天,我一个小时就跑完了。



这需要大家理解,不管搞工程应用还是科研。做空间化,空间化之后还要连成线,从不同的尺度,更细的尺度做分析。这里可以自动化处理,处理完之后这个东西是发现不了的,我们可以做更细的分析。因为科研成果的原因不能把最后分析结果放在这里,但是基于它可以做好多好多行为地理学的分析。


这里面遇到一个问题,你在判断某一个人进去了还是出来的时候怎么判断。如果不具备FME和GIS的技术能力,只能通过编程实现,但是如果具备这个能力,只要把它算法想清楚,把设计图勾出来就可以解决这样的问题。


我们做的工作过程中,有好多细节的算法。大数据不光按照我们的想法做出结果,如果你的方法错了把过程中的问题都忽略了,那做出的结果是错的,也没什么意义。这种类似的问题很多,我们就可以用FME和GIS的Model builder做一些更加深入的可视化分析。


接下来谈这个问题,让大家感受一下什么是大数据,在大数据面前无能为力的时候那种状态。我们拿到某市一个月的交通大数据,将近五六十G的出租车轨迹数据,还拿到一个月的地铁和公交刷卡数据。这两个数据加起来转成最简单的文件将近上百G的数据量。很多人也在想,如果你没有那个平台真的没法处理。我们这个东西是很有用的,可以做交通规划分析也可以做行为分析。我们可以知道上海市出租车司机住在什么地方,13000辆就意味着13000个人,他住在什么地方,有空间分布模式。还可以分析出哪一条路是最赚钱的,每一个出租车路径都知道,提取出来了,他花了多长时间,走了多少路程。有了之后就可以分析出哪些路程是最赚钱的,哪一个时间段是赚钱的。但是首先第一步是要解决数据处理的问题。今年我们花了200多万做了一个20多个节点的分布式系统,就解决了这个问题。两个小时就可以把这一天内13000辆出租车所有的数据分析出来。

这个数据量非常大,这只是我们处理一周的数据,就这么大。对于这个数据,我们处理之后在Hadoop大平台上处理。整个架构是这样的,相当于多个客户端同时扫,一共有20个节点,没有这个东西是处理不了这个数据。


我们在分析过程中面临这样一个问题,首先用Hadoop、Spark这种分布式计算做出来,从大数据转换成小数据之后,我们关注的数据节点要从不同的尺度分析。不管是公交、地铁还是出租车,是分不同尺度。


这样用FME,不管是从数据的处理到分析到最后的可视化,整个过程又回到之前讲的等高线问题。你要建模,把你的思考都用图的形式建模出来,建出后出现的就是这个东西。因为你要做研究先要分析,要把概况知道一步一步再往细了做,如果这些工具都不掌握就失去了这个机会和过程。

我们做了一个最简单的,我做深入分析之前要做一个可视化。这是从某市地铁刷卡出去,从早上五点到晚上十二点,五点到六点2万人,六点到七点增到20万,八点这个节点增到80-100万,后面就更多了。这只是一天的地铁数据,后面还有公交刷卡数据,还有出租车量更大。


我先要了解一下趋势是什么样,做简单可视化之后,了解规律和过程。先把基本的规律、总体趋势掌握了,然后再做深入分析。在这个过程中,FME+ArcGIS或者其他的软件,对它建成这样一个模型,建完模型之后把数据输入进去,自动会算出来。这样就可以把7天做出来,同一天不同时间,做横向和纵向对比,然后发现某种趋势再做深入分析。


不然光做这12幅图都累死了。大数据不管是数据量大不大,首先是过程比较繁琐,一定要学习FME和Model builder把这个工作完成。我们先分析7天的再往后分析。我们做出租车一天24小时,分24个节点,168个图层,一个一个做肯定不行,就要建模。我应该算一个资深的程序员,我一直在写软件,也精通语言比较多,但是我现在尽量能不写就不写。用刚才说的FME可视化建模就可以,包括爬取数据是很简单的,不需要写程序,配置一下就可以了


不管是简单的问题还是各种复杂的问题,不管是数据量大还是数据量小。海量数据先用Hadoop处理,处理完就变成小数据了。对于小数据,我们要建模,做分析,做可视化,都是繁琐的过程,并且是螺旋式上升的过程。这个过程中你如果不具备这种素质,只能一步一步做。


以我自己的亲身经历和感受看,你应该把FME和Model builder这两个东西学好了,学好之后处理数据会得心应手。学习这个东西的时候也是一件很快乐的事情。希望通过我这个角度,大家以这种可视化编程语言的理念去应用到我们的工作和分析的学术研究当中。



了解更多FME 及其应用案例


FME下载地址


FME:再次热爱你的数据


FME在规划行业中的应用


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


FME零编码、快速、自由抓取互联网数据:微博&POI


基于FME的空间数据交换与共享平台案例:上海&浙江


【麻省理工智慧校园案例】FME应用在校园尺度上的空间决策支持和分析:GIS、CAD、BIM、TABLEAU的融合


基于FME的空间数据交换与共享


FME—成为栅格大师的17种方式



猜你喜欢

张海平

南京师范大学

南京师范大学虚拟地理环境教育部重点实验室博士,山东大学TBL实验室成员 主要研究方向:空间分析和地图可视化技术

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

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