刘 锂,段芃芃
(成都理工大学 工程技术学院,四川 乐山 614007)
三维数字城市由于其虚拟性[1]、直观性,可实现城市三维地形及三维景观的模拟及直观展示[2],已成为地理信息系统领域的研究热点及数字城市地理空间框架建设中一项典型示范应用。三维数字城市的建立能全方位、直观地为各界提供有关城市的各种具有真实感的场景信息[3],提高空间信息共享和利用水平。将WebGIS与3DGIS集成应用,即Web三维GIS[4],将成为地理信息系统技术发展的重要方向,同时也是三维GIS发展的主要关注点。
在基于Web的三维GIS软件实现中,Skyline三维平台一直处于领先地位。Skyline是以ActiveX为基础层的技术平台,在客户端访问三维系统时会自动下载ActiveX控件。使用Skyline实现Web的二次开发相对简单,主要是依靠VBScript和JavaScript等脚本语言进行,系统平台提供了相应的地图控件、方法和事件,可以高效、快捷地实现各种功能。Web三维GIS是当今建设数字城市的迫切需要,结合当前先进的Skyline技术[5]实现城市级的三维数字城市,满足当前数字城市建设的需求。
依托Skyline和ArcGIS平台,文中构建了三维数字城市系统。主要研究了Skyline三维平台的特性以及结合Web技术实现三维场景、GIS功能的方法;使用ArcGIS平台实现了二维矢量数据与Skyline三维场景平台的结合[6],研究了通过地图服务发布三维数据分析服务,实现三维分析功能;研究了通过WFS将二维矢量地图数据发布到Web服务上,以及发布三维模型数据服务,实现三维场景的快速浏览;设计研究了数据通信方式,实现了基于Web的三维场景动画漫游[7]、三维空间定位、二维数据和三维模型联动、空间查询、空间分析等功能。
设计的系统框架在满足三维数字城市功能需求和软件层次设计原则[8]的同时,必须遵循先进性、实用性、安全性、开放性、可扩展性等原则。
(1)先进性。
平台采用了目前较为先进的三维软件技术平台—TerraSuite产品技术,同时结合了先进的二维空间数据处理软件ArcGIS平台和关系数据库平台SQL Server。实现了二维空间数据与三维模型、场景的无缝连接和实时联动,建立了功能齐全、数据管理完善的三维数字城市系统平台。
(2)实用性。
平台充分考虑各层次用户的使用需求,设计的界面快捷、简单、易于操作。充分合理地利用现有资源,设计的功能满足城市信息管理、城市信息空间分析、业务决策等功能。
(3)安全性。
平台是基于Web的平台,是开放式的系统,需要考虑数据的安全性。要对病毒和黑客进行高标准的防范。首先要采用防火墙技术进行网络防卫;其次充分考虑空间数据和各类资源数据的安全,采用热备份技术,减少各类数据的丢失和破坏;最后是保证系统在运行过程中的稳定性和可靠性。
(4)开放性。
平台是基于Web的平台,具有开发性、通用性,因此,在地物编码上,要以国家的标准地理要素编码为基础进行设计[9],在数据的分层和归类上要按标准进行,同时建立多种空间数据格式的转换接口,便于各类数据之间的共享和通信,达到面向分布式服务的效果。
(5)可扩展性[10]。
平台应充分考虑未来的业务和数据的扩展,因此在设计的过程中要预留各种功能扩展的接口,以便适应将来业务要求的变化,在数据库设计中也要考虑数据的扩展,以及数据重建的问题。
文中基于关系数据库技术、空间数据库技术、Web技术、GIS技术以及三维虚拟场景技术,设计了三层体系结构,包括数据层、服务层和应用层。系统总体框架如图1所示。
图1 系统总体框架
数据层是实现系统的关键,集成和融合了多个类型的数据,包括地形数据库、模型数据库、二维矢量数据库和系统业务数据库。通过空间数据库引擎技术将空间数据库与系统业务数据进行融合,通过空间坐标、空间参考、高程值等空间特性,将模型数据和地形数据结合并与二维矢量数据进行同步,保证了二、三维数据的联动。
服务层是业务处理的中枢机构,用于处理应用层提交的各种请求,包括基本信息查询、空间查询、空间分析和异步的服务操作等。服务层主要包括了网站基本信息服务、地图服务、数据服务和Web Service服务[11]。网站基本信息服务使用IIS服务器发布网站服务并处理网站基本信息查询。地图服务包括了二维矢量地图服务和模型库,采用ArcGIS Server平台发布地图服务,用于处理空间请求和空间分析。数据服务用于各类数据的请求处理,通过处理后的操作,将各类数据进行返回。Web Service服务主要是GIS的服务扩展,处理平台中的地址编码查询、邻近设施分析、最短路径分析、缓冲分析及其地图数据的分布式服务等功能。
应用层也是展现层,用来体现进行三维场景的漫游,三维地图操作,二、三维联动、空间查询等功能。将处理的结果展现给客户端。
针对不同的数据类型,以HTTP协议分别提供网络数据服务,系统的空间地图数据的服务发布分为四个部分,即DEM影像数据服务发布、三维数据服务发布、二维矢量地图服务发布和非空间数据服务发布。
文中通过配置及TerraGate服务器发布大数据量的三维地形数据,客户端用户可以通过Web浏览器流畅地访问三维地形数据,也可以进行三维地形的场景漫游;以WFS服务的形式将二维的矢量地图数据通过ArcGIS Server地图服务器进行发布,提供空间二维矢量数据服务,为二维、三维空间数据的联动提供了基础;网站服务、三维模型文件数据和空间属性数据的发布依靠配置IIS(internet information server)服务器和关系数据库SQL Server服务器,通过Http形式的访问,可以进行网站信息查询、三维建筑模型数据查询以及城市建筑、道路、绿化等三维场景的漫游。具体的发布过程如图2所示。
DEM影像数据的发布采用TerraGate平台实现,它是属于Skyline Terra Suite系列产品,是一种以数据流方式进行实时传输的技术平台,客户端能快速浏览数据,就像在本机读取文件一样。利用TerraGate强大的流数据的网络服务技术,对DEM影像数据进行发布,在客户端能流畅地对DEM影像数据进行访问和数据通信。
TerraGate平台的服务器技术是基于可变带宽的流技术,相比一般的数据流、视频流有明显的优势。客户端的用户在通过Web浏览器访问影像数据和地形数据的时候,不会受到带宽或者通信间歇性中断的影响。在传输影像数据时,不用等待所有的数据全部传输到客户端,就可以开始进行显示,从而能保证数以千计的客户端同时访问。该技术非常适合三维数据显示、三维场景浏览。
TerraGate也能够通过TerraBuilder的DirectConnect连接读取遥感影像和地形数据。
TerraBuilder:采用DirectConnect平台可以节约三维地形数据的创建时间,通过TerraGate服务平台,在Web中把类似DEM、三维地形数据等这些原始格式的数据直接传到客户端TerraExplorer或TerraExplorer Pro平台。选用DirectConnect平台能迅速发布大规模的DEM高程数据和影像数据,并能保证数据的实时更新。可以让客户端实时地接收最新的数据信息。通过TerraGate服务器发布地形影像数据的流程如图3所示。
三维模型是采用3DMAX、Sketch Up等软件进行几何结构的建模,使用Photoshop软件处理纹理贴图,三维数据由三维模型和纹理贴图组成,三维数据的发布包括以下步骤:
(1)制作三维模型。
为了确保在客户端快速地加载三维数据和浏览三维场景,在三维模型的制作过程中,要考虑到数据的大小,因此要减少模型面和控制贴图图片的大小。
(2)制作二维矢量数据。
制作完三维数据后,将三维数据导出成.X格式的文件,记录各个三维模型的属性名称和空间坐标信息,同时提取各个模型的中心坐标值,制作模型的二维矢量数据。
(3)加载三维模型。
根据上述制作的模型二维矢量数据,通过矢量数据批量导入三维模型,用TerraExplorer Pro将其封装成Fly,获得金字塔优化贴图模式的.XPI格式的三维模型文件,海量的三维模型文件都放在了同一个文件夹内,可以提高数据加载的速度。
(4)发布三维模型。
三维模型数据采用WFS形式以Web服务的方式进行发布。三维模型数据的发布主要依靠模型流技术将三维模型矢量化,矢量成二维的点数据形式,再采用TerraExplorer Pro将这些模型以流的形式进行加载,从而实现三维模型的动态浏览和快速加载。从理论上来说,该技术支持无限量的数据,可以解决海量模型数据问题。
基本的点、线、面特征的二维矢量数据,可以通过建立图层文件直接加载到Skyline中。对数据量较大的二维矢量数据,需要采用Web服务的方式发布矢量文件,可以有两种方式:WFS和SFS。WFS(web feature service)[12]是由OGC(open GIS consortium)[13]提供的基于HTTP协议的空间地理数据操作接口规范,是一种能从地理数据集中提取地理特征(点、线、面)的服务;SFS是特征流数据服务器,是Skyline服务平台的一个组件,可以通过ArcSDE从关系数据库或矢量文件中快速、高效地读取相关数据信息,并通过流的方式进行通信。SFS是Skyline平台自己构建WFS的一种方式。
业务数据也是非空间数据,主要是体现非空间数据的基础信息数据的服务,采用IIS服务器和SQL数据库服务器进行发布。
利用ArcGIS Server发布WFS服务,Skyline以WFS方式发布矢量数据并在三维场景中以流模式进行调用,大大缩短了调用时间,解决了海量矢量数据传输速度慢的问题。
文中采用Skyline和ArcGIS平台,VisualStudio2012和Web Service技术,基于DEM数据和正射影像数据等基础数据进行二维空间矢量化,融合三维模型数据以及对应的空间数据,构建基于Web的三维系统虚拟平台、ArcGIS结合SQL Server的后台城市信息管理GIS平台,实现了三维数字城市系统,为城市管理提供先进的、可视化的服务平台。实现了以下功能:
(1)系统实现了三维场景的放大、缩小、平移、漫游等基础的三维操作功能,可以方便地以步行、驾驶和飞行等方式进行动画浏览;
(2)系统实现了空间位置定位、点选择、面选择、线选择、多边形选择、各类视图浏览等三维数据选择操作的功能;
(3)系统实现二维矢量数据和三维模型数据的实时联动,通过坐标和模型的一一对应保证了两项数据的同步,支持各种缩放、旋转和移动操作;
(4)系统实现了三维数据查询和定位功能,实现了三维分析功能,如日照分析、可视分析、坡度分析、三维路径分析、邻近设施分析等。
通过采集时间和日期对日照阴影动态变化的数据进行模拟分析,实现日照分析,日照分析可以提供城市用地规划管理、土地管理决策的依据,如图4所示。
水淹分析是重要的三维分析功能,需要对分析的区域创建分析面、分析高程、进行插值处理,通过设置水淹的高度,可以直观地观察出不同地形、不同建筑的水淹影响,如图5所示。
图5 水淹分析
通视分析也是三维分析中的重要功能,用于判断建筑物之间的连通性和可见性,如图6所示。
图6 通视分析
文中提出了利用ArcGIS平台和Skyline平台实现了基于Web的三维数字城市的技术,通过对Skyline平台的地形数据发布技术、三维模型数据发布技术、模型海量数据处理技术和高效传输技术的研究,以及二维空间数据和三维空间模型的实时联动,实现了三维数字城市平台,实现了三维场景漫游、三维分析、三维定位查询等功能。以国内某城市的为例,验证了该设计方案和技术的可行性,对三维数字城市的实现提供一定的技术参考。