3DGIS系统,地理信息系统研发解决方案

一、 背景及意义

(一)背景

地理信息系统(GeographyInformationSystem)是整个地球或部分区域的资源、环境在计算机中的缩影,反映了人们赖以生存的现实世界,是在计算机软件和硬件支持下,以一定的格式输入、存储、检索、显示和综合分析应用的技术系统。

1.1.系统描述

本项目建设的分布式3DGIS平台采用了客户/服务器结构、对象关系数据库存储和COM构件库封装等技术,同时采用了缓存和索引技术,成功地解决了数据访间的效率间题。可以说,系统是本着如下的思想来设计的:地理信息系统研发解决方案。

完全整合的数据模型:空间数据和属性数据都统一存储在一个对象关系数据库中,可以保证两种数据完全一致。

地理信息系统研发案例

北京智汇云舟科技有限公司

企业技术:数字孪生、3DGIS引擎(专利研发)、视频融合(行业领先)、位置智能LI 、三维建模等行业相关技术。属于技术供应商。地理信息系统研发解决方案。

项目案例行业:数字乡村、军工、工厂 、轨道交通、区域应急、智慧城市、智慧园区、智能监所、水利、电力、智慧交通、高速、智慧高铁、雪亮工程、机场管理、矿厂等等数字孪生赋能行业。【众多项目案例索取,电话咨询】

企业简介:

1,国家级高新技术企业,

2,中关村级高新技术企业,

3,海淀城市大脑联盟的发起单位,

4,中科院创新发展研究院理事单位,

5,背靠中科院、清华、北航等权威科研院所的前沿科研成果。

6,应用3DGIS+视频融合+时空位置智能(LI)技术首创实景数字孪生,

7,自主研发了实景孪生解决方案、Paas平台、实景孪生虚实融合一体机等产品,

8,参与多项国家级重点项目建设(保密性质,目前不能公开)。

9,在数字乡村、军工、轨道交通、应急、智慧城市/智慧园区等领域积累了丰富实施经验与实践结果。【电话咨询,索取项目技术、案例等】

地理信息系统研发企业

集中式的数据服务:用户通过客户端访间统一的服务器,数据完全存放在服务器上,同时被众多用户访间。

提高数据访间的效率:通过空间索引和客户端缓存,提高数据访间的效率,使系统对用户是可用的。

构件化二次开发接口:通过COM技术,实现完整的构件库,提供统一的二次开发接口。

可分为服务端和客户端两大部分。服务端对空间数据和属性数据提供同一的访间和管理接口,同时提供基于SQL的属性条件查询。客户端负责空间查询、空间分析、地图显示、地理信息系统研发解决方案,地图编辑等所有其它功能。

地理信息系统研发

1.2.系统架构图

遵循云计算部署方式,支持分布式3DGIS平台的云部署架构。

1.3.系统组成

3DGIS服务端由数据库、服务器和管理工具三部分组成。所有的空间数据和属性数据都存放在数据库中,其中空间数据以自定义的格式编码,存储在数据表的二进制大对象(BLOB)域段中。服务端向客户端提供了对图层、地图、显示配置、图例库等对象的创建、删除、获取、更新、枚举等操作。管理工具被用来初始化数据库,检查并修复数据库的状态和管理用户权限。

通过对空间数据建立层次网格索引,服务器可以快速的从海量数据中找出指定空间范围内的实体数据。因此,客户端不必每次都请求获取整个图层的实体数据,它可以每次请求当前所关心区域的实体数据。服务器对客户端的操作请求按原子事务处理,一次更新请求或者完全成功,或者对数据库中的数据无任何影响。利用数据库系统的权限管理机制,服务器可以限制不同用户对图层的访间权限,只有被授权的用户才能访间图层数据。

客户端包括缓存、对象库、构件库、应用工具集和应用系统。对象库是客户端的核心,它封装了与服务器之间通信的实现,实现了客户端的数据管理和缓存管理,提供了空间查询、空间分析、地图显示、地图编辑、数据访间等多种功能。客户端利用缓存把从服务器获取来的数据较长时间的傈留在本地,以避免在数据访间时需要再次从服务器获取相同的数据。

构件库提供了多组构件对象,包括数据访间对象、地图显示对象、空间分析对象、空间几何对象和应用工具对象等。构件库是对象库的构件化封装。应用工具集和应用系统都是基于构件库开发的。应用工具集中包括地图编辑器、图例库制作工具、数据管理工具、系统和缓存配置工具等。

地理信息系统研发解决方案,客户端和服务器之间通过TCP协议通信。客户端通过(数据源名,用户名,口令)登录到指定的主机服务器,服务器为每一个特定的连接分配~个Socket端口号和一个时间戳。客户端在向服务器发出各种请求时,根据连接端口建立一个TCP连接,通过时间戳检验连接的有效性,与服务器交换数据,最后断开连接。

1.4.主要研究内容和关键技术

地理信息系统研发

通过对分布式3D地理信息系统进行研究,提出了自己的理论、技术和相对完整的分布式地理信息系统体系结构。研究的重点是探讨基于网络的分布式地理信息服务的方法,构造一个分布式地理信息系统服务模型,这不仅为了解决GIS的数据共享,更着重于解决深层次的GIS处理功能服务间题。

1、通过对分布式地理信息的分析,提出地理空间信息的数掘模型。另外,对几何对象和空间参考系统方面进行探讨。

2、分布式地理信息的快速导航一直是分布式GIS研究的重点。我们在空间元数据标准的基础上,构造一个基于网络的分层空间元数据库框架,并将GML标准运用到地理空间元数据中来。

3)我们把GIS互操作分成三类,即数据互操作(技术互操作)、处理功能互操作(服务互操作)和语义互操作。在分析GIS互操作的基础上,提出GIS数据和GIS处理功能互操作的模型结构。

地理信息系统研发可视化平台

4、通过分析分布式地理信息服务,指出地理信息服务多以服务链的形式存在,提出并阐述三种DGIS服务链——用户自定义服务链、静态服务链和工作流管理服务链。

5、在分布式地理信息服务模型里面,分布式组件注册服务是一个比较重要的部分,本项目将构建一个分和式组件的注册服务模型。

6.研究了3DGIS中的长事务并发控制

a.提出了在3DGIS服务中提供多策略并发控制机制;

b.总结出了数据访间中的四种版本一致性原则。

7.研究了海量空间数据索引结构

a.总结出三种有代表性的索引结构R*树、PK树和HilbertR树:

b.总结出在查询效率上,PK树效率最高,Hilbert R树次之,R*树最差,但PK树存储效率低;

c.提出了平衡PK树,进一步提高了PK树的查询效率;

d.提出了广义PK树的概念,推广了PK树的应用:

e.提出了利用Hilbert码区间减少HilbertR树结点间的重叠区域;

f.提出了启发式Hilbert R树算法,提高Hilbert R树的查询效率和对数据分布的适应性。

(一)主要研究开发内容

空间数据的获取是GIS建设与运行的基础,数据源及数据获取方式的不同,对数据模型的生成产生很大的影响,如何根据不同的需要,采取合适的方法来获取数据,以及如果保证数据的精确度,最终使可视化程度更接近现实,提高系统的空间查询分析能力。

地理信息系统研发实景数字孪生

由于客观世界的多样性和复杂性,可视化要涉及多方面的数据集成,要采用较复杂的数据模型。为了有效的管理和分析三维GIS中的各种数据,要求三维GIS的数据模型有着很强的数据表达能力。三维GIS数据模型不但要满足三维空间分析的需要,也要满足三维图形空间生成和管理的需要。如何选择一种快速而且有效的建模方法来满足不同应用的需求。

