| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 数据结构与算法 -> 如何基于10米等高线生成TIN -> 正文阅读 |
|
[数据结构与算法]如何基于10米等高线生成TIN |
什么是TIN?TIN(Triangulated Irregular Network)也名“曲面数据结构”,是由Peuker和他的同事于1978年设计的一个系统,它是根据区域的有限个点集将区域划分为相连的三角面网络,三角面的形状和大小取决于不规则分布的测点的密度和位置,能够避免地形平坦时的数据冗余,又能按地形特征点表示数字高程特征。 TIN常用来拟合连续分布现象的覆盖表面,不规则三角网能随地形起伏变化的复杂性而改变采样点的密度和决定采样点的位置,因而它能够避免地形起伏平坦时的数据冗余,又能按地形特征点如山脊,山谷线,地形变化线等表示数字高程特征。 不规则三角网 (TIN) 以数字方式来表示表面形态,GIS 社区多年来一直采用此方法。TIN 是基于矢量的数字地理数据的一种形式,通过将一系列折点(点)组成三角形来构建。各折点通过由一系列边进行连接,最终形成一个三角网。形成这些三角形的插值方法有很多种,例如 Delaunay 三角测量法或距离排序法。ArcGIS 支持 Delaunay 三角测量方法。 生成的三角测量满足 Delaunay 三角形准则,从而确保不会有任何折点位于网络中各三角形的外接圆内部。如果 TIN 上的任何位置都符合 Delaunay 准则,则所有三角形的最小内角都将被最大化。这样会尽可能避免形成狭长三角形。 TIN 的各边形成不叠置的连续三角面,可用于捕获在表面中发挥重要作用的线状要素(如山脊线或河道)的位置。在以下两幅图中,左图显示了 TIN 的结点和边,右图显示了 TIN 的结点、边和面。 TIN 的结点和边TIN 的结点、边和面 由于结点可以不规则地放置在表面上,所以在表面起伏变化较大或需要更多细节的区域,TIN 可具有较高的分辨率,而在表面起伏变化较小的区域,可具有较低的分辨率。 用于创建 TIN 的输入要素与结点或边在 TIN 中位于同一位置。这样,TIN 便能够在对已知点之间的值进行建模的同时保持输入数据的所有精度。可以在表面上包括精确定位的要素(如山峰、道路及河流),方法是将其用作 TIN 结点的输入要素。 TIN 的单位应该为英尺或米,而非十进制度。当使用地理坐标系的角度坐标进行构建时,Delaunay 三角测量无效。 TIN 模型的适用范围不及栅格表面模型那么广泛,且构建和处理所需的开销更大。获得优良源数据的成本可能会很高,并且,由于数据结构非常复杂,处理 TIN 的效率要比处理栅格数据低。 TIN 通常用于较小区域的高精度建模(如在工程应用中),此时 TIN 非常有用,因为它们允许计算平面面积、表面积和体积。 TIN 的最大允许大小视连续的可用内存资源而定。对于 Win32 系统而言,正常操作条件下,可达到的最大大小为 1000 到 1500 万个结点。出于可用性和性能的考虑,强烈建议始终将此大小限制为几百万。如果超出这一大小,则最好使用 terrain 数据集来表示。 由于结点可以不规则地放置在表面上,所以在表面起伏变化较大或需要更多细节的区域,TIN 可具有较高的分辨率,而在表面起伏变化较小的区域,则可具有较低的分辨率 如何下载高程?这里我们就来讲解如何生成TIN的方法,高程DEM数据从水经微图中下载。 在水经微图中,将地图切换到高程DEM,点击旁边的小三角,这里我们选择“备用服务器全球 NASA 12.5米”。 框选下载范围 双击后,在显示的“新建任务”对话框中选择下载级别为16级,保存格式选择“GeoTIF”,坐标投影选择“WGS84 经纬度坐标”,点击“确定”,再点击“确认”开始下载高程数据。 下载高程数据 下载结果 如何基于10米等高线生成TIN?将下载的高程数据加载到Global Mapper内,在菜单栏上点击“分析\生成等高线”生成等高线,如下图所示。 生成等高线 在显示的“等高线产生选项”对话框内,设置等高距为10m,点击确定完成等高线的生成。 生成等高线设置 生成等高线之后点击“文件\输出\输出矢量格式”,将等高线输出为shp格式。 导出等高线 将生成的等高线加载到ArcMap内,由于空间分析必须要激活扩展模块,所以需要点击菜单栏上的“自定义\扩展模块”以激活扩展模块,如下图所示。 激活扩展模块 在显示的“扩展模块”对话框中勾选上“3D Analyst”,如果经常用的话建议把所有的都勾选上。 勾选3D Analyst模块 在ArcToolbox工具箱中点击“3D Analyst工具\数据管理\TIN\创建TIN”,如下图所示。 创建TIN 在显示的“创建TIN”对话框中,设置好输出TIN的目录,坐标系可以不用填写,输入要素类已经默认填好了图层“等高线”,如下图所示。 创建TIN设置 点击确定之后有就可以看到生成的TIN,但是由于等高线的阻挡,看不到完整的TIN,首先将图层“等高线”前面的勾去掉,隐藏“等高线”图层。 隐藏等高线图层 隐藏之后还是有等高线遮挡,在“TIN”图层点击右键,选择属性,如下图所示。 选择属性 在显示的“图层属性”对话框内,选择“符号系统”选项卡,将“边类型”前面的勾去掉。 去掉边类型 点击确定之后应用并关闭,即可看到生成的TIN的效果。 生成的TIN 如果高程分段需要整数,同样是点击右键选择属性,在显示的“图层属性”对话框内选择“符号系统”选项卡,选择上“高程”,点击“分类”按钮。 点击分类按钮 在显示的“分类”对话框中修改中断值为整数,如下图所示。 修改中断值为整数 修改之后高程的分段值即变为了整数,如下图所示。 修改后高程值分段 现在,从高程下载到提取等高线,再从等高线生成TIN操作就全部完成了。 总结本文示例中所下载的高程数据为NASA12.5米高程,该数据是我们工程师投入了巨大的时间和精力,并做了一系列的繁琐工作之后,最终才能让大家在水经微图中可以轻松查看和下载。 在水经微图中下载的高程数据,不但可以提取等高线,还可以导出支持南方CASS加载的高程点,以及支持Cesium开源三维地球的高程文件和导出为XYZ格式的高程点文本等。 最后,如果大家在下载高程DEM数据和使用水经微图的过程中遇到任何问题,请联系我们工作人员,也可以通过拨打热线电话400-208-0050获得技术支持! |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 15:38:51- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |