ArcGIS教程:3D表面的基础知识(一)

  3D 表面模型是三维空间中要素(真实或假想)的一种数字表达形式。3D 表面的几个简单示例如地表、城市走廊、地下天然气矿床以及用于测定地下水位深度的深井组成的网络。这些均属于真实要素的示例,但表面也可以是派生的或假想的。某种特定细菌在每个井中的污染程度就是派生表面的一个示例。这些污染程度级别也可以绘制成 3D 表面地图。在视频游戏或计算机模拟环境中经常可以见到假想 3D 表面。

  通常可以使用专门设计的算法来获取或计算 3D 表面,这些算法对点、线或面数据进行采样然后将其转换为数字3D 表面。ArcGIS 可以创建和存储四种类型的表面模型:栅格、不规则三角网 (TIN)、terrain 数据集和 LAS 数据集。

  这些表面模型可通过多种数据源创建。创建表面模型的两种主要方法为插值法和三角测量法。创建栅格表面的插值方法有很多种,例如反距离权重法、样条函数法、克里金法和自然邻域法。可以通过创建 TIN、terrain 数据集或 LAS数据集来构建三角面。还可以在这些表面模型之间进行转换。

  栅格、TIN、terrain 和 LAS 数据集都属于功能性表面类型。功能性表面是一组连续值的场域,在各点处的值各不相同。例如,地球表面某一区域内的各点可能在高程值、与要素的接近度或某特定化学物质的浓度等方面存在差异。这些值中的任意一个都可以在 x,y,z 三维坐标系的 z 轴上表示,因此通常将它们称为 z 值。

  表面模型可用于在 GIS 中存储表面信息。由于表面中包含无数个点,因此不可能测量并记录每一个点的 z 值。但是,通过对表面上不同点处的值进行采样并在这些点之间进行插值,表面模型便可以近似地看作表面。

  下图显示了某区域范围内化学物质浓度的表面模型。其中的点表示浓度的采样地点。

  

  栅格

  GIS 数据一般分为两种主要的类型:栅格数据和矢量数据。矢量数据由点、线、面以及它们之间用以组成地理空间数据的关联关系来定义。真实要素和真实表面可以表示为存储在 GIS 中的矢量数据。栅格数据则是栅格像元的矩形矩阵,以行和列的形式表示。每个栅格像元均用于表示地球表面上一块经过定义的方形区域,其值在整个栅格像元范围内始终保持不变。表面可以通过栅格数据表示,数据中的每个栅格像元均表示实际信息的某个值。该值可以为高程数据、污染程度、地下水位高度等。

  栅格数据还可以被细分成多个类别,例如专题数据、图片数据或连续数据。通过栅格数据表示的表面就是连续数据的一种形式。连续数据也指字段数据、非离散数据或表面数据。通过连续表面可以表示这样的现象:表面上的每个位置都可以用来衡量浓度级别,还可以用来衡量某点与空间中固定点或与发射源之间的关系。

  高程模型就是这种栅格表面模型的一种示例。固定点可能是通过摄影测量方法得出的高程点,而在这些高程点之间插值将有助于构建数字高程模型 (DEM)。由于栅格表面通常以栅格像元之间间隔均匀的格网格式存储,因此,栅格像元越小,格网的位置精度就越高。下例对较高精度格网(左图)与较低精度格网(右图)进行了比较。

  


  各要素(例如,山顶)的位置是否精确与格网像元的大小直接相关。在上例中,使用了一种非常粗糙的高程表面数据描绘二维平面视图中的表面模型。也可以在 3D 透视图中通过其他图像源生成栅格表面并建立表面模型,例如,带有山体阴影的高分辨率 DEM(如下图所示)。

  

  栅格表面是一组连续值的场域,在各点处的值各不相同。例如,某一区域内的各点可能在高程值、与要素的接近度或某特定化学物质的浓度等方面都存在差异。这些值中的任意一个都可以在 x,y,z 三维坐标系的 z 轴上表示,这样便可以生成连续的 3D 表面。

  栅格表面数据将表面表示为由大小相同的栅格像元组成的格网,而各栅格像元的属性值则表示 z 值和 x,y 位置坐标。

  使用 ArcGIS 3D Analyst 扩展模块进行处理时,很可能会占用或创建许多栅格数据集。在处理栅格时,理解栅格数据集在 3D Analyst 中的表示方法至关重要。

  TIN

  TIN 以数字方式来表示表面形态,GIS 社区多年来一直采用此方法。TIN 是基于矢量的数字地理数据的一种形式,它通过将一系列折点(点)组成三角形来构建。各折点通过由一系列边进行连接,最终形成一个三角网。形成这些三角形的插值方法有很多种,例如 Delaunay 三角测量法或距离排序法。ArcGIS 支持 Delaunay 三角测量方法。

  生成的三角测量满足 Delaunay 三角形准则,这确保没有任何折点位于网络中三角形的任何外接圆内部。如果TIN 上的任何位置都符合 Delaunay 准则,则所有三角形的最小内角都将被最大化。这样会尽可能避免形成狭长三角形。

  TIN 的各边可形成不叠置的连续三角面,可用于捕捉在表面中发挥重要作用的线状要素(如山脊线或河道)的位置。在以下两幅图中,左图显示了 TIN 的结点和边,右图显示了 TIN 的结点、边和面。

  


  由于结点可以不规则地放置在表面上,所以在表面起伏变化较大或需要更多细节的区域,TIN 可具有较高的分辨率,而在表面起伏变化较小的区域,则可具有较低的分辨率。

  用于创建 TIN 的输入要素与结点或边在 TIN 中位于同一位置。这样,TIN 便能够在对已知点之间的值进行建模的同时保持输入数据的所有精度。可以在表面上引入精确定位的要素(如山峰、道路及河流),方法是将其用作 TIN结点的输入要素。

  TIN 模型的可用范围没有栅格表面模型那么广泛,且构建和处理也更耗时。获得优良源数据的成本可能会很高,并且,由于数据结构非常复杂,处理 TIN 的效率要比处理栅格数据低。

  TIN 通常用于较小区域的高精度建模(如在工程应用中),此时 TIN 非常有用,因为它们允许计算平面面积、表面积和体积。