地理信息系统研发解决方案,如何使人们能够在一个虚拟的三维环境中,用动态交互的方式对场景进行全方位的审视,比如可以从任意角度、距离和精细程度观察场景,可以选择并切换多种运动模式,如行走、驾驶、飞翔等,还可以自己控制浏览的路线等等。

(二)技术关键

1、空间数据采集方法

空间数据采集是GIS建设和运行的基础,广义GIS空间数据不仅包括地理、测绘数据,还包括地质环境与工程设计数据。人类在认识自然和改造自然的过程中,发现和发明了一系列空间定位方法与定位工具,使得人类能够认识地球表面、内部及其外部空间。随着现代测绘技术、地质勘探和地球物理技术的发展,三维空间数据采集技术不断发展和丰富,极大地提高了人类认识自然的能力。

1.1 空间数据采集方法

空间数据的获取既可以直接在野外通过全站仪或者GPS、激光测距仪等进行测量,也可以间接地从航空影像或者遥感图像以及既有地图上得到。其中地图数字化和摄影测量是大规模空间数据采集最有效的两种方式,应用也最为普遍。

1.1.1 地图数字化技术

从现代意义上讲,以往的大比例尺、航测各种比例尺成图等,都是模拟的纸质图、胶片或影像。要进入GIS实现计算机管理,必须是数字化的电子地图。将现有图像负载的大量信息输入数据库的过程称为数字化。广义的数字化泛指将信息转化为计算机能接收的形式的过程,而狭义的数字化则指将地图/影像转变为符合要求的矢量数据结构的过程。目前,地图/影像数字化包括手扶跟踪数字化和扫描数字化两种方式。前者是借助计算机和平板状数字化仪,从已有纸质地图上进行重采样,并形成数字化的坐标点列数据的过程;后者借助计算机和平板式或滚筒式扫描仪,从已有纸质地图上进行重采样,并形成坐标点列数据的过程。

(1)手扶跟踪数字化

手扶跟踪数字化设备包括固定地图用的数字化板和采样用的游标,手扶数字化过程包括以下三步:图件的预处理:在进行图件的数字化之前,应根据图幅内容及图件各要素进行编号。编号时要按照编号系统的统一要求进行,通常以小比例尺分幅或经纬度位置分区域统一编号,以便于图幅的拼接和处理;也可以按行政区域的管理范围分区域编号。在区域编号时,对图斑、结点、链段、独立点均要事先分别编号,而主要链段上的特征点和特征线可在数字化时按顺序递增编号。编号结束后,应做必要的记录,以便查询。记录内容包括:图幅编号、图幅坐标及编号内容等。图幅编号之后,即可在数字化仪上进行图件定位。

图件的数字化:通常,数字化仪采用点模式、线模式和数据流模式采集数据。在点模式下,地图上的各个孤立点通过将游标定位于采集点的位置上并按下按钮进行记录;线模式下,直线段是通过数字化线段的两个端点来记录的,曲线则通过对组成它的一系列直线的数字化来记录;在数据流模式下,曲线是以时间或距离的规定间隔来自动采集曲线上点的坐标值。点模式和线模式的优点是尽可能减少特征点丢失,重采样精度高,缺点是采样效率低,一般适合地籍图、规划图的数字化。数据流模式的优点是重采样效率比较高,缺点是容易丢失特征点,一般适合地形图、等高线图的数字化。

图属关系连接:图件数字化仅仅获得了点、线、面要素的几何坐标数据,还必须输入点、线、面要素的属性信息,并生成点、线、面要素之间的拓扑关系,拓扑关系可以通过全多边形模式、手工模式或自动模式建立。

(2)扫描数字化

扫描数字化是使用扫描仪将整幅地图扫描成像之后,再进行矢量转换或屏幕跟踪的方法。这种方式通常要求对原始材料进行预处理。例如将地图中的各种色彩不同的地理特征先分色,复制在透明薄膜上,然后再进行扫描。目前已有自动的分色扫描仪,也有研究自动分层建库的文献。经过光学扫描仪的栅格扫描方法得到地图栅格数据结构,是以像素方式存储的,在使用之前,需要将它转换成矢量数据结构。矢量数据结构在数据冗余、地图缩放、漫游、存储空间、编辑、修改以及地图分析等方面具有栅格数据所不能比拟的优越性,所以根据系统设计时选择的地图数据存储格式还要进行必要的矢量化处理。栅格数据转换矢量数据的方法主要分为三类,即点状栅格的矢量化,线状栅格的矢量化和面状栅格的矢量化。

点状栅格的矢量化:将栅格点的中心转换为矢量坐标的过程。对于任意一个栅格点,将其行列号I、J转换为其中心点的X、Y的公式如下:

X=X+(J,0,5)×Dx0(2.1)

Y=Y+(I,0,5)×D0(2.2)

其中0X、0Y为栅格原点坐标,xD、yD为一个栅格的宽和高。线状栅格的矢量化:提取弧段栅格序列点中心的矢量坐标的过程,主要有细化矢量化和非细化矢量化。细化矢量化首先将具有一定粗细的线状栅格进行细化,提取其中轴线;然后,再沿中轴线栅格数据进行跟踪矢量化。非细化矢量化的算法不需要对线条进行细化,而是从线条上任一点起,先后对线条两端进行跟踪矢量化,其跟踪判断的依据是起始点处线条的宽度。相比较而言,后一种算法优于前者,细化矢量化不仅速度慢,其矢量化后的线条会因为细化而造成线条两头缩短,而且会因为线条粗细不均使矢量化的线条有毛刺现象。

面状栅格的矢量化:提取具有相同属性编码的栅格集合的矢量边界及边界与边界之间的拓扑关系的过程。早期的地理信息系统数据数字化是以手扶跟踪数字化为主,但这种方式有几何精度较低、速度慢、劳动强度大等缺点,目前这种方式已不常用。数字化的方式己大部分转向扫描数字化方法,该方法地图的扫描速度快、在保证图纸质量的前提下,扫描精度也比较高。

1.1.2摄影测量技术

传统的摄影测量技术是利用光学摄影机摄影的像片,来研究和确定被摄物体的形状、大小、位置、性质和相关关系的,并将所测得的成果以图解形式或数字形式进行输出。摄影测量的主要特点是:在像片上进行量测,无须或很少接触被摄体,因而受自然和地理等外界条件的约束少;像片是对客观现象的一次真实记载,包含有丰富的信息,人们可以选择所需要测和处理的对象,从像片上所包含的几何信息中进行判读和计算。可以说,只要物体能够被摄影成像,都可以使用摄影测量技术。

根据获取摄影信息的手段和方式,摄影测量可分为航天摄影测量、航空摄影测量、地面摄影测量和近景摄影测量等。按照摄影测量的目的,可简单分为地形摄影测量和非地形摄影测量。其中地形摄影测量的任务是测制各种比例尺的地形图,非地形摄影测量主要是研究测绘地形目标的形状、大小。摄影测量的应用范围很广,如地形测绘、土地资源调查、环境监测、建筑施工、变形研究、文物考古、医学生物工程和军事侦察等,利用航空摄影测量进行地形绘制是摄影测量的主要任务。

广义的数字摄影测量是指从摄影测量和遥感所获得的数据中,采集数字化图形或数字化影像,在计算机中进行各种数值、图形和影像处理,研究目标的几何和物理特性,从而获得各种形式的数字产品和可视化产品。广义的数字摄影测量包含了硬拷贝的机助制图和软拷贝的数字测图,有时也通称为全数字化摄影测量。数字摄影测量系统或数字摄影测量工作站由计算机硬件、数字摄影测量软件、输入/输出硬件构成;数字产品包括数字地图、数字高程模型、数字正射影像、测量数据库、GIS和土地信息系统等;可视化产品包括地形图、专题图、纵横剖面图、透视图、正射影像图、电子地图和动画地图等。

1.2地形与地物空间数据的采集

1.2.1地形数据的采集

地理信息系统研发解决方案,对于地形主要是指数字高程模型DEM的获取,主要通过以下途径获取。地形图是地貌形态的传统描述方法,主要通过等高线来表达地面高度和地形起伏,它是DEM的主要数据来源之一。但是传统地形图的更新周期一般比较长,往往不能及时反映地形地貌的变化情况;地形图多为纸质地图,存放环境等因素会使其产生不同程度的变形,在具体应用时需要进行纠正,地形图需要数字化才能转化为DEM。

手工方法可直接获取规则格网DEM,不需要进行内插处理,DEM精度取决于目视内插精度,同时不需要购置仪器设备且操作简便,但销路低,工作强度大;手扶跟踪数字化所获取的向量形式的数据在计算机中比较容易处理,但速度慢,人工强度大,所采集的数据精度也难以保证,特别是遇到线化稠密地区,几乎无法作业;扫描数字化效率较高,人工干预少,是目前大范围地形数据采集的主流方法,但要考虑扫描仪分辨率、连贯性、稳定性、色或灰度以及软硬件处理能力等因素的影响以及较高技术含量的成本。

地面测量是传统的测绘数据获取手段,用全球定位系统、全站仪、电子平板或经纬仪、测距仪等配合袖珍计算机,在已知点位的测站上,观测到目标点的方向、距离和高差三个要素,进而计算出目标点的三维坐标,并输入计算机作为建立DEM的原始数据。地面测量方式可获取较高精度的高程数据,常用于小范围内的大比例尺地形测图和地形建模,但是测量工作量大,周期长,费用高,一般不适合大规模的数据采集。

航空摄影测量获取的影像是高精度大范围DEM生产最有价值的数据源,利用该数据源可以快速获取或更新大面积的地形数据。近年来出现的高分辨率遥感图像,如1m分辨率的IKONOS卫星图像和0.61m的快鸟卫星图像、合成孔径雷达干涉测量技术、机载激光扫描仪等新型传感器数据被认为是快速获取高精度高分辨率DEM最有希望的数据源。影像数据获取即是基于航空或航天遥感影像的立体像对,用摄影测量的方法建立空间地形立体模型,量取密集数字高程数据来建立DEM。采集数据的摄影测量仪包括模拟、解析和数字摄影测量与遥感仪器。依据摄影测量内业时对地形点选取方式的不同,可以采用不同的高程数据采集方法,如规则采集方案(按等间距断面或规则分布格网布置采样点)、渐进采样方案(采样和分析同时进行,数据分析支配采样过程)、随机采样方案(有选择的进行高程数据的采集)和等高线采样方案(在立体像对上,按等高线进行数据采集)。

对于现有的DEM数据,在应用时要考虑自身的研究目的以及DEM分辨率、存储格式、误差和可信度等因素。各种数据采集方法都有各自得优点和缺点,选择DEM采集方法要从应用目的、精度要求、设备条件、经费等方面考虑,选择合适的采集方法。

综上所述,其中摄影测量和地图数字化是大规模空间数据采集最有效的两种方式,应用也最为普遍,也是本文所采用的方法。世界上几乎所有国家都拥有纸张地图,这些地图是空间数据的一个重要数据源。对许多发展中国家来说,这些数据源可能由于地形覆盖范围不够或因地图高程数据质量低下和等高线信息的不足而比较欠缺。但对大多数发达国家和某些发展中国家比如中国来说,其国土的大部分地区都有着包含等高线的高质量地图,这些地图无疑为地形与地物的建模提供了丰富廉价的数据源。从目前国内GIS发展的情况看,基于二维矢量环境的研究与应用具有一定的基础,并且在应用的过程中积累了大量重要的二维空间数据和属性数据。因此,从二维矢量数据出发构建三维GIS,便于充分利用已有的数据资源。另一方面,二维矢量地图中的高程信息来自于实际的测量数据,由此插值得到的DEM具有较高的准确性,可以利用其进行比较可靠的地形分析计算。

二维矢量地图中与地形有关的两类重要信息是高程控制点和等高线,通常分别作为一个独立的图层存储。为了提高自动处理的准确性和有效性,首先需要对高程信息进行预处理,提高地图的质量,然后以程序处理和人工交互相结合的方式提取高程信息,再应用适当的插值算法,由有限的高程信息(控制点和等高线)得到全图范围内所有网格点的高程,即获得DEM,最后可以借助于OpenGL实现地形的三维显示。

1.2.2地物数据的采集

地物种类繁多,有着不同的分类方法,根据它们与地形的关系,可将地物模型划分为两大类。依赖于地形的地物和独立于地形的地物。依赖于地形的地物表达方法:可以将这类地物看作地形的一部分,它们从地形中分化出来,成为概念上独立的对象,具有自己的属性和行为:它们在表示上仍然依赖于母体。这样将地物从基本地形中分化出来,成为对象并实施控制,进行访问并施加各种操作。独立于地形的地物表达方法:这部分地物与地形之间的关系仅仅是一种相对位置的关系,它们是独立的模型,在数据结构上完全独立。由于表现方式上的特点,独立于地形模型的地物被分成两大部分,一种是平面地物,与地表没有相对高度,以空间曲面的方式表达,如道路、河流、低矮的植被;另一种是模型地物,具有相对高度和体积,根据位置坐标镶嵌在地形表面上,如各类建筑、树木、桥梁等。对于树木这样的平面地物,在计算机三维模型空间里是以一张平面,然后贴上位图来表现的。这种表现方式适合于一部分地物,效果不错,可以节省计算机资源。对于建筑物这样的模型地物,在三维场景中通常数量众多,在计算机三维模型空间里是以一个独立的模型表示,各类地物复杂程度有很大差别。

地物的空间数据获取与建模通常有两类方法,一类是基于影像数据,应用摄影测量等技术实现,另一类则是基于二维矢量图,根据地物的位置坐标信息、和高度属性构造三维地物模型。在比例尺比较小的虚拟场景中,地物可以用预先定义好的符号表示,也可以采用纹理贴图的方法:在局部地区大比例尺的虚拟地形环境中,地物则需要按一定的比例,以真实的模型出现。对于地物数据,我们主要从二维矢量图中通过点、线、面的采集获取物体的位置信息和平面几何形状,对于地物的高度和宽度则要通过属性数据库录入,从这两方面最重获区地物建模所需要的空间信息。

对于点、线地物的采集容易处理;对于河流、湖泊等面域图元可以采用选取边界线的方法,并使得表达边界线的点序列首尾点相同,以区别于线类型图元;对于以道路为代表的一类地物,建议采用中心线表达的方法,再辅以宽度等信息,这样结构简单而且表达准确。每一类地物采集结果以文件的方式保存,包括一段描述信息和一个平面坐标序列,描述信息表达了该地物所属的类别、形状特点等。其中有些信息可以在图形中计算得到,而有些则需要外部人工录入或者利用地物对象的ID标志从属性数据库获取所需要的信息。

1.3空间数据的误差处理

在空间数据的获取过程中,从原始地图整理到空间数据入库要经过地形图编绘、预处理、细化处理、矢量化、图形编辑以及图形输入、输出等多个阶段,每个阶段都会产生一些误差,而且若不采取有效手段纠正的话,各个阶段的误差还会积累和传播,从而影响以后的地图分析和数据处理,所以在获取空间数据时要考虑误差的来源以及采取有效措施减少误差。

(1)误差来源

