搜档网
当前位置:搜档网 › 不规则三角网的算法设计与实现10页word文档

不规则三角网的算法设计与实现10页word文档

不规则三角网的算法设计与实现10页word文档
不规则三角网的算法设计与实现10页word文档

1 引言

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

由于地理信息系统的普及,DEM作为数字地形模拟的重要成果已经成为国家空间数据基础设施(NSDI)的基本内容之一,并被纳入数字化空间框架(DGDF)进行规模化生产,已经成为独立的标准基础产品[5]。DEM有三种主要的表示模型:规则格网模型,等高线模型和不规则三角网。格网(即GRID)DEM在地形平坦的地方,存在大量的数据冗余,在不改变格网大小情况下,难以表达复杂地形的突变现象,在某些计算,如通视问题,过分强调网格的轴方向。不规则三角网(简称TIN,即Triangulated Irregular Network)是另外一种表示数字高程模型的的方法(Peuker等,1978),它既减少了规则格网带来的数据冗余,同时在计算(如坡度)效率方面又优于纯粹基于等高线的方法。不规则三角网能随地形起伏变化的复杂性而改变采样点的密度和决定采样点的位置,因而它能够避免地形起伏平坦时的数据冗余,又能按地形特征点如山脊,山谷线,地形变化线等表示数字高程特征。

基于三角形的表面建模可适合所有的数据结构,且三角形在形状和大小方面有很大灵活性,能很容易地融合断裂线,生成线或其他任何数据,因此基于三角形的方法在地形表面建模中得到了越来越多的注意,已经成为表面建模的主要方法之一。VB语言简洁易学,对于学习GIS的学生来说无疑是接受很容易而且较快的一门计算机编程和开发语言,也是大多数学生最熟悉和了解的语言。正是基于对生成不规则三角网算法的研究和满足学GIS的学生对VB语言的喜爱和熟悉的情况下,本文就主要介绍用三角网生长算法生成不规则三角网及其在VB6.0环境下的实现。

2 TIN的算法种类及各算法特点

在介绍构成TIN各种算法之前我们要来了解认识一下一个重要法则——Delaunay三角网法则。通常构建三角网并不考虑地性线(山脊线,山谷线)的骨架作用,但是,由于用等高线数据构建三角网时,由于地形的复杂多样,有的地区存在因地形突变而形成的断裂线等特殊地貌。另外一些地区存在大面积水域等内部不需要构网的区域,因此,在精度要求较高的TIN中,必须考虑以上问题。因此此时应顾及地性线,断裂线,水域线等特殊情况,也就是应构建约束—Delaunay三角网。约束法是基于约束图计算约束D—三角剖分[1,9](简称CDT,即Constrained Delaunay Triangulation)构造算法[8],这种Delaunay三角网满足这样的法则:Delaunay三角网为相互邻接且互不重叠的三角形的集合,每一个三角形的外接圆内不包含其他点。Delaunay三角网由对应Voronoi多边形的点连接而成。Delaunay三角形有三个相邻点连接而成,这三个相邻顶点对应的

Voronoi多边形有一个公共的顶点,此顶点是Delaunay三角形外接圆的圆心(如图1)。

根据构建三角网的步骤,可将三角网生成算法分为三类:(1)分而治之算法(由Shmaos和Hoey提出),其基本思路是使问题简化,把点集划分到足够小,使其易于生成三角网,然后把子集中的三角网合并生成最终的三角网,用局部优化(LOP,即Local Optimization Procedure)算法保证其成为Delaunay三角网[3],它的优点是时间效率高,但需要大量递归运算,因此占用内存空间较多,如果计算机没有足够的内存,这一方法就无法使用[2];(2)数据点渐次插入算法(由Lawson提出),其思路很简单,先在包含所有数据点的一个多边形中建立初始三角网,然后将余下的点逐一插入,用LOP算法保证其成为Delaunay三角网[3]。此算法虽然容易实现,但效率极低;(3)三角网生长算法,在这三种算法中,三角网生长算法在80年代以后的文献中已很少见,较多的是前两种算法[3],三角网生长算法目前较少人研究,笔者在这里讨论的就是这一算法,该算法是由Michael J.McCullagh,Charles G.Ross提出的,本文对原有的三角网生长算法作了进一步优化。

2.1 三角网生长算法步骤:(过程如图2)

(1)在所采集的离散点中任意找一点,然后查找距此点最近的点,连接后作为初始基线。

(2)在初始基线右侧运用Delaunay法则搜寻第三点,具体的做法是:在初始基线右侧的离散点中查找距此基线距离最短的点,做为第三点。

(3)生成Delaunay三角形,再以三角形的两条新边(从基线起始点到第三点以及第三点到基线终止点)作为新的基线。

(4)重复步骤(2),(3)直至所有的基线处理完毕。也有人称此算法为“炸弹法”。

图1 delaunay三角形与Voronoi多边形偶

图图2 三角网生长算法过程

2.1 在VB环境中的数据结构

为了对离散数据进行有效管理,作者在构建TIN时采用的数据结构为点结构,边(或线)结构,三角形(或面)结构。数据结构定义如下(图3是对应于图4的不规则三角网的表示方法[6]):

(1)类模块

a.三角形数据结构

Triangle(Triangle.cls)

Public pnt1 As New POINT ‘三顶点

Public pnt2 As New POINT

Public pnt3 As New POINT

Public NO As

Long ‘三角形编号

Public triNO1, triNO2, triNO3 As Long ‘三角形的相邻三角形号

Public EdgeNO1, EdgeNO2, EdgeNO3As Long ‘三角形的三条边号

b.点的数据结构

Point(Point.cls)

Public x As Double

Public y As Double

Public z As Double

Public pntNO As

Long ‘顶点编号

c.边的数据结构

Edge(Edge.cls)

Public eS As Point ‘边的起点Public eE As Point ‘边的终点Public LTriNO As Long ‘边的左三角形编号Public RTriNO As Long ‘边的左三角形编号

(2) 模块