时间: 2024-11-06 18:26:42

ArcGIS教程:3D表面的基础知识(一)的相关文章

ArcGIS教程:3D表面的基础知识(二)

Terrain 数据集 遥感高程数据(如激光雷达和声纳点的测量值)在数量上可达几十万甚至上百万之多.因此,对如今的大多数硬件和软件而言,在对这种类型的数据进行管理和建模时是很麻烦的.Terrain 数据集允许生成一系列规则和条件,根据此类规则和条件将源数据的索引编成一组动态生成的有序 TIN 金字塔. Terrain 数据集是管理地理数据库中基于点的大量数据并动态生成高质量精确表面的有效方法.激光雷达.声纳和高程的测量值在数量上可达几十万甚至数十亿之多.在很多情况下,不允许对此类数据进行组织.分

[WebGL入门]三,3D绘图的基础知识

注:文章译自http://wgld.org/,原作者杉本雅広(doxas),文章中如果有我的额外说明,我会加上[lufy:],另外,鄙人webgl研究还不够深入,一些专业词语,如果翻译有误,欢迎大家指正. 二维和三维 三维空间--我们生活这个这个现实的世界就是一个三维空间. 在三维的世界里,所有的东西都由横,竖,深度.将这些东西重现,就是一个实时3D渲染.但是再现这个3D空间,我们是在一个2D的显示器上来实现的. 电脑和手机的屏幕,都是一个2D的显示器.至少现在还没有一个3D的显示设备,当然,研

【读书笔记】《Python基础教程》第一章 基础知识