在空间数据的处理过程中,误差主要产生于以下几种情况:数字化过程采点的位置精度、空间分辨率、属性赋值等都可能出现误差;遥感是通过传感器收集、量测地物发射或反射的电磁波信息,然后进行光学或计算机处理,最终获得可以进行目视解译的遥感图像。遥感数据获取与处理的每一个过程都会引入误差,一般分为获取遥感图像的误差和图像处理和解译的误差;通过地图数字化获取数据的误差主要包括原图固有误差和数字化过程中引入的误差两部分。前者与地图的制作、存放等有关,后者与数字化方法有关;数据在可视化表达过程中为适应视觉效果,需对数据的空间特征位置、注记等进行调整,由此产生数据表达上的差;数据处理过程中误差的传递和扩散在数据处理的各个过程中,误差是累积和扩散的,前一过程的累积误差可能成为下一阶段的误差起源,从而导致新的误差的产生。

(2)误差控制

空间数据误差控制是个复杂的过程,对于矢量化过程中产生的误差控制主要包括数据预处理、数字化设备的选用、对点精度和数据精度检查等内容。对于质量不高的数据源,如散乱的文档和图面不清晰的地图,通过预处理工作不但可减少数字化误差,还可提高数字化工作的效率。对于扫描数字化的原始图形或图像,还可采用分幅扫描的方法,来减少矢量化误差。数字化设备的选用主要根据手扶数字化仪、扫描仪等设备的分辨率和精度等有关参数进行挑选,这些参数应不低于设计的数据精度要求。一般要求数字化仪的分辨率达到0.025mm,精度达到0.2mm;扫描仪的分辨率则不低0.083mm。数字化对点精度(准确性)是数字化时数据采集点与原始点重合的程度。一般要求数字化对点误差应小于0.1mm。数据的精度检查主要检查输出图与原始图之间的点位误差。一般要求,对直线地物和独立地物,这一误差应小于0.2mm;对曲线地物和水系,这一误差应小于0.3mm;对边界模糊的要素应小于0.5mm。

2、三维空间数据建模

三维空间数据库是地理信息三维可视化系统的核心,它直接关系到数据的输入、存储、处理、分析和输出等地理信息系统的各个环节,它的好坏直接影响着整个地理信息系统的性能。而三维空间数据模型是人们对客观世界的理解和抽象,是建立三维空间数据库的理论基础。三维空间数据结构是三维空间数据模型的具体实现,是客观对象在计算机中的底层表达,是对客观对象进行可视表现的基础。

三维GIS中,空间对象用水平的(x,y)和垂直的z坐标进行描述,并允许在同一平面坐标上存在多个具有不同z值得空间对象。从二维GIS到三维GIS,虽然空间为数仅仅增加了一维,但其信息量、模型的复杂度却增加了许多倍。

人们通常将以平面制图和平面分析为主要功能的GIS称为二维GIS,它仅将平面坐标(x,y)作为独立参数来进行平面对象的几何建模,其数学表达式为F=f(x,y),将增加了高程信息,可以构建数字高程模型(DEM)或数字地面模型(DTM)的GIS称为2.5维GIS。它将高程仅作为一个属性值,数学表达式为F=f(x,y,z(x,y));在DTM之上叠加地面建筑设施的三维造型的GIS称为2.75维GIS,但是实质上DTM与建筑物是分离的。所谓真三维GIS,是将三维空间坐标(x,y,z)作为独立参数来进行空间实体对象的几何建模,其数学表达式为F=f(x,y,z),因为所建立的模型不仅可以实现真三维可视化,还可以进行三维空间分析。

综上所述,2.5维GIS、2.75维GIS与真三维GIS有着本质的区别:前者只描述空间实体的外部轮廓,不表达其内部目标拓扑关系及属性;而后者则以体元的方式在描述三维空间实体外部轮廓的同时,还表达其内部属性。

2.1 GIS空间数据结构

2.1.1 空间数据结构的分类

(1)栅格数据结构

栅格结构是最简单最直观的空间数据结构,又称为网格结构或像元结构,是指将地球表面划分为大小均匀紧密相邻的网格阵列,每个网格作为一个像元或像素,由行、列号定义,并包含一个代码,表示该像素的属性类型或量值,或仅仅包含指向其属性记录的指针。因此栅格结构是以规则的阵列来表示地物或现象分布的数据组织,组织中的每个数据表示地物或现象的非几何属性特征。栅格数据格网主要有三角形格网和正方形格网。栅格数据结构的缺点在于一个栅格只能赋予一个特定的值,因而难以表示不同要素占据不同位置的情况。

(2)矢量数据结构

矢量结构是通过记录坐标的方式尽可能精确地表示点、线、多边形等地理实体。矢量结构的特点是:定位明显,属性隐含。许多数据如行政边界、交通干线、土地利用类型、土壤类型等都是用矢量数字化的方法输入计算机或以矢量的方式存在计算机中,表现为点、线、多边形数据。

其中点用一空间坐标对表示,线由一串坐标对组成,面是由线形成的闭合多边形。矢量数据结构是面向实体的表示方法,形式直观,分析方便,信息冗余量小,但是结构较为复杂。

(3)栅格矢量一体化数据模型

栅格矢量一体化数据模型是结合栅格和矢量数据模型的优点提出的一种数据模型。在栅格矢量一体化模型中,面状数据用矢量边界表示,也可以用栅格方式表示。线状数据一般用矢量方式表示,如果将矢量方式表示的线状对象也用像元空间填充表达,则能够将矢量与栅格的概念统一起来,形成栅格矢量一体化的数据模型,其从本质上是以栅格为基础的数据模型。

2.1.2 空间数据结构的比较

为了将栅格数据分析得结果,通过矢量绘图装置输出,或者为了数据压缩的需要,将大量的面状栅格数据转换为少量数据表示的多边形边界,通常将栅格转化为矢量数据。由于矢量数据直接用于多种数据的复合分析等处理比较复杂,特别是不同数据要在位置上一一配准,寻找交点并进行分析,而栅格数据模式进行处理则容易的多,此时我们通常将栅格转化为矢量数据。

2.2 GIS三维空间数据模型

2.2.1 空间数据模型分类

三维数据结构同二维一样也存在栅格和矢量两种形式。栅格结构使用空间索引系统,将地理实体的三维空间分成细小单元(体元)。三维矢量数据结构表示方法有很多,将实体抽象为点、线、面、体,由面构成体。其中运用最为普遍的是具有拓扑关系得三维边界表示法和八叉树表示法。根据三维空间模型对地学空间目标的集合特性的描述是以表面描述方式还是以空间剖分方式,可以分为体元模型和面元模型。

(1)体元模型

常用的体模型是将三维空间对象视为体单元的集合。体单元是简单的三维基本单元,如立方体、球、圆柱体等。将三维空间对象视为这些基本对象经过一些基本操作(如交、并、差等)后的组合体。体模型数据结构包括三维栅格结构、八叉树结构、结构实体几何模型和四面体格网模型。对于建筑物,本文不关注其中的拓扑结构,仅对其整体和外部形状感兴趣,综合考虑到建筑物的形状特点、3D建模的精度要求,如果用Octree建模则难以保证精度,用TEN建模则会增加许多无意义的数据,因此CSG是进行建筑物建模的一个较好选择,本文重点讲述结构实体几何模型(CSG)。结构实体几何模型(CSG)类似于机械制造方法,最早由Voelcker和Requicha提出,是将简单的几何形体(如球、圆柱、圆锥等体素)通过正则运算(交、并、差)来构造复杂的3D目标。一个复杂目标可以描述为一棵CSG树,这棵树的终端结点为基本体素(如立方体、圆柱、圆锥),而中间结点(枝节点)为正则集合运算的结点。

CSG树以根节点作为查询和操作的基本单元,它对应一个三维空间目标。一个复杂的空间形体,可以由一些比较简单,规则的空间形体经过布尔运算而得到。

CSG模型的优点是:方法简单,适合对复杂目标采用分治算法;具有唯一性和明确性;没有冗余信息,必要时可以在目标和体素上附加有关属性。其缺点是:一个3D空间目标的CSG是不唯一的,且不描述点、边、环、面的拓扑关系。

