论文部分内容阅读
摘要:随着社会科技的发展。人们对信息的需求,越来越精细化,同时对地理信息的需求也越来越要求信息更加具体和细化,因此第三维的高程信息显得越來越重要。这是由当时的应用要求,数据获取手段及相关的计算机技术发展条件决定的。为此,本文针对三维GIS良术的一些实用理论进行探讨。
关键词:GIS 三维 技术 实现
20世纪后期,信息社会的到来使得人们对信息的广泛性、精确性、实时性以及综合性上的要求都越来越高,计算机科学的发展为满足这种要求提供了可能。地理信息系统在这种背景下产生和发展起来的。早期的GIS实际上主要集中于图形符号的平面显示,它的研究成果和应用系统主要集中于描述二维空间信息,目前各项技术已较为成熟。但由于二维地理信息系统将实际的三维物体采用二维的方式表示,具有很大的局限性,大量多维空间信息无法得到利用。因此,随着计算机图形学和硬件技术的迅猛发展同,三维GIS(3D GIS)成为当今GIS发展的重要趋势。
一.三维GIS的定义
从不同的角度出发,GIs有三种定义:①基于工具箱的定义,认为GIs是一个从现实世界采集、存贮、转换、显示空间数据的工具集合;②数据库定义,认为GIs是一个数据库系统,在数据库里的大多数数据能被索引和操作,以回答各种各样的问题;③基于组织机构的定义,认为GIs是一个功能集合,能够存贮、检索、操作和显示地理数据,是一个集数据库、专家和持续经济支持的机构团体和组织结构,提供解决环境问题的各种决策支持。基于工具箱的定义强调对地理数据的各种操作,基于数据库的定义强调用来处理空间数据的数据组织的差异,而基于组织的定义强调机构和人在处理空间信息上的作用,而不是他们需要的工具的作用。
二.三维GIS的特点
在三维GIs中,空间目标通过x、Y、z三个坐标轴来定义,它与二维GIS中定义在二维平面上的目标具有完全不同的性质。在目前二维GIs中已存在的0,1,2维空间要素必须进行三维扩展,在几何表示中增加三维信息,同时增加三维要素来表示体目标。空间目标通过三维坐标定义使得空间关系也不同于二维GIS,其复杂程度更高。二维GIs对于平面空间的有限互斥完整划分是基于面的划分,三维GIS对于三维空间的有限互斥完整划分则是基于体的划分,因而,通过分析基于(单一)体划分的三维矢量结构GIs几何成分之间的拓扑关系,李青元提出五组简化的拓扑关系。三维GIS的可视表现也比二维GIS复杂得多,以致于出现了专门的三维可视化理论、算法和系统。
总起来说,与二维GIs相比,三维GIs对客观世界的表达能给人以更真实的感受,它以立体造型技术给用户展现地理空间现象,不仅能够表达空间对象间的平面关系,而且能描述和表达它们之间的垂向关系;另外对空间对象进行三维空间分析和操作也是三维GIs特有的功能。而与CAD及各种科学计算可视化软件相比,它具有独特的管理复杂空间对象能力及空间分析的能力。三维空间数据库是三维GIs的核心,三维空间分析则是其独有的能力。与功能增强相对应的是,三维GIs的理论研究和系统建设工作比二维GIS也更加复杂。
三,三维GIS的功能
1、
包容一维、二维对象
三维GIs不仅要表达三维对象,而且要研究一维、二维对象在三维空间中的表达。三维空间中的一维、二维对象与传统GIs的二维空间中的一维、二维对象在表达上是不一样的。传统的二维GIs将一维、二维对象垂直投影到二维平面上,存储它们投影结果的几何形态与相互间的位置关系。而三维GIs将一维、二维对象置于三维立体空间中考虑,存储的是它们真实的几何位置与空间拓扑关系,这样表达的结果就能区分出一维、二维对象在垂直方向上的变化。二维GIs也能通过附加属性信息等方式体现这种变化,但存储、管理的效率就显得较低,输出的结果也不直观。
2、可视化2.5维、三维对象
三维GIs的首要特色是要能对2.5维、三维对象进行可视化表现。在建立和维护三维GIS的各个阶段中,不论是对三维对象的输入、编辑、存储、管理,还是对它们进行空间操作与分析或是输出结果,只要涉及到三维对象,就存在三维可视化问题。三维对象的几何建模与可视表达在三维GIs建设的整个过程中都是需要的,这是三维GIs的一项基本功能。
3、
三维空间DBMS管理
三维GIs的核心是三维空间数据库。三维空间数据库对空间对象的存储与管理使得三维GIs既不同于CAD、商用数据库与科学计算可视化,也不同于传统的二维GIs。它可能由扩展的关系数据库系统也可能由面向对象的空间数据库系统存储管理三维空间对象。
四,三维GIS的关键技术
三维GIs需要在三维环境中进行表现,3D场景的渲染离不开3D API。目前流行的3D API有Silicon Graphics Inc.(sGI)公司的OpenGL、微软公司的DirectX以及Hedi、Glide、Java3D和VRML等。在本论文中,基于三维渲染技术的三维符号渲染也是研究的难点之一。
1、基于OpenGL和DirectX的三维GIS
OpenGL进化自sGI的早期3D接口IRIsGL。IRIs GL的一个限制是:它只能访问底层硬件提供的特性。OpenGL是一种开放性的标准,很好的移植性能,它能在运行Linux和FreeBSD的PC下,甚至还可以使用硬件加速。
DirectX,
(Direct eXtension,简称Dx)是由微软公司创建的多媒体编程接口。由C++编程语言实现,遵循COM。最新版本为DirectX 11,创建在最新的Windows 7上。其中Direct3D与DirectDraw已集成成DirectXGraphics。
2、基于Java3D和VRML的三维GIS
Java3D API是sHn定义的用于实现3D显示的接口。3D技术是底层的显示技术,Java3D提供了基于Java的上层接口。Java3D把OpenGL和DirectX这些底层技术包装在Java接口中。这种全新的设计使3D技术变得不再繁琐并且可以加入到J2SE、J2EE的整套架构。
VRML是一种专为WWW(万维网)而设计的三维图像置标语言。全称是虚拟现实建模语言,是由VRML协会设计的。VRML标准中既定义了描述三维模型的编码格式,也定义了描述交互或脚本的编码及行为模式。
3、基于Heidi和Glide的三维GIS
H eidi是一个纯粹的立即模式接口,主要适用于应用开发。著名的3D程序软件如3DSTIDIO MAX/VIz、AuotCAD、经济建模、商业图形演示和机械设计等都使用Heidi系统。与DirectX和OpenGL相比,Heidi还只是一个原始的对象接口,功能请求单一,依靠使用标准界面或直接利用特定的3D芯片来进行硬件加速。
关键词:GIS 三维 技术 实现
20世纪后期,信息社会的到来使得人们对信息的广泛性、精确性、实时性以及综合性上的要求都越来越高,计算机科学的发展为满足这种要求提供了可能。地理信息系统在这种背景下产生和发展起来的。早期的GIS实际上主要集中于图形符号的平面显示,它的研究成果和应用系统主要集中于描述二维空间信息,目前各项技术已较为成熟。但由于二维地理信息系统将实际的三维物体采用二维的方式表示,具有很大的局限性,大量多维空间信息无法得到利用。因此,随着计算机图形学和硬件技术的迅猛发展同,三维GIS(3D GIS)成为当今GIS发展的重要趋势。
一.三维GIS的定义
从不同的角度出发,GIs有三种定义:①基于工具箱的定义,认为GIs是一个从现实世界采集、存贮、转换、显示空间数据的工具集合;②数据库定义,认为GIs是一个数据库系统,在数据库里的大多数数据能被索引和操作,以回答各种各样的问题;③基于组织机构的定义,认为GIs是一个功能集合,能够存贮、检索、操作和显示地理数据,是一个集数据库、专家和持续经济支持的机构团体和组织结构,提供解决环境问题的各种决策支持。基于工具箱的定义强调对地理数据的各种操作,基于数据库的定义强调用来处理空间数据的数据组织的差异,而基于组织的定义强调机构和人在处理空间信息上的作用,而不是他们需要的工具的作用。
二.三维GIS的特点
在三维GIs中,空间目标通过x、Y、z三个坐标轴来定义,它与二维GIS中定义在二维平面上的目标具有完全不同的性质。在目前二维GIs中已存在的0,1,2维空间要素必须进行三维扩展,在几何表示中增加三维信息,同时增加三维要素来表示体目标。空间目标通过三维坐标定义使得空间关系也不同于二维GIS,其复杂程度更高。二维GIs对于平面空间的有限互斥完整划分是基于面的划分,三维GIS对于三维空间的有限互斥完整划分则是基于体的划分,因而,通过分析基于(单一)体划分的三维矢量结构GIs几何成分之间的拓扑关系,李青元提出五组简化的拓扑关系。三维GIS的可视表现也比二维GIS复杂得多,以致于出现了专门的三维可视化理论、算法和系统。
总起来说,与二维GIs相比,三维GIs对客观世界的表达能给人以更真实的感受,它以立体造型技术给用户展现地理空间现象,不仅能够表达空间对象间的平面关系,而且能描述和表达它们之间的垂向关系;另外对空间对象进行三维空间分析和操作也是三维GIs特有的功能。而与CAD及各种科学计算可视化软件相比,它具有独特的管理复杂空间对象能力及空间分析的能力。三维空间数据库是三维GIs的核心,三维空间分析则是其独有的能力。与功能增强相对应的是,三维GIs的理论研究和系统建设工作比二维GIS也更加复杂。
三,三维GIS的功能
1、
包容一维、二维对象
三维GIs不仅要表达三维对象,而且要研究一维、二维对象在三维空间中的表达。三维空间中的一维、二维对象与传统GIs的二维空间中的一维、二维对象在表达上是不一样的。传统的二维GIs将一维、二维对象垂直投影到二维平面上,存储它们投影结果的几何形态与相互间的位置关系。而三维GIs将一维、二维对象置于三维立体空间中考虑,存储的是它们真实的几何位置与空间拓扑关系,这样表达的结果就能区分出一维、二维对象在垂直方向上的变化。二维GIs也能通过附加属性信息等方式体现这种变化,但存储、管理的效率就显得较低,输出的结果也不直观。
2、可视化2.5维、三维对象
三维GIs的首要特色是要能对2.5维、三维对象进行可视化表现。在建立和维护三维GIS的各个阶段中,不论是对三维对象的输入、编辑、存储、管理,还是对它们进行空间操作与分析或是输出结果,只要涉及到三维对象,就存在三维可视化问题。三维对象的几何建模与可视表达在三维GIs建设的整个过程中都是需要的,这是三维GIs的一项基本功能。
3、
三维空间DBMS管理
三维GIs的核心是三维空间数据库。三维空间数据库对空间对象的存储与管理使得三维GIs既不同于CAD、商用数据库与科学计算可视化,也不同于传统的二维GIs。它可能由扩展的关系数据库系统也可能由面向对象的空间数据库系统存储管理三维空间对象。
四,三维GIS的关键技术
三维GIs需要在三维环境中进行表现,3D场景的渲染离不开3D API。目前流行的3D API有Silicon Graphics Inc.(sGI)公司的OpenGL、微软公司的DirectX以及Hedi、Glide、Java3D和VRML等。在本论文中,基于三维渲染技术的三维符号渲染也是研究的难点之一。
1、基于OpenGL和DirectX的三维GIS
OpenGL进化自sGI的早期3D接口IRIsGL。IRIs GL的一个限制是:它只能访问底层硬件提供的特性。OpenGL是一种开放性的标准,很好的移植性能,它能在运行Linux和FreeBSD的PC下,甚至还可以使用硬件加速。
DirectX,
(Direct eXtension,简称Dx)是由微软公司创建的多媒体编程接口。由C++编程语言实现,遵循COM。最新版本为DirectX 11,创建在最新的Windows 7上。其中Direct3D与DirectDraw已集成成DirectXGraphics。
2、基于Java3D和VRML的三维GIS
Java3D API是sHn定义的用于实现3D显示的接口。3D技术是底层的显示技术,Java3D提供了基于Java的上层接口。Java3D把OpenGL和DirectX这些底层技术包装在Java接口中。这种全新的设计使3D技术变得不再繁琐并且可以加入到J2SE、J2EE的整套架构。
VRML是一种专为WWW(万维网)而设计的三维图像置标语言。全称是虚拟现实建模语言,是由VRML协会设计的。VRML标准中既定义了描述三维模型的编码格式,也定义了描述交互或脚本的编码及行为模式。
3、基于Heidi和Glide的三维GIS
H eidi是一个纯粹的立即模式接口,主要适用于应用开发。著名的3D程序软件如3DSTIDIO MAX/VIz、AuotCAD、经济建模、商业图形演示和机械设计等都使用Heidi系统。与DirectX和OpenGL相比,Heidi还只是一个原始的对象接口,功能请求单一,依靠使用标准界面或直接利用特定的3D芯片来进行硬件加速。