第一章 基础知识 实现两个数整除:使用命令开关 -Qnew (?): 使用双斜线. from future import division 执行向计算器那样的普通除法. 幂(乘方)运算符: 2 ** 3 (8),用函数代替 pow(2,3),内建函数 长整数型:在数字结尾加L.eg:10000000000000L 获取用户输入 input("提示信息 :") eg: x = input("x: ") .输入的是合法的python表达式 raw_input("

ArcGIS教程:3D 数据的基础知识

三维 GIS 数据的定义 (x,y,z) 中包含一个额外维度(z 值).Z 值具有测量单位,同传统 2D GIS 数据 (x,y)相比,其可存储和显示更多的信息.虽然 z 值通常为实际高程值(如海拔高度或地理深度),但未规定必须强制执行此方法.Z 值可用于表示许多内容,例如化学物质浓度.位置的适宜性,甚至完全用于表示等级的值. 3D GIS 数据有两种基本类型:要素数据和表面数据. 3D 要素数据 要素数据表示离散对象,每个对象的 3D 信息都存储在要素的几何中. 三维要素数据可对每个 x,y

python基础教程1:入门基础知识

写在系列前,一点感悟 没有梳理总结的知识毫无价值,只有系统地认真梳理了才能形成自己的知识框架,否则总是陷入断片儿似的学习-遗忘循环中. 学习方法真的比刻苦"傻学"重要多了,而最重要的学习方法无非总结梳理,温故知新,多动手实践.作为一个编程的门外汉,要快速转型上手Python一定要践行此"术". 我完整看完的技术书籍几乎没有,从今天起就要通读下<Python基础教程>第二版,并每一章节都写一篇博客记录.总结所学. 本书共29章,计划在14天内看完.任务艰巨

Daydream VR入门基础教程,VR开发基础知识——VR view基本介绍

VR view基本介绍 VR view是Google在2016年4月推出的一个VR基本概念,是一种"客户端"VR显示技术,可将 360 度照片或视频部署在各种设备上的简易方式,囊括 PC 端和移动端.在APP上嵌入VR View代码之后,全景照片或者视频将会变成分屏的VR内容.用户可以在手机上通过Cardboard等盒子或者在PC端通过头盔体验VR. 我们来看看一张VR全景图片是什么样的: 为什么是两张一模一样的呢?因为这是分别给左右眼观看的,遵循了VR view视图的基本规则,关于V

程序员教程-5章-软件工程基础知识

先给出目录结构 5.1 软件工程概述 5.1.1 软件生存周期 1 问题定义 2 可行性分析 3 需求分析 4 总体设计 5 详细设计 6 编码和单元测试 7 综合测试 8 维护 5.1.2 软件生存周期模型 1 瀑布模型 2 增量模型 3 演化模型 4 螺旋模型 5 喷泉模型 6 统一过程 7 敏捷方法 5.1.3 软件过程评估 1 软件能力成熟度模型 2 能力成熟度模型集成 5.1.4 软件工具 1 软件开发工具 2 软件维护工具 3 软件管理和软件支持工具 5.1.5 软件开发环境 5.2

《python基础教程》笔记之 基础知识

数字相关 在Python程序前加上 from __future__ import division 或者在解释器里面直接执行它,或者通过命令行运行Python时使用命令开关-Qnew,会使单斜线不再整除,如 >>> 1/20.5 而双斜线实现整除,如 >>> 1//20 输入 >>> x = input('x:') 模块 用import导入模块,然后按照“模块.函数”的格式使用这个模块的函数,如 >>> import math>

[WebGL入门]五,矩阵的基础知识

注:文章译自http://wgld.org/,原作者杉本雅広(doxas),文章中如果有我的额外说明,我会加上[lufy:],另外,鄙人webgl研究还不够深入,一些专业词语,如果翻译有误,欢迎大家指正. 不是让你到店前面排队 lufy:你一定奇怪,为什么叫这个题目,因为日语中的矩阵叫做"行列",所以作者就给读者们开了个玩笑,我就这么直接翻译了,大家知道什么意思就行了. 在3D渲染的世界里,会很频繁的用到矩阵. 这里所说的矩阵,是数学里的矩阵.英语中叫做Matrix. 矩阵虽然听起来好