大数据时代,人们的日常生产、生活中,无时不刻不在产生和收集空间相关的数据,从公共交通的刷卡数据到带有地理标签的社交媒体数据,从共享单车的轨迹数据到道路网摄像头监控数据等等。通过收集这些空间数据并加以分析,可以帮助人们更好地理解出行规律、挖掘空间模式,从而优化我们的生活居住的环境。在空间数据的分析中,对其进行可视化是其中重要的一环。可视化,将躺在表格里数据库里抽象的数据,利用计算机技术,转化为形象的、直观的图形图像,呈现在人们的面前,利用人视觉感知能力,对数据进行直接、有效的理解和分析。而空间数据相关的可视化,即,空间数据可视化,则是空间数据分析的“最后一公里”。
将空间数据映射到二维或三维的空间中,是对现实世界的一种直观、有效的可视化表达,并非是近些年的发明。早在19世纪,Charles Minard的拿破仑进军图,就是一个非常有名的“一图胜千言”的空间数据可视化的例子。通过黄黑两条色带来表示拿破仑军队在进军和折返莫斯科的兵力情况,再嵌以途中经历的地形、气温(底部折线图)等环境信息,可以很直观地观察到几次兵力骤降与温度骤降有强关联。

拿破仑进军图,by Charles Minard
如今,各式各样的数据大屏、数据仪表盘,通过将多源空间数据以简洁直观的图表形式进行组合从而动态展示,能够让人一目了然,逐渐应用于生产生活中。例如,政府管理部门利用可视化大屏监控社会运行状态、应对突发事件辅助决策,公司企业利用数据可视化系统管理企业,为安全生产保驾护航等等这些应用,足见空间数据可视化在空间数据分析中的重要性。
在主流的地理信息专业的训练中,教授arcgis等空间分析工具。arcgis具有强大而悠久的空间数据分析功能,同时也兼具了可视化功能。那么,本书所提出的空间数据可视化实践,并非是对arcgis中可视化功能的替代。相反,本书所介绍的基于web的空间数据可视化实践,是arcgis等空间分析工具的延伸和补充。掌握基于web的空间数据可视化能力,不仅能够让空间分析的结果以更容易访问的形式(只需要通过互联网)呈现,还可以实现定制功能的空间分析系统。在实践过程中,我们发现,具备地理信息专业背景的读者能够将传统经典的空间分析工具和基于web的空间数据可视化工具非常好地结合在一起,相辅相成,各取其长。
相比于传统的运行于本地的地理信息计算工具如ArcGIS,学会搭建空间数据可视化与可视分析系统,不仅对展示可视化界面的自定义,还可以实现定制的分析功能。对于地理信息学科的人们来说,是一种互补的学习工具,也是新工科背景下GIS人们的重要技能。
那么为什么要基于web呢?基于web空间数据可视化及可视分析的开发采用“客户端-服务器”的前后端架构。基于web可视分析系统:
这本书缘起于我在深圳大学进行本科生课程《数据可视化》教学时,组织的可视化编程兴趣小组。我所在的城市空间信息工程系,是将地理信息系统、计算机技术等多学科交叉的一个新工科专业。不像计算机系的学生,我们系里的学生更多地是利用计算机技术,解决城市空间的问题。而对于数据可视化这个方向,我们主要是教授他们掌握计算机可视化的一些工具,借以适当的编程,达到空间数据可视化的目的。
当说到需要“编程”时,可能就会吓退很多人。这也是我们系的大部分学生在编程实践时,存在的畏难心理。我们的课外可视化编程兴趣小组,通过学习沙龙的方式,让深大地信系的同学们能够掌握搭建基于web的空间数据可视分析系统的能力。教材内容在帮助非计算机学生克服普遍存在的编程畏难心理方面进行了多次的改进和提升,通过多届课外兴趣小组的实践证明,教材的组织方式和内容可以有效地培养学生可视化编程能力。
学生的评价: (待加)
本书的目标读者主要是有意通过编程,实现基于web空间可视化及可视分析系统的人。作为一本技术方面的书籍,本书包含了很多的web编程实践内容,对于不同的读者具有不同的参考价值,有不同的使用方法:
现如今,涌现出了众多可视化相关的工具。本书旨在林林总总的数据可视化技术和工具之中,面向无编程基础的用户,编写整理出一套空间数据可视化便捷、详细、手把手的实践指南,帮助读者实现多样、美观的空间数据的可视化。
本书所设计的技术实践覆盖开发可视分析系统所需的完整技术链条,从前端的“数据可视化”“交互”,到后端的“服务“。空间数据的预处理和分析(如轨迹数据的清洗、空闲分析等)与具体的应用场景相关,同时所使用的技术和工具与本书的重点——空间数据可视化——相互独立,因此不在本书并不深入不涉及这部分。但在用例中,会涉及其中一二作为示范。
本书的每一章都会重点介绍一两个可视化工具的使用,通过学习最终能够完成可视分析系统的搭建。本书中所涉及的这些工具是笔者从事可视化相关研究和教育以来,觉得好用。可视化工具琳琳总总,技术也是日新月异,我们这本书没有办法做到涵盖所有的技术。但是,希望大家通过学习这些典型的空间可视化工具,能够被“授人以鱼不如授人以渔",为以后掌握更多的可视化工具奠定基础。
本书按照开发web空间可视分析系统的架构,分为以下三大部分的内容:
每章导语
相关知识的拓展阅读
× 本书配套的代码均已同步到github上,通过以下超链接可以访问对应的例子