(2)面元模型

面模型数据结构主要包括规则格网模型Grid、不规则三角网TIN和边界表示模型B-Rep。

规则格网模型Grid用一组大小相同的网格描述地形表面。它能充分表现高程的细节变化,拓扑关系简单,算法容易实现,空间操作及存储方便。但占用的存储空间较大,不规则的地面特征与规则的数据表示之间可能不协调,在地形平坦的地方存在大量的数据冗余。

不规则三角网(TIN)是由分散的地形点按照一定的规则构成的一系列不相交的三角形,三角面的形状和大小取决于不规则分布的观测点的密度和位置。TIN实现三维地形的显示过程就是确定哪三个点构成一个最佳三角形,并使每个离散点都成为三角形的顶点。TIN的优点是存储效率高,数据结构简单,与不规则的地面特征和谐一致,可以表示细微特征或叠加任意形状的区域边界。当表面粗糙或变化剧烈时,TIN能包含大量的数据点,而当表面相对单一时,在同样大小的区域,TIN只需少量的数据点。TIN比Grid复杂,它不仅要存储每个点的属性数据,还要存储其平面坐标、节点连接的拓扑关系,难以与矢量和栅格数据结构进行联合分析。

边界表示模型(B-Rep)是以物体边界为基础来描述几何形状,一般采用矢量法表达三维目标,与二维GIS所采用的矢量结构在原理上一致。每个物体均由有限个面构成,每个面由有限条边围成,而每条边由构成边的顶点表示。在边界表示法中,空间实体的几何信息和拓扑信息是分开存储的,其数据结构可以用体表、面表、弧表、边表、顶点表等五个层次来描述,因此在进行坐标变换时,仅需改变空间点的坐标,空间实体间的拓扑关系可以保持不变。B-Rep模型强调3D空间目标的外部细节,通过3D目标属性表、面-体关系表、边-点-面关系表和点坐标表来详细记录构成3D空间目标的所有几何信息和拓扑信息。其优点为:几何信息与拓扑信息分开存储,完整清晰;便于基于面、边的空间查询与计算;易于与2D图形、3D线框模型、有限元网格剖分及3D曲面造型接口。其缺点是:数据量大,数据关系复杂;对3D空间目标的整体描述能力差,不能反映目标的构造过程;不能记录目标组成元素的原始特征。

2.2.2 空间数据模型比较及应用

体模型和面模型的根本区别在于:面元模型采用面元对三维空间对象的表面进行连续或非连续几何描述和特征描述,不研究三维空间对象的内部特征;体元模型采用体元对三维空间对象的内部空间进行无缝完整的空间剖分,不仅描述三维空间对象的表面几何,还研究三维空间对象的内部特征。面表示法从物体外观对其进行描述,通过面一边一点的拓扑关系表示物体。体表示法数据结构复杂,存储数据量大,适用于机械制造、地质分析等高精度的专业领域。目前比较常用的是B-Rep+CSG混合模型和TIN+CSG集成模型。

(1)B-Rep+CSG混合模型

CSG模型在对3D空间目标几何特征的整体描述能力强,能反映3D空间目标的构造过程和特点,能记录目标组成元素的原始特征,说明3D空间目标的构造过程,并记录3D空间目标中所含体素的全部定义参数,必要时还可以附加目标和体素的各种属性和特征描述。B-Rep能清除描述点、边、环、面的拓扑关系。他们互为补充在CAD系统中得到很好的应用。

(2)TIN+CSG集成模型

TIN+CSG集成模型,以TIN模型表示地形表面,以CSG模型表示建筑物,两种模型的数据分开存储。为了实现TIN和CSG的集成,在TIN模型的形成过程中将建筑物的地面轮廓作为内部约束。同时把CSG模型中的建筑物的编号作为TIN模型中建筑物的地面轮廓多边形的属性,并且将两种模型集成在一个用户界面。TIN+CSG集成模型实质上是一种表面上的集成方式,一个目标只由一种模型来表示,然后通过公共边界来连接,因此其操作与显示都是分开进行的。

B-Rep+CSG混合模型所描述的都是一些相对简单、边界封闭、形状规则的空间目标,而实际地理空间中的3D目标往往是不规则的、边界不封闭的和形状未知的,如山体表面和复杂建筑物等。因此B-Rep+CSG混合模型真正用于三维GIS在数据组织与管理、空间检索与分析等方面还有很多问题要解决。因此TIN+CSG集成模型更适用于城市GIS中3D空间建模的主要方式。

综上所述,地形模型有TIN和Grid两种模型,TIN模型精度较高但数据量大,Grid模型精度较低但数据量少。由于机场中的地形一般比较平坦,使用一般的Grid模型即可以满足精度需要;但另一方面,机场中的道路、建筑物等要占用较多的地面空间,而道路的表达一般都采用TIN进行描述,建筑物的CSG模型的底面多边形既可以不做剖分,也可以剖分成TIN。因此,地形Grid和道路TIN、建筑物地面多变形之间将存在复杂的镶嵌。综合权衡数据量和模型精度,将Grid细分为规则三角网,再以道路TIN和建筑物TIN为边界约束,重新进行局部的约束三角网剖分,进而构建集成的3D空间数据模型。该集成模型继承了Grid模型数据结构简单、存储空间小的优点和TIN模型能精确描述地物细节的优点,适合三维空间建模和空间分析的需要。

2.3 地形的数据模型及建模

2.3.1 地形数据模型

在三维场景中,地形的起伏用数字高程模型(DEM)来描述。DEM数据作为三维场景中空间数据的重要组成部分,为三维场景中对地形的空间查询和与地形有关的辅助决策提供了丰富的便于操作的数据基础。

2.5维的数字高程模型(DigitalElevationModel,DEM)和数字地面模型 (DigitalTerrainModel,DTM)是目前GIS进行三维分析的主要手段。数字高程模型(DigitalElevationModel,DEM)是地理信息系统地理数据库中最为重要的空间信息资料和赖以进行地形分析的核心数据系统。数字地面模型(DigitalTerrainModel,DTM)为描述地球表面形态多种信息空间分布的有序数值阵列,这种信息主要包括:地貌信息(如高程、坡度、坡向等),基本地物信息(如水系、交通网、居民点等),自然资源和环境信息(如土壤、植被、地质、气候、太阳辐射等),社会经济信息(如某地区的人口分布、工农业产值、国民收入等)。DTM是一种或多种地表特征空间分布的数字描述,是叠加在二维地理空间上的一维或多维地面特征的向量空间,是GIS空间数据库某类实体或所有这些实体的总合,因而DTM的本质和共性是二维地理空间定位和数字描述。当DTM描述的空间信息为地形起伏或高程时,这时的DTM称之为数字高程模型。DEM是一类特殊而又非常重要的组成部分之一,是地表演化和大气过程模型化的基础数据,以及GIS地学分析与三维空间数据处理及地形分析的核心数据。

2.3.2 数字高程模型分类及各类模型之间的转化

按结构形式,DEM可分为规则格网(Grid)DEM、不规则三角网(TIN)DEM、等高线DEM,它们结构相对简单,易于建立拓扑关系,容易进行可视化分析。等高线模型是一系列等高线集合,即采用类似于线状要素的矢量数据来表达DEM。等高线模型的数据一般来源于对地形图的数字化,它的特点是直观,易于理解基于GIS三维可视化技术及其实现方法研究

地表特性的变化规律,但不利于空间三维特性的分析。规则格网DEM即是利用一系列在X、Y方向上的都是等间隔排列的地形点的高程Z表示地形。在这种情况下,除了基本信息外,DEM就变成一组规则网格存放的高程值,在计算机中,它就是一个二维数组或数学上的一个二维矩阵。不规则三角网模型TIN是直接用原始数据采样点建造的一种地形表达方法,其实质是用一系列互不交叉、互不重叠的三角形面片组成的网络来近似描述地形比表面。

