云时代的GIS软件技术与应用(三)
64位计算是相对于32位计算的新一代高性能计算标准,就象高速公路与山间小路的区别,相比于32位计算,64位提供更大的计算带宽,从而带来更高的性能。目前,全球最重要的处理器供应商包括AMD、HP、IBM、Intel、Motorola、Sun无一例外的都在推动64位计算。在云计算时代,64位计算的意义将会进一步凸现出来。
64位计算之所以具备更高的性能, 因为64位的CPU每次运算可以处理8个字节的指令,而32位CPU每次运算只能处理4个字节的指令,所以相同主频的CPU情况下,64位的运算能力也比32位有明显优势。
64位计算提供更大的内存寻址能力,也可以大幅度提高大数据量复杂计算的效率。计算机硬件技术发展很快,现在的计算机可配置的内存越来越大,但当前GIS软件能使用多少内存呢?无论是在一台配置了4GB的笔记本电脑,或一台配置了512GB内存的曙光天演小型机,甚至配置98TB内存的我国超级计算机天河一号上,一个GIS软件进程能使用的内存都不超过4GB的内存,在配置越高的服务器上就越浪费!造成这种浪费的原因是因为当前的GIS软件都是32位的。
要管理更多内存,就必须采用64位计算,64位软件的理论内存寻址空间上限是180亿GB,远远超过当前计算机上可配置的内存容量。大内存管理能力将大幅度提高GIS软件的海量空间分析和处理性能。在32位软件中,处理大数据量空间分析的方式是把空间数据按照一定规则分片分析计算,把结果存入磁盘,最后再缝合计算结果。我们知道,磁盘的访问速度远远低于内存访问能力,降低了大数据量空间分析的性能。在64位软件中,如果内存容量足够,可以一次性调入数据进行空间分析,即使内存容量不足以一次把海量调入内存分析,也可以大幅度减少分块数量,从而大幅度减少磁盘访问和缝合时间,最终提高海量数据分析效率。
只有使用64位计算,才能充分发挥云计算中心高配置的服务器的计算资源,提高GIS的海量数据处理能力和效率。因此64位计算GIS平台软件,对于发展GIS云计算是一个非常重要的研究课题。超图软件2006年发布了能运行在64位操作系统上的GIS软件,但那是在32位兼容方式下运行的,能管理内存的上限仍然是4GB。2011年9月15日,超图软件发布了真64位计算的SuperMap iServer 的Windows版,随后还将陆续发布其Linux版和IBM AIX版,为搭建高性能GIS云计算环境提供有力的技术支撑。
2.1.2. 二三维一体化的GIS技术
使用二维GIS搭建云,虽然功能很强,但可能不够精彩;若使用三维可视化软件搭建云,则缺乏高端分析功能,可能是朵中看不中用的云;用二维GIS平台加三维可视化软件混搭构建云,则是权宜之计的云,二维数据和三维数据两张皮,不仅数据更新维护代价大,而且后续功能扩展能力受限,最终还得需要推到重来。如何彻底解决这个问题呢?答案是使用二维和三维一体化的GIS平台来搭建云,才是“实力派和偶像派相结合”的云。那么二三维一体化的GIS有什么特点呢?
首先,二维和三维在数据模型和数据结构上一体化。海量的二维数据,无需转换,直接就可以在三维场景里高性能的可视化。
其次,要基于空间数据库来管理三维数据,二维的数据十年前开始用数据库存储,三维数据也应存储在数据库中(图1)。使用数据库管理三维数据,首先可以方便地实现数据的并发访问和共享,其次可以很方便地实现面向模型实体对象的统计和查询,最后,数据库的权限、安全机制可以增强三维数据的安全性,避免不必要的数据流失风险。
图1 复杂的三维场景的图形和属性数一体化存储于数据库系统
第三,三维线性地物符号化,即线性地物不再以模型方式构建,数据库中存储的是线性地物的坐标串,只要配置相应的三维线性符号,即可在三维场景中展现为三维线性地物,如铁路、公路等(图2),这样的线性地物既可实现三维可视化,还可建立拓扑关系,进行空间分析。
图2 符号化的铁路
第四,逐步完善高端的三维分析功能。在此之前,可以在三维场景里直接使用已有的二维分析功能,如最佳路径分析、旅行商分析和服务区分析等。
从整体上讲,目前三维GIS软件的效果和三维可视化软件相比还有一定的差距,但这些差距已经越来越小。但三维可视化软件在分析功能方面的严重缺失,将逐步被二三维一体化GIS替代。