a. 三角形数组和点数组,三角形记数和点记数

Modulel(Modulel.bas)

Public triArray As New Collection ‘三角形集合

Public pntArray As New Collection ‘点的集合

Public edgeArray As New Collection ‘边的集合

Public nCount As Long ‘点个数

Public eCount As Long ‘边个数

Public triCount As Long ‘三角形个数

b. 存放窗体函数中的调用函数

mathCal(mathCal.bas)

Function TwoPntDistance(ByVal p1 As POINT, ByVal p2 As POINT) As Double ‘计算两点之间的距离

Function MinDistancePnt(ByVal p As POINT) As POINT ‘找与已知点最短距离的点

Function MaxAnglePnt(ByVal e as Edge) As POINT ‘找距与已知的基线两端点组成夹角最大的点

图 3 TIN的数据结

图 4 TIN的平面图形

3 VB环境中此算法思想以及实现过程

本文选用的方法是一种改进的生长算法,本算法和原始的生长算法比较,

具有速度快等优点,主要是在Edge边数据结构中加入了边的使用次数,这样就没有必要对每个新生成的三角形的两条新边都向外扩展生长,有效地减少了扩展的边个数,从而提高了构网速度,本算法的详细如下。

(1) 在离散数据点集V中任取一点A ,以点A为基点寻找与它最近的一点B。连接AB ,就得到了三角形的一条基边,把该边作为扩展基边,转(2) 。

(2) 在扩展基边(是有向的)的右边点集中去找与该边两端点连成直线组

成的夹角为最大的P

点,就组成了第一个三角形,将所有新生成的边与三角形信息用相应的链

表进行存储起来,边每使用一次,其数据结构中的UseTimes就加1,转(3) 。

(3) 在边链表中取出头位置的边,以该边为扩展基边向外进行扩展。如果该边的使用次数为2

或是右边没有点,该边不进行扩展;否则,转( 2)进行扩展,同时存储新生成的边和三角形。转(4)。

(4) 对边链表中下一位置的边进行扩展,实现过程同步骤(3) ,转(5)。

(5) 重复步骤( 4) ,直至边链表中的所有边都进行了扩展,就结束构网。

为了对算法的稳定性及可行性进行检验,笔者在VB中实现了上述算法,并用一些实验数据点验证了上述算法,图5是原始的数据点,图6是用该算法实现TIN。应用以上算法原理,基于Visual Basic 6.0 编译环境及数据库相结合,高效地实现了海量数据的Delaunay 三角网构建,实验表明,此算法的执行效率较高,对计算机硬件配置的要求较低。

图5 原始数据

点图6 原始数据点生成TIN

4 数据的存储—数据库管理

由于我们构网所使用的点是我们事先所采样测量得到的点,且对于一个实际的项目应用来说,数据容量大,而如果是直接人为在窗体的坐标轴中输

入数据的话,很难找准所给的采样点位置,因此就要将数据存储在数据库中,进行统一存储管理。本文中,作者是将数据库与VB连接起来,那么在VB中程序运行时可直接调用数据库中的数据。在现实的工程项目中,修路时要将某处的山地挖为平地,旅游园林公园等单位要在某些平坦的地方填方建造山林,采矿单位在地下挖方开采就形成了低洼或山体的峡谷等,形成了地形的复杂多变,那么就要在变化的区域进行点的重新测量采样,在构网时,有的地方要增加点,有的地方要删除点,有时我们还需要查询和编辑修改某个点的说明信息。那么这些都要依靠数据库的管理。

当然,也可以将数据存储在文本文件中进行读取,关于从文件中读取数据,相信大家在平时的学习中都有所接触,这里不再赘述。本文空间数据的操作包括图形的显示,放大,缩小,漫游,编辑,拓扑建立,查询和分析。

5 改进和提高

数据放在数据库(内存)里,再从内存中读取数据,这比直接从硬盘上读取数据快的多,但是,若数据量很大,Windows就要频繁地在内存和硬盘之间交换数据,反而影响速度,这种方法对硬件的依赖很大,并未从根本上解决问题[4,7]。为了提高构网速度,要采用格网索引,即在寻找第三点时,减少搜寻时间。同时对于生成的三角网的显示和缩放具有优势。在这里的改进方式有文件格网索引和数据库格网索引。对格网索引有兴趣的话可参阅[4,7]。

6.结束语

实现上述算法具有很强的现实意义。TIN的直接应用价值就是生成DEM,为DEM的生成在许多领域中打下基础。在土木工程中,如工程项目的填挖方计算,线路勘测设计,水利建设工程等的应用;TIN在GIS中得到了普遍使用,特别是在三维可视化方面受到格外关注,基于DEM的水文分析与GIS结合,DEM库,矢量库,影像库的三维一体化,DEM与数字地球等的应用。还有在摄影测量与遥感方面,气候分析和环境研究中的应用以及在地质和采矿工程,林业,地形学方面都有很强的应用。

本文对不规则三角网生长算法实现的研究,利用了VB6.0强大的可视化用户界面及其编程语言的灵活性及简单易懂特点,基于各行业对于DEM的需要,从而开发出一种利用VB语言生成基于生长算法的不规则三角网,结合数据库强大的数据库存取,编辑,查询功能,共同实现离散点的管理和三角网的构成。此算法思想的实现和数据的存储结构具有可行性,稳定性,高效性,相信这一研究会有很大的现实作用及意义。

希望以上资料对你有所帮助,附励志名言3条:

1、要接受自己行动所带来的责任而非自己成就所带来的荣耀。

2、每个人都必须发展两种重要的能力适应改变与动荡的能力以及为长期目标延缓享乐的能力。

3、将一付好牌打好没有什么了不起能将一付坏牌打好的人才值得钦佩。

不规则三角网的算法设计与实现10页word文档