不规则三角网(TIN)的优点:

1、能够较好地顾及地貌特征点、线;

2、逼真地表示复杂地形起伏特征;

3、克服地形起伏变化不大的地区产生冗余数据的问题。

缺点:

1、数据量大;

2、数据结构复杂和难于建立。不规则三角网(TIN)适用于小范围大比例尺高精度的地形建模。

规则格网(Grid)优点:

1、数据结构简单,便于管理,易于表达,有利于各种分析和应用;

2、具有较小的存储量和简单的数据结构,便于存储和管理。

缺点:

1、格网点高程的内插会损失精度;

2、格网过大会损失地形关键特征;

3、如不改变格网的大小,不能适用于起伏程度不同的地区;

4、地形简单地区存在大量的冗余数据。适用于地形较为平坦的地区。

DEM的各个数据模型有着各自的特点,适用于不同场合和应用目的。目前大部分的DEM都是以规则格网的形式出现,而规则格网DEM数据量大不便存储,也可能由于某些分析需要而采用TIN模型,这就需要将规则格网DEM转化为TIN。反之,很多数字地形分析的算法和计算程序是针对规则格网DEM设计的,另外在应用中也往往需要DEM和其他栅格数据整合,因此,当使用存储为TIN模型的DEM数据时,由于应用的需求,也可能将TIN转化为规则格网DEM数据。因此实现不同DEM结构之间的转换,取长补短,可充分发挥不同DEM模型的优势。

2.3.3数字高程模型的建立

在数据采集阶段,我们获得了等高线和高程控制点的三维信息,他们是DEM建模的基础,在此之上,采用一定的插值算法,最终生成合适的DEM。针对不同类型的DEM,所采用的建模的方法也不一样。

TIN和Grid因其直观易用、更新方便逐渐成为主流的数字地形模拟方法,本文主要讨论基于TIN和Grid的DEM表面建模。

(1)基于TIN的DEM表面建模

不规则三角格网TIN是由一系列不规则三角形组成的网格,每个三角形对应空间三个点。基于TIN的建模一般将TIN分解成单个三角形,在每一个三角形上建模,从而得到整个TIN的表面模型。

(2)基于Grid的DEM表面建模

基于规则格网的DEM首先对研究区域在二维平面上进行格网划分,形成覆盖整个区域的格网空间结构,然后利用分布在格网点周围的地形采样点内插计算格网点的高程值,最后按一定格式输出,形成该地区的格网DEM。综上所述,建立DEM表面模型,要从模型的精度、连续光滑性、计算量等方面考虑。从格网类型来看,在TIN格网,一次多项式模型最简单,也最常用。对于正方形格网,双线性多项式最简单,最常用。但是高阶多项式也具有精度高,光滑性好的特点。与三角形格网相比,正方形格网由于格网形式简单,因而地形表面模型种类多,计算也方便。从数据来源看,可以从高程量测数据直接建立。另外,还可以由量测数据派生数据间接建立,即先内插高程点,再建立格网,然后建立表面模型。后一种方法由于内插高程点,所以增加了误差的积累。

2.4 地物的数据模型与建模

地物的三维建模是利用从二维地图中获得的地物位置、几何形状信息和其它相关属性信息构造一个独立可操作的三维实体对象。每一类地物建模的结果以自定义的结构保存到文件或数据库中。地物模型数据按照面向对象的方式组织,形成地物类别——地物——边界面——三角形——顶点的层次结构。

规则地物又可进一步分为两类:一类是附着在地表面的空间曲面型地物,如道路、河流、湖泊等;另一类是以楼房建筑为代表的形状简单的模型地物,它们的特点是或者在不同高度的水平截面相同,或者地物表面满足确定的数学描述。对于空间几何形状比较复杂的地物,依靠编制程序直接建模几乎是不可能的,因此可以采用间接处理的方法。首先应用专业的建模工具软件定制该地物模型,然后将建好的模型保存为系统可解释的数据结构,最后根据坐标位置、方向、尺寸等约束条件将建好的模型嵌入到系统所绘制的三维场景中。

由于在已有的二维GIS数据库中只保存了建筑物模型在地面投影的多边形数据,是其底面闭合多边形的几何数据。首先根据建筑物各个顶点的平面坐标及各DEM网格点平面坐标计算出每个顶点落于哪个DEM三角网格内,并通过线性内插获得该点的高程值,对于每个顶点都求出所在点的高程值。然后假设所有的墙面均垂直于地面。对于建筑物的屋顶采用三角剖分来实现,主要思路是利用三角形剖分算法,对建筑物的屋顶模型进行带有约束规则的三角网剖分,从而构造各种复杂的屋顶模型。建筑物最终的建模结果按照建筑群--建筑物--面--三角形(四边形)一点的结构保存到数据库中。

道路是典型的带状地物,根据道路的中心线信息,依次计算出中心线上与相邻两点连线平行的左边界线及右边界线,然后用与中心线段垂直的线段将其封闭成多边形。然后纹理贴图,建立道路模型。水系模型的种类很多,有的平面几何信息呈面状,如湖泊,海洋等。有的呈带状的,如河流等。对于呈面状水系模型的建立,可以在建立平面的基础上进行纹理贴图。对于呈带状水系模型的建立,其方法同道路模型的建立。多数情况下,我们以一组曲面来描述一条河流,每条河流具有唯一标识ID信息。

对于空间几何形状比较复杂的地物,比如立交桥、地面景观、车辆等,依靠编制程序直接建模几乎是不可能的,因此可以采用间接处理的方法。首先应用专业的建模工具软件(如3DMAX)定制该地物模型,然后将建好的模型保存为系统可解释的数据结构,最后根据坐标位置、方向、尺寸等约束条件将建好的模型嵌入到系统所绘制的三维场景中。

3、三维可视化技术

3.1三维可视化技术基础

可视化即利用计算机图形技术和方法,对大量的数据进行处理,用图形、图像的形式,形象而具体地显示出来,通过将科学计算过程及计算结果所产生的枯燥的数据转换成直观的图形和图像信息,来仿真人脑映像的构造过程,帮助人们洞察数据所蕴含的关系和规律,以支持用户的判断和理解。通过交互式的图形、图像系统,人们就能便捷地获得关于数据的直观、形象、深刻和全面的理解。可视化涉及到计算机图形学、图像处理、计算机辅助设计、人机交互、计算机视觉等多个领域。可视化领域内有四个方向的问题值得去进一步的研究,数据简化、并行可视化、高分辨率显示和用户界面。

与传统的二维空间数据表达相比,三维可视化技术对空间现象的表达有完全不同的数学模型和表达方式。在数学投影方面,三维显示将所有的三维向量以一个倾斜的角度进行投影和表达,通过一个三维的透视将场景显示于CRT或其他的计算机平面显示器上:在可视表现方面,三维可视化通过纹理的使用,大大提高场景的逼真效果,具有更为自然的效果和更为直观的感知,也具有更多的吸引力。可视化技术大体上可以分为科学计算的可视化和空间信息的可视化两类。前者多用于科学和工程计算,以数学模型为中心实现计算过程的可视化和计算结果的可视化。空间信息的可视化指在虚拟环境中体验真实世界,强调的是三维模型。本文主要研究的是空间信息的可视化。

3.2三维可视化关键技术

经过建模处理后的各类地物,要想真实地显示在计算机屏幕上,还需要经过一系列必要的变换,包括数据预处理、三维变换、选择光照模型、纹理映射等。

数据预处理主要包括:将建模后得到的物体的几何模型数据转换成可直接接受的基本图元形式,如点、线、面等;对影像数据如纹理图像进行预处理,包括图像格式转换、图像质量的改善及影像金字塔的生成等。参数设置指在对三维场景进行渲染前,需要先设置相关的场景参数值,包括光源性质、光源方位、明暗处理方式和纹理映射方式等。此外还需要设定视点位置和视线方向等参数。

3.3 三维可视化工具

计算机图形技术的快速发展带动了三维造型技术的快步发展,三维可视化与图形渲染工具也越来越多。其中比较有代表性的是SGI公司的开放式的国际图形标准OpenGL,Microsoft公司的Direct3D、将三维世界带入网络的VRML(VirtualRealityModelingLanguage,虚拟现实建模语言),SUN公司的基于Java语言的三维图形技术Java3D,RSI公司的IDL和Paradigm公司的Vega等。

3.3.1常用可视化工具

(1)OpenGL

OpenGL是OpenGraphicsLib的缩写,是一个低层的图形库,最初由SGI公司开发。它是一套三维图形处理库,也是该领域的工业标准,是绘制高真实感三维图形,实现交互式视景仿真和虚拟显示的高性能开发软件包。OpenGL从根本上说是一种过程语言而非描述性的语言:OpenGL提供了直接控制二维和三维几何体的基本操作。在OpenGL中,通过基本的几何图元点、线、多边形来建立物体模型。在绘制地质曲面时,将空间四边形划分成平面上的小三角片,然后用逼近的方法形成。OpenGL中提供了大量的图形变换函数,这样在编成时无须进行复杂的矩阵运算,就可以方便地将三维图形显示在屏幕窗口。并且,为了增强图形的真实感,OpenGL还提供了线面消隐、着色和光照、纹理映射和反走样等技术的一系列函数,这样就避免了纯图形学的算法,简化了编程,可以很方便的对地层面进行绘制、着色和光照处理。另外,OpenGL还提供了用双缓存区实现动画的函数。利用MFC编写对鼠标的消息响应函数,可以通过拖动鼠标实现对三维实体的动态显示。

OpenGL有几个主要的函数库如下:GL基本库,所有以gl开头的函数库。用于建立各种形体、产生照效果、进行反走样、纹理映射和投影变换,可在任何OpenGL平台上应用;GLU实用库,所有以glu开头的函数库。比基本函数库高一层,由43个实用函数组成,通过调用核心函数来起作用,包括纹理映射、坐标变换、多边形分化、实体绘制等,也可在任何OpenGL平台上应用;GLUT实用工具箱,针对与窗口操作系统交互的问题,提供了任何现代窗口操作系统所需要的最小功能集;GLX库,把OpenGL与XWindow操作系统粘合起来。

用OpenGL编写的应用程序相当于在应用程序中添加一个三维函数库。应用程序一般包括窗口定义、初始化、绘制和显示图形三部分。和现代CPU一样,OpenGL渲染使用一种流水线架构。OpenGL使用4个主要阶段来处理像素和顶点数据:顶点操作、像素操作、光栅化和片元操作,并将结果存储在帧缓存或纹理内存中。

OpenGL要求把所有的几何图形单元都用顶点来描述,这样运算器和逐个顶点计算操作就可以针对每个顶点进行计算和操作,然后进行光栅化形成图形片元;对于像素数据,像素操作结果被存储在纹理组装用的内存中,再像几何顶点操作一样光栅化形成图形片元。整个流程的最后,图形片元都要进行一系列的逐个顶点操作,这样最后的像素值送入帧缓存实现图形的显示。

(2)Direct3D

MicrosoftDirectX提供了一套非常优秀的应用程序接口,包含了设计高性能、实时应用程序的源代码。DirectX技术将帮助建构下一代的电脑游戏和多媒体应用程序。它的内容包括了DirectDraw、DirectSound、DirectPlay、Direct3D和DirectInput等部分,它们分别主要应用在图形程序、声音程序等方面。Direct3D是MicrosoftDirectX的一个重要组件,适合于Microsoft的32位操作系统,是MicrosoftWindows平台上的主要三维与多媒体开发工具。Direct3D的功能与OpenGL近似,提供对不同图形加速卡的统一访问方式。Direct3D采用与设备无关的方法实现对视频加速硬件的访问,立即模式和封装了立即模式的保留模式是两种可选的使用方式。前者适合一般三维应用程序开发,后者适合速成开发者。Direct3D设备是Direct3D的渲染组件,相当于一个状态机,封装并存储了渲染状态,C++程序只有通过Direct3D提供的COM接口才能操纵和使用Direct3D设备的渲染状态和光照状态。与OpenGL相似,Direct3D也由若干层组成,包括3个模块:变换模块、光照模块和光栅化模块。

(3)虚拟现实建模语言VRML

VRML(virtualrealitymodelinglanguage)译为虚拟现实建模语言,是一种3D交换格式,定义了三维可视化中绝大多数常见的概念,诸如对象的移动、旋转、视点、光照、材质属性、纹理映射、动画、雾以及嵌套结构等。VRML本质上是一种描述性语言,对场景的绘制工作完全由相应的浏览器或Plug-in来完成。它采用标准格式来描述三维环境,并嵌入到Web网页中,通过插件来提供包括变换视点、模拟飞行、控制速度等功能。VRML的访问方式是基于客户/服务器模式的。其中服务器提供VRML文件及支持资源(图像、视频、声音等),客户端通过网络下载希望访问的文件,并通过本地平台上的VRML浏览器交互式地访问该文件描述的虚拟境界。由于浏览器是本地平台提供的,从而实现了平台无关性。VRML像HTML一样,用ASCII文本格式来描述世界和链接,保证在各种平台上通用,同时也降低了数据量,从而在低带宽的网络上也可以实现。但是VRML作品停留在展示型文件阶段,缺少动感和交互。

(4)Java3D

Java语言是SUN公司开发的一种面向网络应用的计算机语言,Java3D是在Java、OpenGL和VRML的基础上发展起来的,可以说是JAVA语言在三维图形领域的扩展,其实质是一组API函数集。目前,Java3D有两个不同特色的版本,其一为针对OpenGL图形库的OpenGL版本,即Java3D1-1-win32-opengl-jdk。exe;其二为针对Direct3D图形库德DirectX版本。应用Java3D编写应用程序时,只需要按照面向对象的思想在基于GIS三维可视化技术及其实现方法研究程序的合适位置摆放相应得对象,就可以快速编写出三维多媒体应用程序。Java3D的API几乎包含了编写JAVA交互式三维应用程序所需的基本类和接口。

(5)交互式数据语言IDL

交互式数据语言IDL是美国RSI公司的产品,它集可视、交互分析、大型商业开发于一体,为用户提供完善、灵活、有效的三维开发环境。IDL面向矩阵、语法简单,具有较强的图形图像处理能力,是进行三维数据可视化分析及应用开发的理想工具。IDL主要特征包括:集高级图像处理和面向对象的编程于一体,实现交互式二维和三维图形技术,提供跨平台图形用户界面工具包和多种程序连接工具,可连接ODBC兼容数据库;完全面向矩阵,具有处理较大规模数据的能力,并能处理多种格式多种类型的数据;采用OpenGL技术,支持OpenGL软件或硬件加速;带有图像处理软件包,提供科学计算模型和可视数据分析的解决方案;用IDLDataMiner可快速访问、查询并管理与ODBC兼容的数据库;可通过ActiveX控件将IDL应用开发集成到与COM兼容的环境中;可用IDLGUIBuilder开发跨平台的用户图形界面。

(6)Vega

