• 不规则三角网(TIN)(转)


    来自:http://blog.csdn.net/kikitamoon/article/details/8217641

    Ⅰ 数字高程模型(DEM)

            地球表面高低起伏,呈现一种连续变化的曲面,这种曲面无法用平面地图来确切表示。于是我们就利用一种全新的数字地球表面的方法—— 数字高程模型 的方法,这种方法已被普遍广泛采用。数字高程模型即DEM(Digital Elevation Model),是以数字形式按一定结构组织在一起,表示实际地形特征空间分布的模型,也是地形形状大小和起伏的数字描述。

            DEM有三种主要的表示模型:规则格网模型,等高线模型和不规则三角网

            格网(即GRID)DEM在地形平坦的地方,存在大量的数据冗余,在不改变格网大小情况下,难以表达复杂地形的突变现象,在某些计算,如通视问题,过分强调网格的轴方向。不规则三角网(简称TIN,即Triangulated Irregular Network)是另外一种表示数字高程模型的的方法(Peuker等,1978),它既减少了规则格网带来的数据冗余,同时在计算(如坡度)效率方面又优于纯粹基于等高线的方法。不规则三角网能随地形起伏变化的复杂性而改变采样点的密度和决定采样点的位置,因而它能够避免地形起伏平坦时的数据冗余,又能按地形特征点如山脊,山谷线,地形变化线等表示数字高程特征。

     

    Ⅱ  TIN的基本知识

            在TIN中,满足最佳三角形的条件为:尽可能的保证三角形的三个角都是锐角,三角形的三条边近似相等,最小角最大化。

            TIN 是基于矢量的数字地理数据的一种形式,通过将一系列折点(点)组成三角形来构建。形成这些三角形的插值方法有很多种,例如 Delaunay 三角测量法或距离排序法。ArcGIS 支持 Delaunay 三角测量方法。

            TIN 的单位是英尺或米等长度单位,而不是度分秒。当使用地理坐标系的角度坐标进行构建时,Delaunay 三角测量无效。创建 TIN 时,应使用投影坐标系(PCS)

            TIN 模型的适用范围不及栅格表面模型那么广泛,且构建和处理所需的开销更大。获得优良源数据的成本可能会很高,并且,由于数据结构非常复杂,处理 TIN 的效率要比处理栅格数据低。

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

     

    Ⅲ TIN在ArcGIS中的存储

            TIN 表面数据模型由结点(Node)、边(Edge)、三角形(Triangle)、包面(Hull)拓扑(Topology)组成。

            与 coverage 类似,TIN 以文件目录形式存储。但TIN没有关联的 INFO 文件。TIN 目录由七个包含 TIN 表面信息的文件组成。这些文件以二进制格式编码,因此无法通过标准文本显示或编辑程序读取。

            TIN 的最大允许大小视连续可用内存资源而定。对于 Win32 系统而言,正常操作条件下,可达到的最大大小为 1000 到 1500 万个结点。出于可用性和性能的考虑,强烈建议始终将此大小限制在几百万。如果超出这一大小,则最好使用 terrain 数据集来表示。

             ArcGIS 10 中采用了约束性 Delaunay 三角测量,也就是除了沿隔断线的位置,其他地方都遵守Delaunay准则。

     

    Ⅳ 如何创建TIN

            在ArcGIS中,TIN 主要是通过矢量数据、栅格数据、Terrain数据集来创建。

     

     

    1. 从矢量数据创建

     

    这是最常用的一种方法。可以通过点、线、面来构建TIN,不同的几何类型可以提供不同的表面要素类型(SF_Type),我们一起来了解下不同的 SF_Type。

    (1) 离散多点(Mass Point)

    离散多点是 TIN 中的主要输入要素,由它们来决定表面的总体形状。

    (2) 隔断线(Breakline)

    隔断线通常用于呈现自然要素(如山脊线或河流)或建筑要素(如道路)。隔断线有以下两种:硬隔断线与软隔断线。

    隔断线可以有高程信息,也可以没有高程信息。

    硬隔断线:硬隔断线用于表示表面坡度的不连续性。河流和道路断面可作为硬隔断线包括在 TIN 中。硬隔断线能够捕获表面的突变并能改进 TIN 的显示和分析质量。

    软隔断线:软隔断线是不会改变表面局部坡度的线状要素,例如表示研究区范围边界的线等。

    (3) 多边形(Polygon)

    裁剪多边形:用于定义 TIN 表面的边界。位于裁剪多边形之外的输入数据将从插值和分析操作(例如,等值线或体积计算)中排除。

    擦除多边形:位于擦除多边形之内的输入数据,将从插值和分析操作(例如,等值线或体积计算)中排除。

    替换多边形:用于将边界及所有内部高度设置为相同的值。可用于对湖泊或者坡度挖掘到水平面以下的区域进行建模。

    填充多边形:用于将一个整数属性值分配给位于此填充多边形内部的所有三角形。表面高度不受影响,并且不发生裁剪或擦除操作。

    以上多边形也有软硬之分,类似于软硬隔断线用法。

     

    创建 TIN 使用的的工具是Creat TIN,在输入要素列表中,可以为每种要素的角色进行指定。

    如果是更新、修改TIN,可以使用工具Edit TIN 工具。

     

    2. 从栅格数据创建

    栅格数据可以转换为 TIN,并且可以用于简化地表模型。在ArcGIS中主要是通过 Raster to TIN 工具进行显示。

    栅格转 TIN 工作过程:首先根据足量的输入栅格点(像元中心)生成候选 TIN,以便完全覆盖栅格表面的边缘。然后,该工具会逐步改进 TIN 表面,直到符合指定的 Z 容差。这个工具的使用主要有两个参数需要注意:Z Tolerance,Max point。

    Z Tolerance :输入栅格与输出 TIN 之间所允许的最大高度差(z 单位)。默认情况下,z 容差是输入栅格 z 范围的 1/10。

    Max point  :用于控制将在处理过程终止前添加到 TIN 的最大点数。默认情况下,该过程将一直持续到所有点被添加完。

    对比如下设置了默认 Z 容差和 500 的Z容差的TIN 效果:


     

    3. 从其他数据创建

    (1)将 ArcGIS terrain dataset 数据转成 TIN。使用工具 terrain to TIN。

            可使用 terrain 金字塔等级的 z 容差或窗口大小分辨率来决定TIN的精细程度。默认值为 0(z 容差),或全分辨率(窗口大小)。

    (2)将 LAS Dataset 转成 TIN,使用工具 LAS Dataset to TIN。可通过一定得细化类型和细化方法生成TIN。

    (3)使用工具 LandXML to TIN,将 LandXML 数据转为TIN。什么是 LandXML?在网上找了个连接:点击

     有关 LAS Dataset 和 Terrain Dataset 后面会再整理总结。

     

     

    Ⅴ  编辑已有 TIN

    如果使用矢量数据批量编辑TIN,可以使用工具 Edit TIN,位于ArcToolbox中的3D分析工具箱。

    如果需要进行交互式的TIN编辑,可以使用ArcMap中提供的 TIN Editing 工具条。

    TIPS :

    如果调出TIN Editing工具条后,工具都是灰色的,那是因为没有设置编辑对象。

    要编辑的 TIN 必须是 3D Analyst 工具条的下拉菜单中的选定图层。


    可见,TIN编辑的功能是依赖于3D分析扩展许可的。

    交互式的TIN编辑中有个GP工具没有的功能:

    从中心线分级(Grade from centralline ……),可用于向 TIN 表面添加道路、堤坝和类似护堤的要素。需要事先选中某一矢量线要素。

     

    Ⅵ  从TIN中输出几何信息

    使用ArcToolbox中的工具可以将TIN中的信息提取为矢量要素。位于3D分析工具箱中的转换工具集下:

    1) TIN Domain获得TIN的范围,可以选择生成线或者面。

    2) TIN Edge:生成表示 TIN 边的矢量线要素。0 — A regular edge;1 — A soft edge;2 — A hard edge

    3) TIN line: 生成TIN的隔断线。1—Soft breakline 2— Hard breakline

    4) TIN Node: 将TIN的节点导出成点要素类,2D、3D要素可选。

    5) TIN Polygon Tag: 使用 TIN 中的标签值创建面要素。标签是指:分配给三角形的简单形式的整数属性值。其边界在三角测量中将强化为隔断线。标签以有符号长整型数据形式存储。

    6) TIN Triangle: 生成构成TIN的三角形面。并为每个三角形提供山体阴影的坡度、坡向和可选属性以及标签值。


    7) TIN to Raster: 将TIN生成栅格数据。可选插值方法、数据类型、数据格式等。

     

    Ⅶ  其他仅适用于TIN的工具

    (1)如果使用的10.0之后的版本,TIN的存储版本有区别,可以使用Copy TIN 工具将 TIN 数据转成低版本(10.0之前)的 TIN 数据。

    (2)如果需要裁剪TIN的边界,可以使用工具 Delineate TIN Data Area 工具,设置最长边参数,删除 TIN 中的长边。

    (3) 如果需要比较两个TIN的差异,使用工具 Compare TIN

     

      O了,至此有关TIN的一个概况结束喽。   

  • 相关阅读:
    程序员为什么难管理?
    Python多继承
    如何从程序员走向管理层?
    为什么Python能超越JAVA,有什么优势?
    HTTP协议简介与在python中的使用详解
    人力资源管理书籍推荐,这本书HR必看
    把市面上的书翻了个遍,找到这五本经典营销管理书籍推荐给大家
    服务器部署之 cap deploy:setup
    【转】D3DXLoadSkinMeshFromXof函数及.x在不同dx版本中
    【转】C/C++字节对齐算法
  • 原文地址:https://www.cnblogs.com/gisoracle/p/3548221.html
Copyright © 2020-2023  润新知