基于不规则三角网构建的网格生长算法
- 格式:pdf
- 大小:337.75 KB
- 文档页数:3
不规则三角网生成算法及其应用探讨
李梅;张学雷
【期刊名称】《测绘与空间地理信息》
【年(卷),期】2010(33)2
【摘要】不规则三角网(TIN)是数字高程模型的一个重要表示方法,其传统算法一再被优化,也得到广泛地应用.本文在传统算法的基础上总结了一些改进算法,并且提出了相关的应用前景.
【总页数】4页(P44-45,48,51)
【作者】李梅;张学雷
【作者单位】郑州大学,水利与环境学院,河南,郑州,450001;郑州大学,自然资源与生态环境研究所,河南,郑州,450001;郑州大学,水利与环境学院,河南,郑州,450001;郑州大学,自然资源与生态环境研究所,河南,郑州,450001
【正文语种】中文
【中图分类】P235.1
【相关文献】
1.基于不规则三角网的分块地形网格生成算法 [J], 黄争舸;陈建军;郑耀
2.基于栅格局部细分的带约束条件的不规则三角网生成算法 [J], 崔雪森;杨胜龙;樊伟
3.基于凸包切割的不规则三角网及其邻接关系的生成算法 [J], 刘永和;刘玉芳;王燕平
4.平面离散点集的不规则三角网自动生成算法的实现研究 [J], 刘鹏;方勇;钟联炯;
马永社
5.一种非凸包边界约束不规则三角网生成算法 [J], 刘永和;王润怀;齐永安
因版权原因,仅展示原文概要,查看原文内容请购买。
基于基于不规则三角网不规则三角网不规则三角网构建构建构建的的网格生长算法刘 刚,李永树李永树,,张水舰(西南交通大学地理信息工程中心,成都 610031)摘 要:提出一种基于离散点Delaunay 三角网快速构建的网格生长算法,采用分治算法将离散点表达为唯一网格,利用稀疏矩阵完成网格数据的压缩存储,通过标识码实现有值单元格与离散点之间的高效检索,从而提高网格构建的效率。
依据有值单元格的密度获取预设正方形搜索空间,并在三角网扩展时根据需要动态建立正方形搜索空间,从而保证网格生长的准确性。
实验结果表明,该算法的时间复杂度为O (n log n ),对于少量或海量离散点均具有较好的适应性。
关键词关键词::Delaunay 三角网;不规则三角网;离散点;正方形搜素空间;网格生长算法Grid Growing Algorithm Based onTriangular Irregular Network ConstructionLIU Gang, LI Yong-shu, ZHANG Shui-jian(Geography Information Engineering Center, Southwest Jiaotong University, Chengdu 610031, China)【Abstract 】This paper presents a grid growing algorithm for fast construction of Delaunay irregular network based on discrete point. In this algorithm, a grid is achieved to express discrete point uniquely based on the divide-and-conquer method, which is compressed storage in a sparse matrix, and an efficient retrieval method is established between value cell and discrete point by identification code, which is effectively to improve the efficiency of the construction of Triangular Irregular Network(TIN). According to the density of value cells, a default square search space is acquired, and it is allowed to create the square search space dynamically in the expansion process of TIN, which ensures the accuracy of the grid growing. Experimental results show that the time complexity of the proposed algorithm is O (n log n ), and the algorithm is available to both small and massive amount of discrete points.【Key words 】Delaunay triangular network; Triangular Irregular Network(TIN); discrete point; square search space; grid growing algorithm DOI: 10.3969/j.issn.1000-3428.2011.12.019计 算 机 工 程 Computer Engineering 第37卷 第12期V ol.37 No.12 2011年6月June 2011·软件技术与数据库软件技术与数据库·· 文章编号文章编号::1000—3428(2011)12—0056—03 文献标识码文献标识码::A中图分类号中图分类号::P2091 概述不规则三角网(Triangular Irregular Network, TIN)表面建模是一种很重要的表面建模方法[1-2]。
基于VB语言的不规则三角网构建
高峰
【期刊名称】《新探索》
【年(卷),期】2017(000)006
【摘要】在GIS应用领域中,Delaunay三角网作为一种主要的数字表面模型(DTM)表示法,具有极其广泛的用途.利用VB语言对Delaunay三角网的构建问题进行了相关探讨,程序实现了基本地形图测绘的TIN构建,为快速生成等高线和数字高程模型创造了前提条件.
【总页数】4页(P37-40)
【作者】高峰
【作者单位】甘肃省水利水电勘测设计研究院,甘肃兰州730000
【正文语种】中文
【中图分类】P225
【相关文献】
1.基于多源数据的河道不规则三角网构建方法 [J], 刘兆峰;丁贤荣;程立刚
2.基于不规则三角网构建的网格生长算法 [J], 刘刚;李永树;张水舰
3.基于不规则三角网的水下地形导航数据库构建方法的优化 [J], 王立辉;高贤志;梁冰冰;余乐;祝雪芬
4.不规则三角网数字水深模型缓冲面快速构建的滚动球加速优化算法 [J], 董箭;张志衡;彭认灿;李改肖;王沫
5.基于地性线的不规则三角网优化构建算法 [J], 江帆;王志伟;朱长青;安敏
因版权原因,仅展示原文概要,查看原文内容请购买。
1 引言地球表面高低起伏,呈现一种连续变化的曲面,这种曲面无法用平面地图来确切表示。
于是我们就利用一种全新的数字地球表面的方法——数字高程模型的方法,这种方法已经被普遍广泛采用。
数字高程模型即DEM(Digital Elevation Model),是以数字形式按一定结构组织在一起,表示实际地形特征空间分布的模型,也是地形形状大小和起伏的数字描述。
由于地理信息系统的普及,DEM作为数字地形模拟的重要成果已经成为国家空间数据基础设施(NSDI)的基本内容之一,并被纳入数字化空间框架(DGDF)进行规模化生产,已经成为独立的标准基础产品[5]。
DEM有三种主要的表示模型:规则格网模型,等高线模型和不规则三角网。
格网(即GRID)DEM在地形平坦的地方,存在大量的数据冗余,在不改变格网大小情况下,难以表达复杂地形的突变现象,在某些计算,如通视问题,过分强调网格的轴方向。
不规则三角网(简称TIN,即Triangulated Irregular Network)是另外一种表示数字高程模型的的方法(Peuker等,1978),它既减少了规则格网带来的数据冗余,同时在计算(如坡度)效率方面又优于纯粹基于等高线的方法。
不规则三角网能随地形起伏变化的复杂性而改变采样点的密度和决定采样点的位置,因而它能够避免地形起伏平坦时的数据冗余,又能按地形特征点如山脊,山谷线,地形变化线等表示数字高程特征。
基于三角形的表面建模可适合所有的数据结构,且三角形在形状和大小方面有很大灵活性,能很容易地融合断裂线,生成线或其他任何数据,因此基于三角形的方法在地形表面建模中得到了越来越多的注意,已经成为表面建模的主要方法之一。
VB语言简洁易学,对于学习GIS的学生来说无疑是接受很容易而且较快的一门计算机编程和开发语言,也是大多数学生最熟悉和了解的语言。
正是基于对生成不规则三角网算法的研究和满足学GIS的学生对VB 语言的喜爱和熟悉的情况下,本文就主要介绍用三角网生长算法生成不规则三角网及其在VB6.0环境下的实现。
基于基于不规则三角网不规则三角网不规则三角网构建构建构建的的网格生长算法刘 刚,李永树李永树,,张水舰(西南交通大学地理信息工程中心,成都 610031)摘 要:提出一种基于离散点Delaunay 三角网快速构建的网格生长算法,采用分治算法将离散点表达为唯一网格,利用稀疏矩阵完成网格数据的压缩存储,通过标识码实现有值单元格与离散点之间的高效检索,从而提高网格构建的效率。
依据有值单元格的密度获取预设正方形搜索空间,并在三角网扩展时根据需要动态建立正方形搜索空间,从而保证网格生长的准确性。
实验结果表明,该算法的时间复杂度为O (n log n ),对于少量或海量离散点均具有较好的适应性。
关键词关键词::Delaunay 三角网;不规则三角网;离散点;正方形搜素空间;网格生长算法Grid Growing Algorithm Based onTriangular Irregular Network ConstructionLIU Gang, LI Yong-shu, ZHANG Shui-jian(Geography Information Engineering Center, Southwest Jiaotong University, Chengdu 610031, China)【Abstract 】This paper presents a grid growing algorithm for fast construction of Delaunay irregular network based on discrete point. In this algorithm, a grid is achieved to express discrete point uniquely based on the divide-and-conquer method, which is compressed storage in a sparse matrix, and an efficient retrieval method is established between value cell and discrete point by identification code, which is effectively to improve the efficiency of the construction of Triangular Irregular Network(TIN). According to the density of value cells, a default square search space is acquired, and it is allowed to create the square search space dynamically in the expansion process of TIN, which ensures the accuracy of the grid growing. Experimental results show that the time complexity of the proposed algorithm is O (n log n ), and the algorithm is available to both small and massive amount of discrete points.【Key words 】Delaunay triangular network; Triangular Irregular Network(TIN); discrete point; square search space; grid growing algorithm DOI: 10.3969/j.issn.1000-3428.2011.12.019计 算 机 工 程 Computer Engineering 第37卷 第12期V ol.37 No.12 2011年6月June 2011·软件技术与数据库软件技术与数据库·· 文章编号文章编号::1000—3428(2011)12—0056—03 文献标识码文献标识码::A中图分类号中图分类号::P2091 概述不规则三角网(Triangular Irregular Network, TIN)表面建模是一种很重要的表面建模方法[1-2]。
在所有生成TIN 的方法中,Delaunay 三角网最优,它尽可能避免了病态三角形的出现,常被用来生成TIN 。
目前,利用离散点构建Delaunay 三角网的方法有很多,主要有逐点插入法、三角网生长法、分治算法等[1]。
逐点插入算法是Lawson C L [3]提出的,之后Bowyer A [4]、Watson D F [5]等人对其进行发展。
该算法的时间复杂度一般在3/2()O n ~(log )O n n [6-7],在处理过程中每插入一个点都要判断插入点所在的三角形,随着数据点的不断插入,三角形的个数成倍增加,将花费大量的时间在三角形的定位上,从而直接影响算法效率。
三角网生长法、分治法等算法的时间复杂度的下界为(log )O n n 。
三角网生长法将大部分时间花费在搜索符合要求的给定基线的邻域点过程中,分治算法由于递归执行,算法需要较大内存空间[8],对海量数据而言,两者的效率都较低。
为提高不规则三角网的构建效率,本文提出一种基于离散点构建不规则三角网的网格生长算法,重点研究如何由离散点生成规则网格,并在此基础上建立TIN 模型。
2 一种一种构建构建构建不规则三角网的不规则三角网的不规则三角网的网格网格网格生长算法生长算法2.1 离散点离散点网格网格网格化化网格由许多单元格组成,通常将单元格看成一个对象。
从处理效率上看,单元格值的情况越少,单元格之间的计算速度越快。
所以,从计算效率出发,针对离散数据确定如下规则网格构建准则:规则网格包含所有离散点,每个离散点对应一个单元格,且一个单元格内的离散点数量小于2。
当单元格内存在一个离散点时表示该单元格有值(用1表示),称为有值单元格,当不存在离散点时表示该单元格无值(即为Null),称为空值单元格,并将按照该准则建立的规则网格称为唯一网格,其唯一性体现在离散点与有值单元格的一一对应关系。
原理如图1所示,图1(a)表示一个单元格只包含 1个或0个离散点,图1(b)是对有值单元格进行赋值的结果(其中,黑色表示有值单元格即为1;其余无值即为Null)。
(a)离散点与网格关系 (b)网格化结果图1 离散点离散点网格网格网格化化 基金项目基金项目::“十一五”国家科技支撑计划基金资助项目(2006BAJ05 A13)作者简介作者简介::刘 刚(1986-),男,硕士,主研方向:复杂网络,GIS 原理及其应用;李永树,教授、博士生导师;张水舰,博士 收稿日期收稿日期::2011-01-08 E-mail :liugang233666@第37卷 第12期 57刘刚, 李永树, 张水舰:基于不规则三角网构建的网格生长算法2.2 网格网格生长生长生长算法原理算法原理空间自相关理论反映空间相邻对象在地理特性上的相互影响程度,认为距离越近的实体,彼此的影响程度越大(也可理解为共性越多或联系越紧密)。
从空间自相关角度可知,在不规则三角网构建过程中,距离当前基线较近的点对生成三角形的贡献较大,所以,算法采用局部搜索策略进行三角网的扩展,基本思想如下:根据有值单元格在网格中的密度,并以常数C N 表示每次搜索需要参考的有值单元格数量,从而确定一个正方形搜索范围R [X min, Y min, X max, Y max],之后每次扩展只需在当前基线周围的R 区域内寻找一个与当前基线满足Denaulay 三角形的有值单元格即可。
当引入局部约束条件时,将约束条件范围表达为对应的网格区域并建立相应规则。
网格生长算法原理如图2所示。
图2 网格网格生长生长生长算法原理算法原理在图2中,黑色粗线框为正方形搜索范围R ,其4个参数X min 、Y min 、X max 、Y max 为指定的行、列位置;实线三角形是已有三角形;以该三角形一边为基线并在当前正方形空间内搜索到一个有值单元格满足Delaunay 准则并生成一个新三角形,如虚线所示。
2.3 网格网格生长生长生长算法流程算法流程网格生长算法流程主要分为3个阶段:第1个阶段是由离散点构建唯一网格,建立离散点与有值单元格之间的对应关系;第2个阶段是确定每次搜索需要参考的有值单元格的数量(用N c 表示),并计算有值单元格在整个网格中的密度,从而获取空间R 的预设大小;第3个阶段是基于所建网格按照Delaunay 准则构建不规则三角网。
网格生长流程见图3。
图3 网格网格生长生长生长算法流程算法流程2.4 网格网格生长生长生长算法实现算法实现 2.4.1 数据结构在算法的整个实现过程中,需要频繁地对网格数据和离散数据进行调度,提高算法效率必须建立离散点与有值单元格之间的高效检索。
为此,建立如下数据结构,其中,Point 表示离散点;Edge 表示三角边;Triangle 表示三角形;HasUnit 表示有值单元格。
typedef struct { long id; /*离散点id 号*/ double X,Y; /*X 坐标、Y 坐标*/ } Point;typedef struct { long id; /*三角形边的id*/ long point_id[2]; /*from-point, to-point*/ long lt_id, rt_id; /*边左右邻接三角形*/ } Edge;typedef struct { long id; /*三角形id*/ long edge_id[3]; /*三角形三条边的id*/ } Triangle; typedef struct { long row, column; /*单元格行、列号*/ long point_id; /*单元格对应的离散点id*/ } HasUnit;按照2.1节中网格构建准则构建的规则网格的单元格数量很大,但有值单元格所占比重极小。
在空间分布上可认为该网格是一个稀疏矩阵,所以,采用三元组顺序表实现网格的压缩存储以及与离散点的高效检索。
网格存储结构见表1。
表1 网格网格存储结构存储结构有值单元格的行号 有值单元格的列号 对应的离散点id 号25 28 3 201 139 … … … mnk2.4.2 基于离散点的唯一网格构建根据离散点数据构建唯一网格的过程如下:(1)求出离散点集合P 的最小矩形范围T [X min, Y min, X max, Y max]。