1 引言 地球表面高低起伏,呈现一种连续变化的曲面,这种曲面无法用平面地图来确切表示。于是我们就利用一种全新的数字地球表面的方法——数字高程模型的方法,这种方法已经被普遍广泛采用。数字高程模型即DEM (Digital Elevation Model),是以数字形式按一定结构组织在一起,表示实际地形特征空间分布的模型,也是地形形状大小和起伏的数字描述。 由于地理信息系统的普及,DEM作为数字地形模拟的重要成果已经成为国家空间数据基础设施(NSDI)的基本内容之一,并被纳入数字化空间框架(DGDF)进行规模化生产,已经成为独立的标准基础产品[5]。DEM有三种主要的表示模型:规则格网模型,等高线模型和不规则三角网。格网(即GRID)DEM在地形平坦的地方,存在大量的数据冗余,在不改变格网大小情况下,难以表达复杂地形的突变现象,在某些计算,如通视问题,过分强调网格的轴方向。不规则三角网(简称TIN,即Triangulated Irregular Network)是另外一种表示数字高程模型的的方法(Peuker等,1978),它既减少了规则格网带来的数据冗余,同时在计算(如坡度)效率方面又优于纯粹基于等高线的方法。不规则三角网能随地形起伏变化的复杂性而改变采样点的密度和决定采样点的位置,因而它能够避免地形起伏平坦时的数据冗余,又能按地形特征点如山脊,山谷线,地形变化线等表示数字高程特征。

基于三角形的表面建模可适合所有的数据结构,且三角形在形状和大小方面有很大灵活性,能很容易地融合断裂线,生成线或其他任何数据,因此基于三角形的方法在地形表面建模中得到了越来越多的注意,已经成为表面建模的主要方法之一。VB语言简洁易学,对于学习GIS的学生来说无疑是接受很容易而且较快的一门计算机编程和开发语言,也是大多数学生最熟悉和了解的语言。正是基于对生成不规则三角网算法的研究和满足学GIS的学生对VB语言的喜爱和熟悉的情况下,本文就主要介绍用三角网生长算法生成不规则三角网及其在VB6.0环境下的实现。 2 TIN的算法种类及各算法特点 在介绍构成TIN各种算法之前我们要来了解认识一下一个重要法则——Delaunay三角网法则。通常构建三角网并不考虑地性线(山脊线,山谷线)的骨架作用,但是,由于用等高线数据构建三角网时,由于地形的复杂多样,有的地区存在因地形突变而形成的断裂线等特殊地貌。另外一些地区存在大面积水域等内部不需要构网的区域,因此,在精度要求较高的TIN中,必须考虑以上问题。因此此时应顾及地性线,断裂线,水域线等特殊情况,也就是应构建约束—Delaunay三角网。约束法是基于约束图计算约束D—三角剖分[1,9](简称CDT,即Constrained Delaunay Triangulation)构造算法[8],这种Delaunay三角网满足这样的法则:Delaunay三角网为相互邻接且互不重叠的三角形的集合,每一个三角形的外接圆内不包含其他点。Delaunay三角网由对应Voronoi多边形的点连接而成。Delaunay三角形有三个相邻点连接而成,这三个相邻顶点对应的

不规则三角网(TIN)

不规则三角网(TIN) Ⅰ 数字高程模型(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 的最大允许大小视连续可用内存资源而定。对

第三章 不规则三角网

第三章不规则三角网 教学目的与要求 通过本章的学习,让大家了解ArcView GIS 3D Analyst扩展模块,熟悉不规则三角网的生成方法,掌握工程填挖方的计算方法,掌握从3D Shapefile生成三维纵剖面和根据线状图形生成纵剖面的方法,能够进行视线与视域分析。 内容提要 5.1地表模型生成、显示 5.2工程中的土方、纵坡 5.3视线与视域分析 教学重点 工程土方量的计算方法 视域与视线分析方法 三维纵剖面图的创建方法 教学难点 不规则三角网的生成方法 5.1 地表模型生成、显示 一、由点状要素产生不规则三角网 所需数据: 点状专题 所用扩展模块: 3D Analyst 所用命令: Surface/Create TIN (Triangulated Irregular Network) from Features... 属性数据表中必须添加高程字段。 详见演示 等高线专题图的生成: 选用菜单命令Surface/Create Contours… 二、不规则三角网和距离倒数权重法插值比较 所需数据: 点状专题 所用扩展模块: Spatial Analyst 所用命令: Surface/Interpolate Grid... 属性数据表中必须添加高程字段,用于高程的计算。

详见演示 等高线专题图的生成: 选用菜单命令Surface/Create Contours… 通过比较,可知不规则三角网比较符合地形特征。 三、建立设计场地的三角网高程模型 所需数据: 设计场地高程控制点专题,并具有各个点的高程属性。 所用扩展模块: 3D Analyst 所用命令: Surface/Create TIN (Triangulated Irregular Network) from Features... 详见演示 四、在场地上添加其他要素 已知数据: 三个AutoCAD的立体图形文件。 Bldg.dwg 选polygon,多边形,建筑物 Road.dwg 选line,线,道路 Water.dwg 选polygon,多边形,水面 所用扩展模块: Cad Reader 所用命令: View/Add Theme 详见演示 五、三维显示 命令:View/3D Scene…,对系统的提示选择Themes,按OK键后系统产生3D Scenes Themes Document,该子系统具有自己的三维视图窗口和图例框,可用鼠标点击按钮Navigate(形状像帆船),再用鼠标在三维窗口中控制观察地形的三维视角。 在三维场景中,选用菜单命令Theme/3D Properties… 详见演示 小结 不规则三角网络是描述三维表面的常用方法,除了在地形方面,还可以用于其他各种领域。在不规则三角网上还可以叠加其它空间要素,同时以三维方式显示。 5.2 工程中的土方、纵坡 一、由等高线产生不规则三角网 使用数据:设计等高线、现状等高线、场地边界线 扩展模块:3D Analyst 所用命令:Surface/Create TIN from Features 操作步骤:

基于不规则三角网的DTM若干问题的探讨

第23卷 第2期重 庆 交 通 学 院 学 报2004年4月Vo1 23No 2JOURNAL OF C HONGQI NG JIAOTONG UNIVE RSI TY Apr.,2004 基于不规则三角网的DTM若干问题的探讨 赖鸿斌, 李永树 (西南交通大学测量工程系,四川成都610031) 摘要:介绍了用不规则三角网(TIN)建立数字地面模型(DTM)的基本思路,讨论了在建模过程中所遇到问题的解决方法,分析了混合模型的应用问题及TIN数据结构.最后,运用实例说明了由TIN生成的DTM在工程中的应用方法. 关 键 词:不规则三角网;数字地面模型;数据结构 中图分类号:U412 24 文献标识码:A 文章编号:1001 716X(2004)02 0090 04 数字地形模型(Digital Terrain Mode,简称D TM)是表示地形表面的数学(数字)模型.从数学的观点看,地面模型是一个空间连续函数,或是地形模型的离散化表示.对地形表面进行表达的各种处理可称为表面重建或表面建模,重建的表面通常被认为是DTM表面[1]. DTM的核心是地面特征点的三维坐标数据和一套对地表提供连续描述的算法,最基本的DTM至少包含了相关区域内平面坐标(X,Y)与高程Z之间的映射关系,即 Z=F(X,Y) (X,Y) DTM所在区域[2]. 目前,DTM模型的建立和利用已成为地理信息系统的重要组成部分. 1 基于不规则三角网建立DTM 地形表面的建模主要有4种方法:基于点的建模方法、基于不规则三角形的建模方法、基于规则格网的建模方法和混合建模方法[1],其中用得较多的是基于不规则三角形的建模方法和基于规则格网的建模方法. 基于不规则三角形建模是直接利用野外实测的地形特征点(离散点)构造出邻接的三角形,从而组成不规则三角网结构.相对于规则格网,不规则三角网具有以下优点:利用原始资料作为网格结点;不改变原始数据和精度;能够插入地性线以保存原有关键的地形特征,以及能很好地适应复杂、不规则地形等. 不规则三角网(TI N)作为一种主要的DTM表示法,虽然其生成算法比较复杂,但却有许多优点.根据生成三角网算法的不同,可以将生成三角网的算法分为以下三种:分而治之算法、数据点逐次插入算法和三角网生长算法[1].分而治之算法的思想以及生成V 图的分治算法最先是由Shamos和Hoey提出的.Le wis和Robinson将分而治之算法思想应用于生成三角网并给出了一个简化算法:即递归地分割点集,直至子集中只包含三个点而形成三角形,然后自上而下地逐级合并生成最终的三角网;数据点逐次插入算法的思想是由Lawson提出的,以后,Lee和Schachter、Sloan、Watson、Pareschi和Macedonio、Puppo 和Floriani等人先后对这一算法做进一步的改进和完善;三角网生长算法是由Green和Sibson在1978年首先给出的.后来,Reif 、Maus和Brassel等人也发表了类似的算法.下面主要讨论利用三角网生长算法来构建不规则三角网. 如图1所示,在数据点集中任取一点A,查找距 图1 其始三角形的确定 收稿日期:2003 02 21;修订日期:2003 06 19 基金项目:国家自然科学基金项目(40371098)资助 作者简介:赖鸿斌(1978-),男,福建莆田人,硕士生,从事3S的应用研究.

基于不规则三角网构建的网格生长算法

基于基于不规则三角网不规则三角网不规则三角网构建构建构建的的网格生长算法 刘 刚,李永树李永树,,张水舰 (西南交通大学地理信息工程中心,成都 610031) 摘 要:提出一种基于离散点Delaunay 三角网快速构建的网格生长算法,采用分治算法将离散点表达为唯一网格,利用稀疏矩阵完成网格数据的压缩存储,通过标识码实现有值单元格与离散点之间的高效检索,从而提高网格构建的效率。依据有值单元格的密度获取预设正方形搜索空间,并在三角网扩展时根据需要动态建立正方形搜索空间,从而保证网格生长的准确性。实验结果表明,该算法的时间复杂度为O (n log n ),对于少量或海量离散点均具有较好的适应性。 关键词关键词::Delaunay 三角网;不规则三角网;离散点;正方形搜素空间;网格生长算法 Grid Growing Algorithm Based on Triangular Irregular Network Construction LIU 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 中图分类号中图分类号::P209 1 概述 不规则三角网(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@https://www.sodocs.net/doc/027742763.html,

不规则三角网(TIN)生成的算法

第五章 不规则三角网(TIN)生成的算法
5.1.1 递归生长法
递归生长算法的基本过程为如图 5.1.1 所示:
3 2
1
3 2
1
(a)形成第一个三角形 (b) 扩展生成第二个和第三个三角形 图 5.1.1 递归生长法构建 Delaunay 三角网
(1)在所有数据中取任意一点 1(一般从几何中心附近开始),查找 距离此点最近的点 2,相连后作为初始基线 1-2;
(2)在初始基线右边应用 Delaunay 法则搜寻第三点 3,形成第一个 Delaunay 三角形;
(3)并以此三角形的两条新边(2-3,3-1)作为新的初始基线; (4)重复步骤(2)和(3)直至所有数据点处理完毕。 该算法主要的工作是在大量数据点中搜寻给定基线符合要求的邻域 点。一种比较简单的搜索方法是通过计算三角形外接圆的圆心和半径来完 成对邻域点的搜索。为减少搜索时间,还可以预先将数据按 X 或 Y 坐标分 块并进行排序。使用外接圆的搜索方法限定了基线的待选邻域点,因而降 低了用于搜寻 Delaunay 三角网的计算时间。如果引入约束线段,则在确定 第三点时还要判断形成的三角形边是否与约束线段交叉。
1

5.1.2 凸闭包收缩法
与递归生长法相反,凸闭包搜索法的基本思想是首先找到包含数据区 域的最小凸多边形,并从该多边形开始从外向里逐层形成三角形网络。平 面点凸闭包的定义是包含这些平面点的最小凸多边形。在凸闭包中,连接 任意两点的线段必须完全位于多边形内。凸闭包是数据点的自然极限边界, 相当于包围数据点的最短路径。显然,凸闭包是数据集标准 Delaunay 三角 网的一部分。计算凸闭包算法步骤包括:
(1)搜寻分别对应 x-y,x+y 最大值及 x-y,x+y 最小值的各二个点。 这些点为凸闭包的顶点,且总是位于数据集的四个角上,如图 5.1.2(a)中的点 7,9,12,6 所示;
(2)将这些点以逆时针方向存储于循环链表中; (3)对链表中的点 I 及其后续点 J 搜索线段 IJ 及其右边的所有点,计
算对 IJ 有最大偏移量的点 K 作为 IJ 之间新的凸闭包顶点,如点 11 对边 7-9。 (4)重复(2)-(3)直至找不到新的顶点为止。
(a)初始边界 7,9,12,6;(b)搜索凸闭包顶点 11,5,4;(c)凸闭包 图 5.1.2 凸闭包的计算(引自 Tsai,1993)
一旦提取出数据区域的凸闭包,就可以从其中的一条边开始逐层构建 三角网,具体算法如下:
2

实验四:不规则三角网

本科学生野外实验报告 学号姓名 学院旅游与地理科学学院专业、班级 实验课程名称地理信息系统实习教程 教师及职称 开课学期2012 至2013 学年下学期填报时间2013 年 5 月29 日 云南师范大学教务处编印

1、实验现象与结果 (1)视线分析,打开ex15.mxd,激活Data frame1,在General标签栏中,在Units框内,用下拉式菜单将Map和Display从Unknow Units改为Meters,完成后按“确定”关闭,选用菜单Tool/Extension,加载3D Analyst扩展模块,选用菜单View/Toolbars/3D Analyst,加载 3D Analyst工具条,点击产生视线按钮,出现Line of Sight对话框:

(2)基于视点的视域分析 ①产生单个观察点的视域栅格,选用3D/Options,作初始设置,初始设置完成后,选用菜单3D Analyst/Sueface Analysis/Viewshed…,出现Viewshed参数设置对话框,按ok键确定后,软件产生栅格状视域分析结果图层Visibilel。

②改变观察点的高程,视域分析中,需预先设定部分参数,其中有观察点的高度。在前面分析的视域分析中,没有作任何特别的设置,软件默认为观察点的高度比所在位置的三维面高一个地图单位,其观察点绝对高程为90m的视域: ③两次视域分析结果的比较,前一次不作任何设置,观察点高程仅仅是比对应的三维表面层

Analyst/Convert/Features to 3D,出现“Convert features to 3D”参数设置对话框进行设置,再Viewshed参数设置对话框进行设置,最后就能得到基于路径的视域分析结果图;

CASS软件三角网法计算土方量

CASS软件三角网法计算土方量 数字地面模型(DTM)可以解决一些工程实际的问题,该模型能用三维场景表示出地貌的起伏状态,可以按用户要求进一步生成坡度图、等高线图、断面图等;三角网是DTM模型中的一种,利用该模型可以较方便的计算出土方量,在工程上得到了广泛的应用。 标签:CASS软件;DTM;土方量计算 1 土方量计算概述 土方量的计算是工程费用概算及施工方案选取的重要依据,所以工程施工前的设计阶段必须对施工区域的土石方量进行计算。土石方量计算是以设计高程作为底面高程,以施工前该区域的实际地形高程作为顶面高程。土石方量的计算方法有等高线法,方格网法,断面法和三角网法等。在实际工作时,无论采用哪一种方法,都需要利用测量仪器获得大量的地形数据,其采样的间隔越小,其计算出的土方量越准确。在这几种土方量计算方法中,三角网法由于很好的拟合实际地貌的几何特征,并且能克服地形起伏不大的地区产生冗余数据的问题,其计算精度高于等高线法,方格网法,断面法精度。 2 三角网法土方量计算 2.1 建立三角网 数字高程模型(DEM)的格网间隔(数据点密度)与其同比例尺地形图高程精度相适配,并形成有规则的格网系统,根据不同的高程精度,可分为不同类型产品。为完整反映地表形态,可配套提供离散高程点数据。三角网是数字高程模型中的一种,是在一定区域内规则三角网点的三维坐标数据的集合,这个数据集合可以代表该区域地形地貌的起伏状态。利用CASS(数字地形地籍绘图软件)可以较为容易的生成三角网,其建立方法分为两种:一种是根据“坐标数据文件”生成,另一种是根据“图面高程点”生成。无论采用哪一种方法,都必须是依据坐标数据文件,必须采用如下格式:“点号,编码,Y坐标,X坐标,高程”才能在CASS软中将高程点展绘出来。需要注意的是编码一位可以是空缺的,但是“逗号”不能省略,此文件格式必须是五个“逗号”,并其需要注意横坐标在前,纵坐标在后。 因实际地貌的多样性和复杂性,自动构成的三角网模型与实际地貌会有一定偏差,如果出现了三角网与实际地形不符合的情况,可以采用如下方法进行局部的修改:(1)删除三角形:如果区域边界生成了多余的三角形,应把其删除;(2)增加三角形:如果边界区域某范围没有生产三角网,则应通过内插点生产三角形,否则没有三角形的范围不参与土方量的计算;(3)过滤三角形:如果某些三角行的某个角度过小,可以采用该方法,将这些三角行重新组合成三角形;(4)删三角形顶点:采用该方法可以将有公共点的三角形统一删除,这样该区域范围不参

不规则三角网的建立与应用

作为空间数据基础设施中的“4D”产品之一和地理信息系统的核心数据库,数字高程模型(DEM)已在测绘、遥感、农林规划、城市规划、土木水利工程、地学分析等各个领域都有了广泛的应用。数字高程模型的表示方法主要有规则格网模型、不规则三角网模型和等高线模型三种,而不规则三角网(TIN)是数字高程模型中最基本和最重要的一种模型,它能以不同层次的分辨率来描述地形表面,并可以灵活的处理特殊地形。因此,围绕基于TIN 的DEM 的构建,本文主要论述了基于TIN 结构的数字高程模型建模原理和方法,离散点的Delaunay 三角网生成算法,建立有约束条件的约束三角网,最后分析了建立的TIN模型在土方计算方面的应用。 在本论文论述的过程中,针对传统算法进行了对比和分析后,在逐点插入法的基础之上,提出了一些新的细部改进的实现方法。局部优化操作和改进的算法实现使得对大容量离散点的三角网构建速度更快,效率更高;对限制条件的嵌入满足由此计算出来的土方量更接近实际期望值。本论文中主要的研究成果和内容如下:1)在离散点的Delaunay 三角网生成方面,本文中在插入点算法的基础上,建立凸包和矩形包容盒,建立虚拟网格,对原始离散点进行一级格网自适应分块,并建立索引关系。在定位点所在三角形时引入快速点定位算法,简易的空外接圆及圆内测试公式,通过这些改进使得Delaunay 三角网的剖分更加高效。 2)在约束Delaunay 三角网理论基础之上,结合上面散点域的剖分方法,对已有的两步算法基础上改进,完成约束Delaunay 三角网的构建。在其过程中应用矢量点积等数学工具改善了计算中的凹凸点判断,继续采用上章的快速索引和最速定位方法,并且对约束线相切等特殊情形进行了处理,进一步完善了算法的稳健性。 3)对于在约束三角网构造基础上的TIN 模型的应用,文中对其在土方量计算方面精度的优越性进行了分析,在可视化表达方面最后结合广东省东莞市某高尔夫球场工程给出了例证。 关键词:不规则三角网(TIN);逐点插入法;土方计算

不规则三角网(TIN)生成的算法

第五章 不规则三角网(TIN)生成的算法
在第四章,基于三角网和格网的建模方法使用较多,被认为是两种基 本的建模方法。三角网被视为最基本的一种网络,它既可适应规则分布数 据,也可适应不规则分布数据,即可通过对三角网的内插生成规则格网网 络,也可根据三角网直接建立连续或光滑表面模型。在第四章中同时也介 绍了 Delaunay 三角网的基本概念及其产生原理,并将三角网构网算法归纳 为两大类:即静态三角网和动态三角网。由于增量式动态构网方法在形成 Delaunay 三角网的同时具有很高的计算效率而被普遍采用。本章主要介绍 静态方法中典型的三角网生长算法和动态方法中的数据点逐点插入算法; 同时,还将给出考虑地形特征线和其他约束线段的插入算法。而其他非 Delaunay 三角网算法如辐射扫描法 Radial Sweep Algorigthm(Mirante & Weingarten, 1982)等本文将不再介绍。
5.1 三角网生长法
5.1.1 递归生长法
递归生长算法的基本过程为如图 5.1.1 所示:
3 2
1
3 2
1
(a)形成第一个三角形 (b) 扩展生成第二个和第三个三角形 图 5.1.1 递归生长法构建 Delaunay 三角网
(1)在所有数据中取任意一点 1(一般从几何中心附近开始),查找
1

距离此点最近的点 2,相连后作为初始基线 1-2; (2)在初始基线右边应用 Delaunay 法则搜寻第三点 3,形成第一个
Delaunay 三角形; (3)并以此三角形的两条新边(2-3,3-1)作为新的初始基线; (4)重复步骤(2)和(3)直至所有数据点处理完毕。 该算法主要的工作是在大量数据点中搜寻给定基线符合要求的邻域 点。一种比较简单的搜索方法是通过计算三角形外接圆的圆心和半径来完 成对邻域点的搜索。为减少搜索时间,还可以预先将数据按 X 或 Y 坐标分 块并进行排序。使用外接圆的搜索方法限定了基线的待选邻域点,因而降 低了用于搜寻 Delaunay 三角网的计算时间。如果引入约束线段,则在确定 第三点时还要判断形成的三角形边是否与约束线段交叉。
5.1.2 凸闭包收缩法
与递归生长法相反,凸闭包搜索法的基本思想是首先找到包含数据区 域的最小凸多边形,并从该多边形开始从外向里逐层形成三角形网络。平 面点凸闭包的定义是包含这些平面点的最小凸多边形。在凸闭包中,连接 任意两点的线段必须完全位于多边形内。凸闭包是数据点的自然极限边界, 相当于包围数据点的最短路径。显然,凸闭包是数据集标准 Delaunay 三角 网的一部分。计算凸闭包算法步骤包括:
(1)搜寻分别对应 x-y,x+y 最大值及 x-y,x+y 最小值的各二个点。 这些点为凸闭包的顶点,且总是位于数据集的四个角上,如图 5.1.2(a)中的点 7,9,12,6 所示;
(2)将这些点以逆时针方向存储于循环链表中; (3)对链表中的点 I 及其后续点 J 搜索线段 IJ 及其右边的所有点,计
算对 IJ 有最大偏移量的点 K 作为 IJ 之间新的凸闭包顶点,如点 11 对边 7-9。 (4)重复(2)-(3)直至找不到新的顶点为止。
(a)初始边界 7,9,12,6;(b)搜索凸闭包顶点 11,5,4;(c)凸闭包
2

三角网构造原理

VB环境下不规则三角网的算法设计与实现 江剑霞1,刘少华1,2, (1北京建筑工程学院,北京100044;2江西省数字国土重点实验室江西抚州344000;)摘要:本文对不规则三角网生长算法实现的研究,利用了VB强大的可视化用户界面及其编程语言的灵活性及简单易懂特点,基于各行业对于DEM的需要,从而开发出一种利用VB6.0语言生成基于生长算法的不规则三角网,结合数据库强大的数据库存取,编辑,查询功能,共同实现离散点的管理和三角网的构成。 关键词:不规则三角网;Delaunay三角网;VB环境;算法 Algorithm designing and realizing of TIN In VB JIANG Jian-xia1,LIU Shao-hua1,2 (1BeiJing Institute of Civil Engineering And Architecture,BeiJing,100044;2Digital Land Key Lab of JiangXi Province,Fuzhou344000) Abstract:the paper discuss the algorithm of the TIN which takes advantage of VB’s powerfully visible interface of user and flexibility and knowing easily of compiling procedure.On the basis of demanding for DEM for all professions,the author uses the VB language to develop a kind of TIN based on the growth-algorithm,in combination with the powerful function of the data base’s data accessed,edited and inquired about,achieving the management of the dispersed points and the construction of TIN Key words:TIN,Delaunay,VB,algorithm 1引言 地球表面高低起伏,呈现一种连续变化的曲面,这种曲面无法用平面地图来确切表示。于是我们就利用一种全新的数字地球表面的方法——数字高程模型的方法,这种方法已经被普遍广泛采用。数字高程模型即DEM(Digital Elevation Model),是以数字形式按一定结构组织在一起,表示实际地形特征空间分布的模型,也是地形形状大小和起伏的数字描述。 由于地理信息系统的普及,DEM作为数字地形模拟的重要成果已经成为国家空间数据基础设施(NSDI)的基本内容之一,并被纳入数字化空间框架(DGDF)进行规模化生产,已经成为独立的标准基础产品[5]。DEM有三种主要的表示模型:规则格网模型,等高线模型和不规则三角网。格网(即GRID)DEM在地形平坦的地方,存在大量的数据冗余,在不改变格网大小情况下,难以表达复杂地形的突变现象,在某些计算,如通视问题,过分强调网格的轴方向。不规则三角网(简称TIN,即Triangulated Irregular Network)是另外一种表示数字高程模型的的方法(Peuker等,1978),它既减少了规则格网带来的数据冗余,同时在计算(如坡度)效率方面又优于纯粹基于等高线的方法。不规则三角网能随地形起伏变化的复杂性而改变采样点的密度和决定采样点的位置,因而它能够避免地形起伏平坦时的数据冗余,又能按地形特征点如山脊,山谷线,地形变化线等表示数字高程特征。 基于三角形的表面建模可适合所有的数据结构,且三角形在形状和大小方面有很大灵活性,能很容易地融合断裂线,生成线或其他任何数据,因此基于三角形的方法在地形表面建模中得到了越来越多的注意,已经成为表面建模的主要方法之一。VB语言简洁易学,对于学习GIS的学生来说无疑是接受很容易而且较快的一门计算机编程和开发语言,也是大多数学生最熟悉和了解的语言。正是基于对生成不规则三角网算法的研究和满足学GIS的学 基金项目:湖北省高等学校优秀中青年团队计划项目资助(T200602);;江西省数字国土重点实验室开发研究基金资助 (DLLJ200501);;长江大学发展基金资助(2004Z0115)

CASS软件三角网法计算土方量

CASS软件三角网法计算土方量 摘要:数字地面模型(DTM)可以解决一些工程实际的问题,该模型能用三维场景表示出地貌的起伏状态,可以按用户要求进一步生成坡度图、等高线图、断面图等;三角网是DTM模型中的一种,利用该模型可以较方便的计算出土方量,在工程上得到了广泛的应用。 关键词:CASS软件;DTM;土方量计算 1 土方量计算概述 土方量的计算是工程费用概算及施工方案选取的重要 依据,所以工程施工前的设计阶段必须对施工区域的土石方量进行计算。土石方量计算是以设计高程作为底面高程,以施工前该区域的实际地形高程作为顶面高程。土石方量的计算方法有等高线法,方格网法,断面法和三角网法等。在实际工作时,无论采用哪一种方法,都需要利用测量仪器获得大量的地形数据,其采样的间隔越小,其计算出的土方量越准确。在这几种土方量计算方法中,三角网法由于很好的拟合实际地貌的几何特征,并且能克服地形起伏不大的地区产生冗余数据的问题,其计算精度高于等高线法,方格网法,断面法精度。 2 三角网法土方量计算

2.1 建立三角网 数字高程模型(DEM)的格网间隔(数据点密度)与其同比例尺地形图高程精度相适配,并形成有规则的格网系统,根据不同的高程精度,可分为不同类型产品。为完整反映地表形态,可配套提供离散高程点数据。三角网是数字高程模型中的一种,是在一定区域内规则三角网点的三维坐标数据的集合,这个数据集合可以代表该区域地形地貌的起伏状态。利用CASS(数字地形地籍绘图软件)可以较为容易的生成三角网,其建立方法分为两种:一种是根据“坐标数据文件”生成,另一种是根据“图面高程点”生成。无论采用哪一种方法,都必须是依据坐标数据文件,必须采用如下格式:“点号,编码,Y坐标,X坐标,高程”才能在CASS软中将高程点展绘出来。需要注意的是编码一位可以是空缺的,但是“逗号”不能省略,此文件格式必须是五个“逗号”,并其需要 注意横坐标在前,纵坐标在后。 因实际地貌的多样性和复杂性,自动构成的三角网模型与实际地貌会有一定偏差,如果出现了三角网与实际地形不符合的情况,可以采用如下方法进行局部的修改:(1)删除三角形:如果区域边界生成了多余的三角形,应把其删除;(2)增加三角形:如果边界区域某范围没有生产三角网, 则应通过内插点生产三角形,否则没有三角形的范围不参与土方量的计算;(3)过滤三角形:如果某些三角行的某个角

不规则三角网

不规则三角网的构建 曹宁0211555 摘要:在GIS应用领域中,Delaunay三角网通常被应用在生成不规则三角网(TIN)模型,并用于描述地表形态。本篇文章就目前较为成熟的算法做简要介绍,并对用于构建Delaunay三角网的渐次插入算法(闫浩文,2002)在VC++环境下实现的过程做较为详细的介绍。 关键词:不规则三角网;VC++;渐次插入算法 Abstract:In GIS applications, the Delaunay triangulation Netcom often used to generate atriangulated irregular network (TIN) model, and is used to describe the surface morphology. This article is a brief introduction to the more sophisticated algorithms,and detailed introduce the implementation process of gradually insert of the Delaunay triangulation algorithm (Yan Hao, 2002) in VC + + environment. Keywords:TIN;VC++; gradually insert algorithm 一、引言 TIN(Triangulated Irregular Network)即不规则三角网,Delaunay三角网是其中的一种表现形式,也是一种主要的DTM的表示法。 Delaunay三角网:它是一系列相连的但不重叠的三角形的集合,而且这些三角形的外接圆不包含这个面域的其他任何点,它具有两个特有的性质:每个Delaunay三角形的外接圆不包含面内的其他任何点,称之为Delaunay三角网的空外接圆性质,这个特性已经作为创建Delaunay三角网的一项判别标准。 它的另一个性质是最大最小角性质:在由点集V中所能形成的三角网中,Delaunay三角网中的三角形的最小角度是最大的。 Delaunay三角网的优点是结构良好,数据结构简单,数据冗余度小,存储效率高,与不规则的地面特征和谐一致,可以表示线性特征和迭加任意形状的区域边界,易于更新,可适应各种分布密度的数据等;局限性是。算法实现比较复杂和困难。 Delaunay三角网是V oronoi图的对偶图,他们两个是被普遍接受和采用的分析研究区域离散数据的有力工具。它是通过连接具有公共顶点的三个V多边形的生长中心而生成的。如图1.1。 图1.1 Delaunay三角网与V oronoi图 二、几种常见的算法 2.1 凸包插值算法 (1)凸包生成。①求出点集中满足min(x-y)、min(x+y)、max(x-y)、max (x+y)的四个点,并按照逆时针方向组成一个链表。这四个点是离散点中与包含离散点的外接矩形的四个角点最接近的点,这四个点构成的多边形作为初始凸包。 ②对于每个凸包上的点I,设它的后续点为J,计算矢量线段IJ右侧的所有点到IJ的距离,求出距离最大的点K。 ③将K插入I、J之间,并将K赋给J。

不规则三角网

第25卷第3期 青岛大学学报(工程技术版) V ol.25N o.3 2010年9月 JOURNAL OF QINGDAO UNIVERSITY (E&T)Sep.2010 文章编号:10069798(2010)03001905基于不规则三角网的地形图分块纠正技术 苏媛媛1,刘建东1,张国栋1,郭兆成2 (1.海军航空工程学院青岛分院,山东青岛266041; 2.中国科学院地理科学与资源研究所,北京100101) 摘要:针对传统的地形图精纠正技术是建立在整体基础上,无法实现快速的高精度纠正, 在传统三角网构建方法的基础上,对地形图采取分块处理,结合地面控制点(GCP),利用 三角形最大角度构建不规则三角网(TIN),实现了地形图分块精纠正模型的构建。实例 测试显示,基于不规则三角网的地形图分块纠正方法,能提高地形图纠正的精度和速度, 纠正精度可控制在1个最小数据单元之内。 关键词:地理信息系统;分块纠正;地面控制点;不规则三角网;地形图;精纠正 中图分类号:TP751;P208文献标识码:A 收稿日期:2009 11 11;修回日期:2010 07 01 作者简介:苏媛媛(1980 ),女,山东日照人,讲师,硕士,主要从事摄影测量与遥感及GIS 应用的研究。 地形图的快速纠正在军事目标识别与监测、地图制图及修测、军事情报整编以及灾害应急等方面十分重要。随着地理信息系统的发展和应用,地形图本身带有的地理空间数据已能够被极大限度地发掘和应用,而这须建立在地形图被精确纠正的基础上。常见的地理数据纠正技术包括:多项式、地图投影等线性纠正方式和狄洛尼三角网等非线性纠正方式[1,2] 。理论上,这些纠正方式能够达到1个像素以内的精度,但是由于地面控制点(gro und control po int,GCP)本身精度的问题,导致在实际应用时很难达到。如果要达到较高的精度,在保证地面控制点精度的前提下,需要提高核心算式的级次,从而造成运算量倍增,效率低下[3 5]。基于地震灾害应急以及高分辨率数据的纠正方面,一些学者对纠正的技术流程和整体算法进行改进,一定程度上提高了纠正的速度和精度[6,7]。但这些研究基本上还是属于整体纠正的范畴,因此也就无法从根本上提高纠正的速度和精度。很多系统中只涉及到普通的几何纠正,而没有对目标进行精纠正的有效方法。为了在保证纠正精度的前提下,提高精纠正的速度,本文利用多源地理信息系统的高精度地面控制点[8],在多项式纠正和三角网纠正的基础上,对图像进行分块,并利用三角形最大角度构建不规则三角网(triangulated ir r eg ular netw ork,T IN),利用相邻三角形相互制约的方式,计算出对应的图面坐标和地理坐标。采取分块作业,使地形图纠正的效率提高,运算速度加快。同时,根据不规则三角网的制约性,使地形图纠正精度较传统的多项式纠正有了进一步的提高。1 图像几何纠正模型 图像的几何纠正模型根据解算方程的来源不同,可分为共线方程纠正模型和多项式纠正模型两类;根据几何纠正区域范围的不同,则可分为整体纠正和分块纠正两种模型[4,5]。 1.1 多项式模型 多项式模型是实际应用过程中最常用的模型,因其原理比较直观、计算较为简单。该模型的基本思想是回避成像的空间几何过程,而直接对图像变形的本身进行数学模拟。纠正前后图像相应点之间的坐标关系可以用一个适当的多项式来表达[2,4],即可为 x =a 0+(a 1X +a 2Y)+(a 3X 2+a 4X Y +a 5Y 2)+(a 6X 3+a 7X 2Y +a 8X Y 2+a 9Y 3)+ y =b 0+(b 1X +b 2Y)+(b 3X 2+b 4X Y +b 5Y 2)+(b 6X 3+b 7X 2Y +b 8X Y 2+b 9Y 3)+ (1) 式中,x ,y 为某像素点的原始图像坐标;X ,Y 为同名像素点的地面(或地图)坐标,即参考点坐标。当多项式

相关主题