0维空间,你哪里都去不了;
1维空间,你可以向前或往后;
2维空间,不仅有前后,还有左右;
3维空间,不仅有前后左右,还有上下之分。
随着维度的增加,人们对世界的认识将更加全面、准确。
除了常见的地形可以三维显示外,我们还可以将地表的某些属性,如气温、降水、污染状况等,以三维的形式展现出来,从而可以更加准确展现这些属性的空间分布格局。

本节中,我们将介绍三维要素的构建方法,以及三维景观、三维动画的制作过程。
4.6 三维分析
通过三维可视化技术可以将计算结果用逼真的图形或者三维模型直观地进行展现,从而使许多抽象的、难以理解的原理和规律变得容易理解。
GIS三维分析以地形三维重建最为常见,需要使用数字地面模型(DTM)。数字地面模型是一种数字地面表达技术,它采用数字的形式模拟地表特征表面,可以对坡度、坡向、山体阴影等地形参数进行计算和提取,并进行三维可视化表达与分析,从而使现实世界的三维特征能够得到充分且真实的再现。
ArcGIS中,三维分析是一个扩展模块(3D Analyst),除了ArcMap中的三维分析工具条(3D Analyst)、ArcToolbox中的三维分析工具集(3D Analyst Tools)可用于三维分析以外,还添加了两个专用的三维可视化应用程序ArcScene和ArcGlobe,从而扩展了ArcGIS的三维分析功能。
4.6.1 三维要素的构建
三维要素则在二维要素的基础上添加了一个维度(z坐标),用来表示特定空间位置的属性值。三维要素数据中每个
坐标可对应多个不同的z值。在三维系统中,一定范围内无数具有不同z值的点集拟合而成了连续的表面,表面模型是三维空间连续要素的数字表达形式。
4.6.1.1基于空间插值的三维表面创建
由于三维空间中的表面数据包含了无数个点数据,在应用中很难对所有点进行度量和记录,因此栅格表面可以由散布于整个研究区的采样点的采样值生成,这种由点数据生成面数据的表面创建方法称为空间插值法。
4.6.1.2基于TIN模型的三维表面创建
通过不规则三角网(TIN)模型的形式来创建表面。TIN由一系列具有x、y和z值的数据点组成,每两个点构成边,并由边将地理空间分割为若干个不重叠的相连三角形,每个三角形的结点都具有x、y坐标和一个z坐标值可用于获取表面的信息。由于数据点是不规则分布的,可以根据地形复杂程度的不同生成不同分辨率的数据,因此能够很好的表达变化较为复杂的地形表面。
1.使用矢量数据创建TIN
TIN可以根据一个或多个矢量数据源来创建,也可以对已创建的TIN添加其他数据使其表达更加完善。这些矢量数据可以是点、线、多边形要素或是混合的数据,并且这些要素要求具有Z值,即要求有类似高度这样的地面信息。已经生成的TIN表面也可以继续加入一些要素或特征,以改变或提高TIN的表面以及精度。TIN模型可以从大量的点、隔断线和多边形中生成。
(1)点集:大量的点用来提供高程,它们是生成的三角网中的节点,是构成TIN的基本要素,定义了TIN表面模型的基本形状。
(2)隔断线:隔断线在TIN中构成一条或多条多边形的边序列。隔断线既可以表示自然要素,如山脊线、溪流等,又可以用来表示人工建筑要素,如道路、城墙等。隔断线有两种类型:硬线条(Hard Line)和软线条(Soft Line)。硬线条可以用来表示表面坡度的不连续性,能够捕获表面的突变并能改进TIN的显示和分析质量;软线条添加在TIN表面上用以表示线性要素,但并不改变表面坡度等属性。
(3)多边形:多边形用来表示具有一定面积的表面要素,也可以用来表示边界。多边形要素有裁剪(Clip)、擦除(Erase)、替换(Replace)和填充多边形(Value Fill)四种。
(4)ArcScene中通过矢量数据创建TIN
在ArcScene中,可以通过三维分析模块中的创建TIN工具(Create TIN)进行TIN的创建和管理(ArcToolbox>3D AnalystTools>Data Management>TIN>Create TIN)。
2.使用栅格数据创建TIN
由栅格数据生成TIN的实质是将栅格像元的中心点作为点集(mass points)来构建TIN。在转换过程中,需要指定输出TIN表面与原始栅格表面之间的垂直精度。
在ArcScene中,可以通过三维分析模块中的栅格转TIN工具(Raster to TIN)将栅格数据转换为TIN。
3.使用TIN创建栅格表面
将TIN表面转换成栅格表面,以便于提高表面的可视化效果,更好地开展地形分析、水文分析等应用研究。转换过程中,栅格表面是通过一定分辨率和采样间隔从输入TIN表面像元的Z值内插获得的。由于对TIN表面进行内插获取栅格表面是通过等间隔采样的,所以不可避免会造成信息损失。栅格表面对TIN的表达精度取决于栅格像元的大小和TIN表面的变化程度。
在ArcScene中,可以通过三维分析模块中的TIN转栅格工具(TIN to Raster)将TIN模型转为栅格表面。
4.6.1.3基于Terrain模型的三维表面创建
1.Terrain数据集的概念
Terrain数据集是一种基于TIN的多分辨率的表面数据结构,其中每个TIN都在特定的地图比例尺范围内使用。当地图范围较大时使用粗粒度TIN(例如将比例尺缩小到可以看见整个研究区域),当放大地图比例尺并将视线集中于特定的地图范围时,则使用较多的表面点并提高详细程度。
与拓扑相似,Terrain数据集也具有参与构建的要素类和构建规则。用作Terrain数据源的要素类包括以下三项:(1)利用数据源(激光雷达或声纳)创建的三维离散多点的多点要素类;(2)在摄影测量工作站使用立体影像创建的三维点和线要素类;(3)用于定义Terrain 数据集界限的研究区域边界。
2.Terrain数据创建表面的过程
(1)创建Terrain
新建Terrain数据集涉及三个主要步骤,即首先进行数据转换,将参与创建Terrain数据集的源数据转换为地理数据库中的要素类;然后生成数据集,其中需要确定各要素类将如何参与Terrain数据集的构建;最后进行表面集成,它通过将细节等级(金字塔等级)添加到表面来确定如何显示Terrain表面。
在ArcScene中,Terrain数据集的创建有两种方法:一是使用目录树在地理数据库中构建Terrain数据集;二是利用三维分析模块中的地理处理工具创建Terrian数据集(Create Terrain)。
(2)由Terrain创建栅格表面
Terrain数据集可以通过插值的方法转为栅格数据,主要分为线性插值法和自然邻域法。在ArcScene中,可以通过三维分析模块中的Terrain转栅格工具(Terrain to Raster)将Terrain数据集转换为栅格表面。
4.6.2 三维景观的制作
4.6.2.1三维可视化的原理和实现过程
三维可视化是指在计算机上对数字地面模型(DTM)中的地面特征数据(如地形)进行逼真的三维显示、模拟仿真、简化、多分辨率表达和网络传输等内容的一种技术。
三维可视化是一种计算机图形生成技术,它首先在计算机中构造显示所需的几何模型,然后根据一定的光照条件,计算显示屏幕上可见的各景物表面的光线亮度,使观察者产生身临其境的视觉效果。
三维可视化的一般过程可以概括为以下几个步骤:
(1)数据准备
(2)数据简化与处理
(3)可视化映射
(4)三维图形绘制
(5)场景显示与交互
4.6.2.2 在ArcScene中创建三维景观
ArcScene是ArcGIS三维分析扩展模块的核心组件,提供三维可视化环境,允许对三维空间中的三维或者二维数据进行显示、分析和创建动画。
1.图层的三维显示
(1)要素图层的三维显示
(2)栅格图层的三维显示
2.场景属性的设置
在要素数据的三维显示过程中,可以通过多种场景视角的变换或采用阴影、透明化等手法改变图层属性来浏览三维场景,还可以通过各种场景属性设置来控制ArcScene在每次启动时的工作方式和状态。一般可以进行场景的以下属性设置:垂直拉伸、背景颜色、动画旋转、坐标系统、场景范围、光照等。
4.6.2.3利用无人机创建三维景观
无人机航测遥感系统具有快速响应、机动灵活、影像分辨率高等特点,在小区域和飞行困难地区尤其是山区、灾区等地区的高分辨率影像快速获取方面具有明显优势。将无人机倾斜摄影测量技术应用于三维地形景观制作过程中,一方面能够加密出高精度的DOM和DEM数据,并通过真实世界的纹理进行渲染,生成逼真的三维景观;另一方面能够在低成本情况下大大提高数据的现势性。
无人机三维建模的流程主要包括以下几个方面:
1.无人机航线设计
2.空中三角(空三)测量
3.DEM和DOM的生成
4.纹理渲染与叠加
4.6.3 三维动画
通过多帧画面的连续播放,使视角的变化、场景属性的变化、要素在时间和空间上的变化等变得生动、逼真。动画的这种视觉动态,有助于人们理解数据随时间和空间变化的模式,并模拟其过程。
4.6.3.1三维动画的应用
1.以动画形式呈现地表上的运动或沿路径移动的对象
通过创建动画可以呈现视野或地表上方对象的移动,首先捕获某对象的视图,然后更改其位置并继续捕获视图,通过在两点之间插入移动轨迹可以创建对象的移动动画,最后通过移动视点便可以了解对象移动过的环境。
2.以动画形式呈现图层透明度和可见性的变化
通过在动画中应用透明度并更改图层可见性,可查看多个图层中的信息。
3.以动画形式呈现随时间变化的数据
可以通过创建可视化的时间动画,通过观察数据随着时间推移而逐渐呈现出的模式或趋势,从而分析随时间推移而生成的时态数据。
4.以动画形式呈现场景属性的变化
可以将场景的属性作为动画的一部分进行更改,从而实现可视化场景的变化。
4.6.3.2构建三维动画
构建三维动画的方法有多种。最简单的方法是捕获透视图,这种方法不仅速度快而且可以通过任何类型的数据来操作。创建动画的一个更复杂的方法是从所选择的线要素或者图形要素中的路径来创建动画,这种方法可以产生更加真实、引人的动画,但需要在场景中指定数据类型。
ArcScene中几种常用的动画生成方法:
1.捕获视图创建动画
2.录制视图创建动画
3.创建动画关键帧生成动画
4.沿设定路径生成飞行动画