MultiGen-Paradigm公司的VegaPrime是用于虚拟现实、实时视景仿真、声音仿真以及其它可视化领域的世界领先级应用软件工具。它支持快速复杂的视觉仿真程序,能为用提供—种处理复杂仿真事件的便捷手段。Vega是在SGIPerformer软件的基础之上发展起来的,为Performer增加了许多重要特性。它将易用的工具和高级仿真功能巧妙地结合起来,使用户以简单的操作迅速地创建、编辑和运行复杂的仿真应用程序。由于Vega大幅度地减少了源代码的编程,使软件的维护和实时性能的进一步优化变得更加容易,从而大大提高了工作效率。使用Vega可以迅速创建各种实时交互的3D环境,以满足不同行业的需求。

3.3.2几种可视化工具的比较与选择

综上所述,利用上述可视化工具可以很方便地实现三维图形制作和三维模型建造,均可提供以下可视化技术:

1)物体绘制技术;

2)变换技术;

3)着色技术;

4)光照模型技术;

5)反走样技术;

6)混合技术;

7)雾化技术;

8)纹理映射技术;

9)交互操作和动画技术等。

OpenGL是SGI开发的三维图形库,是第一个在计算机领域广泛使用的三维函数库,广泛应用于三维应用程序的编制。许多三维动画软件(如3DSMAX),三维游戏软件、CAD软件和三维可视化软件都是基于OpenGL开发的。Direct3D是Microsoft公司开发的三维函数库,它是DirectX多媒体编程环境的一个重要组成部分,主要用于游戏软件的编制,特别为网络浏览器提供了多媒体支持。OpenGL和Direct3D属于低级或较低级的三维函数库,适用于开发复杂三维模型的软件。而Java3D结合了Java语言的特点,充分利用面向对象的思想,就可以快速编写出复杂的三维应用程序;另外,Java3D程序像其他的Java程序一样,可以嵌入在网页中运行,不仅移植性好,而且具有较高的安全性。VRML是一种模型描述语言,只要按照VRML规范标准,不需要较高的技术就可以方便地构建三维场景,特别适应于Web上场景的构建,但需要插件的支持。

4、引入中间件技术

组件对象模型COM(ComponentObjectModel)是microsoft推出的一种以组件为发布单位的对象模型。此模型规定了组件之间统一的通信接口规范,是一种典型的中间件实现技术。所谓COM,是一种说明如何建立可动态互变组件的规范,此规范提供了为保证能够互操作,客户和组件应遵循的一些二进制网络标准。通过这种标准可以在任意两个组件之间进行通信而不用考虑其所处的操作环境是否相同、使用的开发语言是否一致以及是否运行于同一台计算机。COM接口是COM规范中最重要的部分,COM规范的核心内容就是对接口的定义。甚至可以说在COM中,接口就是一切。组件与组件之间、组件与客户之间都要通过接口进行交互。接口成员函数负责为客户或其他组件提供服务。COM接口在设计时应遵循以下5个规则:

(1)接口必须直接或间接地从IUknown继承;

(2)接口必须具有唯一的标识(IID);

(3)一旦分配和公布了IID,有关接口定义的任何因素都不能被改变;

(4)接口成员函数应具有HRESULT类型的返回值;

(5)接口成员函数的字符串参数应采用Unicode类型。

(二)主要创新点

Super3D-平台实现了三维地理信息系统的以下功能:数据采集和检验有效性;数据结构化和转化为新的结构;各种变化(平移、旋转、比例、剪切);选择;布尔操作(交、并差、或及切割断面、开隧道、建筑);计算(体积、表面积、中心、距离、方向);分析;可视化;系统管理;其具体功能如下:

1、DEM+遥感图象,生成高低起伏的三维地形DEM+遥感图象,生成高低起伏的三维地形遥感图象高低起伏的三维使用四叉树算法和图象压缩技术,自动生成三维场景中的地形数据,不受数据量的限制,分块计算,直至拼接成所需面积和精度的地形;

2、人工建模和系统模型高度兼容系统提供3dmax插件,直接将外界人工模型转到本系统中,这样在完善和美化场景方面更加实用;

3、面积/长度测量功能面积/在场景中的任意两点直接的距离测量,任意三点及以上的区域面积测量,瞬间生成;

4、水淹分析功能、由于地面是矢量图、地面高程不等,在连续降雨的情况下,可以模拟水淹趋势分析的功能;

5、通视分析功能、地面物体两点间是否被遮挡关系,以及以地面某点为原点,半径范围的视角遮挡关系的分析和体现;

6、属性查询功能、场景中的任一物体及设备,编辑好其属性,点击后可以查询特性及属性;

7、立体显示功能、一键切换立体效果的场景,就像看立体电影的效果;

8、日照分析功能、模拟某个季节的日照全天模拟,早晨、傍晚至黑夜,以了解某地区的日照时间和强度;

9、其他功能、根据不同行业需求,开发不同功能满足其需求。

除此之外,还具有如下独有的功能:

1、兼容一维、二维对象容一维、传统的二维GIS将一维、二维对象垂直投影到二维平面上,存储它们投影结果的几何形态与相互间的位置关系。而三维GIS将一维、二维对象置于三维立体空间中考虑,存储的是它们真实的几何位置与空间拓扑关系,这样表达的结果就能区分出一维、二维对象在垂直方向上的变化。

2、对2.5维、三维进行可视化在建立和维护三维GIS的各个阶段中,不论是对三维对象的输入、编辑、存储、管理,还是对它们进行空间操作与分析或是输出结果,只要涉及到三维对象,就存在三维可视化问题。三维对象的几何建模与可视表达在三维GIS建设的整个过程中都是需要的,这是三维GIS的一项基本功能。

3、三维空间DBMS管理三维GIS的核心是三维空间数据库。三维空间数据库对空间对象的存储与管理使得三维GIS既不同于CAD、商用数据库与科学计算可视化,也不同于传统的二维GIS。它可能由扩展的关系数据库系统也可能由面向对象的空间数据库系统存储管理三维空间对象。

4、三维空间分析在二维GIS中,空间分析是GIS区别于三维CAD与科学计算可视化的特有功能,在三维GIS中也同样如此。空间分析三维化,也就是直接在三维空间中进行空间操作与分析,连同上文述及的对空间对象进行三维表达与管理,使得三维GIS明显不同于二维GIS,同时在功能上也更加强大。

5、能及时受益于现代数据获取方法的进展和大数据量处理技术的发展在设计之初,就充分考虑了未来三维地学数据获取能力的提高,以便及时受益于现代数据获取方法的进步。另外,三维GIS要处理的数据量往往很大,计算机软硬件技术的飞速发展无疑会再次提高三维GIS的性能。

6、支持多通道播放系统、目前国外及国内的三维地理信息平台大多无法实现多通道播放系统,而本软件平台在规划设计初,就考虑到兼容多通道大屏幕播放演示系统,这是本软件平台的独特优势。

地理信息系统研发GIS

3DGIS系统首先,中间件越来越多地向传统运行层(操作系统)渗透,提供更强的运行支撑,特别地,分布式操作系统的诸多功能逐步融入中间件,如,在CORBA和RMI中,中间件往往以类库的形式被上层应用主动地载入应用运行空间,与之相反,在CCM和EJB中,中间件是独立的运行程序,负责装载上层应用并为之提供运行空间。此外,基于服务质量的资源管理机制以及灵活的配置与重配置能力也是目前的中间件研究热点。其次,应用软件需要的支持机制越来越多地由中间件提供,中间件不再局限于提供适用于大多数应用的支持机制,那些适用于某个领域内大部分应用的支持机制(这些机制往往无法在其它领域使用)也开始得到重视。

3DGIS系统由此推知,随着计算机与空间技术的进步与发展,GIS将由各自分开独立的系统走向兼容与集成;从二维走向三维和四维,从单机走向网络,并最终走向社会和家庭。

从二维走向三维和四维
举报/反馈

------本页内容已结束,喜欢请分享------

感谢您的来访,获取更多精彩文章请收藏本站。

© 版权声明
THE END
喜欢就支持一下吧
点赞12 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片