CN104331928B - 一种基于三角网的等高线高程自动赋值方法 - Google Patents
一种基于三角网的等高线高程自动赋值方法 Download PDFInfo
- Publication number
- CN104331928B CN104331928B CN201410588365.0A CN201410588365A CN104331928B CN 104331928 B CN104331928 B CN 104331928B CN 201410588365 A CN201410588365 A CN 201410588365A CN 104331928 B CN104331928 B CN 104331928B
- Authority
- CN
- China
- Prior art keywords
- contour
- grid
- point
- triangulation network
- index
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/05—Geographic models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/30—Polynomial surface description
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Geometry (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Physics (AREA)
- Mathematical Analysis (AREA)
- Algebra (AREA)
- Remote Sensing (AREA)
- Processing Or Creating Images (AREA)
- Image Analysis (AREA)
- Image Generation (AREA)
Abstract
本发明涉及一种基于三角网的等高线高程自动赋值方法,属于地理信息技术领域。本发明根据等高线与高程注记点构造的三角网模型,建立其外包矩阵,划分成网格,遍历每根等高线,针对每根等高线,根据等高线与网格的相交特点,确定等高线通过的网格,遍历三角网模型的每一个三角形,获取三角形每条边所需分析的网格,根据网格内存储的等高线标识ID,确定该边通过的等高线条数,根据该边两端点处的高程差值与等高距完成等高线高程自动赋值。本发明在进行三角网边线与等高线求交前,创建一个网格索引,缩小与三角形边线求交的等高线的条数,在保证准确性的同时能够显著的提高计算速度效率。同时通过该方法还可以发现等高线是否出错。
Description
技术领域
本发明涉及一种基于三角网的等高线高程自动赋值方法,属于地理信息技术领域。
背景技术
在数字地图中经常会出现等高线没有高程值或者高程值出错的情况,这大大影响了后期的地形处理和场地平整的准确性。随着数字地图的应用范围日益拓广,通过读取等高线的高程值来实现多种应用变得非常普遍,因此,需要一种能够为等高线赋值以及纠错的方法。
在现有的技术中,等高线高程自动赋值主要是通过人工录入、批量标注的方式进行,而传统的人工手动逐条标注或者批量标注都需要较多的人工干预,并且耗时耗力,在地形突变的区域如陡坎处很容易赋值失败。
另外,也可以根据高程点组建三角网,通过读取三角形的每条边,遍历每条等高线,求取与之相交的等高线,然后进行赋值。但是曲线求交运算比较耗时,当地形图较大,而等高线又多的情况下,就会导致耗时非常高,而且影响计算性能。
发明内容
本发明的目的是提供一种基于三角网的等高线高程自动赋值方法,以解决现有高程赋值方法存在的计算量大,耗时长的问题。
本发明为解决上述技术问题而提供一种基于三角网的等高线高程自动赋值方法,该自动赋值方法包括以下步骤:
1)提取原始地形图中的等高线,存放在一个单独的图层;
2)根据高程标记点构造地形三角网模型;
3)计算包含等高线与三角网模型的所有实体的外包矩阵,并将矩阵网格化,建立网格索引;
4)获取网格索引中每个网格通过的等高线标识ID,遍历每根等高线,根据等高线与网格的相交特点,确定等高线通过的网格;
5)遍历三角网模型的每一个三角形,获取三角形每条边所需分析的网格,根据网格内存储的等高线标识ID,确定该边通过的等高线条数,根据该边两端点处的高程差值与登高距完成等高线高程自动赋值。
所述步骤3)中网格索引的创建过程如下:
设定网格间距,根据确定的外包矩形的任一顶点作为起始点,绘制横向与纵向网格线;根据绘制的网格线,建立一个网格索引数组gridIndex。
所述步骤4)
A.根据等高线的起点位置坐标,判断等高线起点在网格索引中的位置,将等高线的标识ID存储到网格索引所对应的方格元素中;
B.根据等高线的终点位置坐标,判断等高线终点在网格索引中的位置,将等高线的标识ID存储到网格索引所对应的方格元素中;
C.将等高线与每条横向网格线求交点,根据交点坐标确定在网格索引中的位置,将等高线的标识ID存储到网格索引所对应的方格元素中;
D.将等高线与每条纵向网格线求交点,根据交点坐标确定在网格索引中的位置,将等高线的标识ID存储到网格索引所对应的方格元素中。
所述等高线ID的存储原则如下:
a.当等高线起点、终点或交点位于某一个方格内,将该等高线ID存储于该方格中;
b.当等高线起点、终点或交点位于横向网格线上时,将该等高线ID存储于该横向网格线所在的上下两个方格中;
c.当等高线起点、终点或交点位于纵向网格线上时,将该等高线ID存储于该纵向网格线所在的左右两个方格中;
d.当等高线起点、终点或交点位于横纵网格线的交点时,将该等高线ID存储于周围的四个方格中。
所述步骤5)在遍历三角网模型的每个三角形模型的每条边时,需进行如下步骤:
I.根据三角形每边两端点的X坐标来确定各边在gridIndex中的起始列与终止列;
II.根据三角形每边两端点的Y坐标来确定各边在gridIndex中的起始行与终止行;
III.将步骤I和步骤II所对应的方格中存储的等高线均与各边求交,求到的交点个数为N1,即与各边相交的等高线条数为N1;
Ⅳ.读取该两端点处的高程值,根据高程值的差和等高距计算通过该边的正确等高线条数N2;
Ⅴ.判断N1和N2否相等,如果N1==N2,则自动根据等高距把高程值赋予各条等高线,同时记录赋值次数;如果N1!=N2,则不进行赋值,将该边相交的等高线进行特殊标记以提示用户。
所述若同一条等高线根据不同的三角形得到的高程赋值不同,则根据赋值次数,将出现概率大的高程值赋给等高线,同时将等高线进行特殊标记以提示用户。
本发明的有益效果是:本发明根据等高线与高程注记点构造的三角网模型,建立其外包矩阵,划分成网格,遍历每根等高线,针对每根等高线,根据等高线与网格的相交特点,确定等高线通过的网格,遍历三角网模型的每一个三角形,获取三角形每条边所需分析的网格,根据网格内存储的等高线标识ID,确定该边通过的等高线条数,根据该边两端点处的高程差值与等高距完成等高线高程自动赋值。本发明在进行三角网边线与等高线求交前,创建一个网格索引,缩小与三角形边线求交的等高线的条数,在保证准确性的同时能够显著的提高计算速度效率。同时通过该方法还可以发现等高线是否出错。
附图说明
图1是本发明基于三角网的等高线高程自动赋值方法的流程图;
图2-1是等高线点位于方格内时等高线存储位置的示意图;
图2-2是等高线点位于横向网格线上时等高线存储位置的示意图;
图2-3是等高线点位于纵向网格线上时等高线存储位置的示意图;
图2-4是等高线点位于横纵网格线交点时等高线存储位置的示意图;
图3是获取三角形每条边所需分析网格的示意图。
具体实施方式
下面结合附图对本发明的具体实施方式作进一步的说明。
本发明提供了一种基于三角网的等高线高程自动赋值方法,该方法在进行三角网边线与等高线求交前,创建一个网格索引,缩小与三角形边线求交的等高线的条数,在保证准确性的同时能够显著的提高计算速度效率,该方法的流程如图1所示,具体过程如下:
1.把原始地形图中的等高线提取出来,存放在一个单独的图层。
2.根据高程注记点构造数字高程模型(地形三角网模型)。
3.绘制网格,建立网格索引,计算包含步骤1与步骤2所有实体的外包矩阵,设定网格间距,根据确定的外包矩形的任一顶点作为起始点,绘制横向与纵向网格线,矩阵网格化,根据绘制的网格线,建立一个网格索引数组gridIndex作为网格索引。
4.获取网格索引中每个网格通过的等高线标识ID,遍历每根等高线,针对每根等高线,根据等高线与网格的相交特点,确定等高线通过的网格。
获取网格索引中每个网格通过的等高线标识ID,需要遍历每一根等高线,对每一根等高线进行如下步骤:
(41)根据等高线的起点位置坐标,判断等高线起点在网格索引中的位置,然后将等高线的标识ID存储在网格索引所对应的方格元素中;
(42)根据等高线的终点位置坐标,判断等高线终点在网格索引中的位置,然后将等高线的标识ID存储在网格索引所对应的方格元素中;
(43)将等高线与每条横向网格线求交点,根据交点坐标确定在网格索引中的位置,然后将等高线的标识ID存储在网格索引所对应的方格元素中;
(44)将等高线与每条纵向网格线求交点,根据交点坐标确定在网格索引中的位置,然后将等高线的标识ID存储在网格索引所对应的方格元素中。
步骤(41)至(44)中等高线的存储原则如下:
(A)当等高线起点、终点或交点位于某一个方格内,把该等高线ID存储于该方格中,如图2-1所示,白色的圆点为所分析的点,该点在方格1内,则该点等高线的ID存储到方格1内。
(B)当等高线起点、终点或交点位于横向网格线上时,把该等高线ID存储于上下两个方格中。如图2-2示,白色的圆点为所分析的点,该点位于方格1和方格3之间的横向网格线上,将该点等高线的ID存储到方格1和3中。
(C)当等高线起点、终点或交点位于纵向网格线上时,把该等高线ID存储于左右两个方格中。如图2-3所示,白色的圆点为所分析的点,该点位于方格1和方格2之间的纵向网格线上,将该点等高线的ID存储到方格1和2中。
(D)当等高线起点、终点或交点位于横纵网格线的交点时,把该等高线ID存储于周围的四个方格中。如图2-4示,白色的圆点为所分析的点,该点位于方格1、2、3和4之间的横纵网格线上,将该点等高线的ID存储到方格1、2、3和4中。
5.遍历三角网模型的每一个三角形,获取三角形每条边所需分析的网格,根据网格内存储的等高线ID,确定该边通过的等高线条数,根据该边两端点处的高程差值与等高距完成等高线高程自动赋值。等高线高程自动赋值,需要遍历三角网模型的每个三角形的每条边,对每个三角形的每条边执行如下步骤:
(51)根据该边两端点的X坐标来确定该边在gridIndex中的起始列与终止列:如建立网格时,以左下角为起始点,则根据该边的两个端点较小的X坐标来确定起始列为col1,根据端点较大的X坐标来确定终止列为col2;
(52)根据该边两端点的Y坐标来确定该边在gridIndex中的起始行与终止行:如建立网格时,以左下角为起始点,则根据该边端点较小的Y坐标来确定起始行为row1,根据端点较大的Y坐标来确定终止行为row2;
(53)将步骤(51)与步骤(52)所对应的方格中存储的等高线均与该边求交,求到的交点个数为N1,即与该边相交的等高线条数为N1。步骤(51)与步骤(52)所对应的方格示例参见图3;
(54)读取该两端点处的高程值,根据高程值的差和等高距计算通过该边的正确等高线条数N2;
(55)判断步骤(53)与步骤(54)中计算的等高线条数是否相同,如果N1==N2,则自动根据等高距把高程值赋予各条等高线,同时记录赋值次数。如果N1!=N2,则不进行赋值,将该边相交的等高线进行特殊标记以提示用户
如果同一条等高线根据不同的三角形得到的高程赋值不同,则根据赋值次数,把出现概率大的高程值赋给等高线,同时也将等高线进行特殊标记以提示用户。
Claims (6)
1.一种基于三角网的等高线高程自动赋值方法,其特征在于,该自动赋值方法包括以下步骤:
1)提取原始地形图中的等高线,存放在一个单独的图层;
2)根据高程标记点构造地形三角网模型;
3)计算包含等高线与三角网模型的所有实体的外包矩阵,并将矩阵网格化,建立网格索引;
4)获取网格索引中每个网格通过的等高线标识ID,遍历每根等高线,根据等高线与网格的相交特点,确定等高线通过的网格;
5)遍历三角网模型的每一个三角形,获取三角形每条边所需分析的网格,根据网格内存储的等高线标识ID,确定该边通过的等高线条数,以缩小与三角形边线求交的等高线的条数,根据该边两端点处的高程差值与登高距完成等高线高程自动赋值。
2.根据权利要求1所述的基于三角网的等高线高程自动赋值方法,其特征在于,所述步骤3)中网格索引的创建过程如下:
设定网格间距,根据确定的外包矩形的任一顶点作为起始点,绘制横向与纵向网格线;根据绘制的网格线,建立一个网格索引数组gridIndex。
3.根据权利要求2所述的基于三角网的等高线高程自动赋值方法,其特征在于,所述步骤4)
A.根据等高线的起点位置坐标,判断等高线起点在网格索引中的位置,将等高线的标识ID存储到网格索引所对应的方格元素中;
B.根据等高线的终点位置坐标,判断等高线终点在网格索引中的位置,将等高线的标识ID存储到网格索引所对应的方格元素中;
C.将等高线与每条横向网格线求交点,根据交点坐标确定在网格索引中的位置,将等高线的标识ID存储到网格索引所对应的方格元素中;
D.将等高线与每条纵向网格线求交点,根据交点坐标确定在网格索引中的位置,将等高线的标识ID存储到网格索引所对应的方格元素中。
4.根据权利要求3所述的基于三角网的等高线高程自动赋值方法,其特征在于,所述等高线ID的存储原则如下:
a.当等高线起点、终点或交点位于某一个方格内,将该等高线ID存储于该方格中;
b.当等高线起点、终点或交点位于横向网格线上时,将该等高线ID存储于该横向网格线所在的上下两个方格中;
c.当等高线起点、终点或交点位于纵向网格线上时,将该等高线ID存储于该纵向网格线所在的左右两个方格中;
d.当等高线起点、终点或交点位于横纵网格线的交点时,将该等高线ID存储于周围的四个方格中。
5.根据权利要求4所述的基于三角网的等高线高程自动赋值方法,其特征在于,所述步骤5)在遍历三角网模型的每个三角形模型的每条边时,需进行如下步骤:
I.根据三角形每边两端点的X坐标来确定各边在gridIndex中的起始列与终止列;
II.根据三角形每边两端点的Y坐标来确定各边在gridIndex中的起始行与终止行;
III.将步骤I和步骤II所对应的方格中存储的等高线均与各边求交,求到的交点个数为N1,即与各边相交的等高线条数为N1;
Ⅳ.读取该两端点处的高程值,根据高程值的差和等高距计算通过该边的正确等高线条数N2;
Ⅴ.判断N1和N2否相等,如果N1==N2,则自动根据等高距把高程值赋予各条等高线,同时记录赋值次数;如果N1!=N2,则不进行赋值,将该边相交的等高线进行特殊标记以提示用户。
6.根据权利要求1—5中任一项所述的基于三角网的等高线高程自动赋值方法,其特征在于,若同一条等高线根据不同的三角形得到的高程赋值不同,则根据赋值次数,将出现概率大的高程值赋给等高线,同时将等高线进行特殊标记以提示用户。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410588365.0A CN104331928B (zh) | 2014-10-28 | 2014-10-28 | 一种基于三角网的等高线高程自动赋值方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410588365.0A CN104331928B (zh) | 2014-10-28 | 2014-10-28 | 一种基于三角网的等高线高程自动赋值方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104331928A CN104331928A (zh) | 2015-02-04 |
CN104331928B true CN104331928B (zh) | 2017-10-03 |
Family
ID=52406648
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410588365.0A Active CN104331928B (zh) | 2014-10-28 | 2014-10-28 | 一种基于三角网的等高线高程自动赋值方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104331928B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106557573B (zh) * | 2016-11-24 | 2019-11-19 | 中铁第五勘察设计院集团有限公司 | 基于目录索引结构的不规则三角网数据存储格式定义和数据处理方法 |
CN106592357B (zh) * | 2016-12-14 | 2018-10-23 | 中国人民解放军空军工程大学 | 一种机场道面弯道过渡面高程设计方法 |
CN106777117B (zh) * | 2016-12-15 | 2020-04-03 | 南京师范大学 | 一种水平岩层构造地貌的自动识别方法 |
CN108021878B (zh) * | 2017-11-30 | 2021-05-25 | 长江空间信息技术工程有限公司(武汉) | 一种等高线负向地貌智能识别方法 |
CN109242930B (zh) * | 2018-11-02 | 2019-10-01 | 中国石油大学(华东) | 一种用于数字线划图的高程点与等高线空间逻辑关系检测方法 |
US10930073B1 (en) | 2019-10-01 | 2021-02-23 | Bentley Systems, Incorporated | Multi-resolution surface clipping with asynchronous incremental on-demand marking of spatial index nodes |
CN112258603B (zh) * | 2020-10-30 | 2021-09-21 | 西南石油大学 | 三因素复合影响规律分析的三轴版图绘制方法及其用途 |
CN112802153B (zh) * | 2021-01-13 | 2023-06-13 | 中铁二院工程集团有限责任公司 | 数字线划图的检查方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102339478A (zh) * | 2011-09-14 | 2012-02-01 | 北京地拓科技发展有限公司 | 一种从等高线图生成数字高程模型的方法和装置 |
CN103150758A (zh) * | 2013-02-06 | 2013-06-12 | 河北钢铁集团矿业有限公司 | 一种高精细复杂地表三维建模方法 |
-
2014
- 2014-10-28 CN CN201410588365.0A patent/CN104331928B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102339478A (zh) * | 2011-09-14 | 2012-02-01 | 北京地拓科技发展有限公司 | 一种从等高线图生成数字高程模型的方法和装置 |
CN103150758A (zh) * | 2013-02-06 | 2013-06-12 | 河北钢铁集团矿业有限公司 | 一种高精细复杂地表三维建模方法 |
Non-Patent Citations (2)
Title |
---|
一种实用的等高线高程自动赋值方法研究;梁佳 等;《科技资讯》;20130603;第2节,图1 * |
一种改进的等高线断点连接方法;黄雪莲 等;《测绘科学》;20060131;第31卷(第1期);第3.2节 * |
Also Published As
Publication number | Publication date |
---|---|
CN104331928A (zh) | 2015-02-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104331928B (zh) | 一种基于三角网的等高线高程自动赋值方法 | |
US11410435B2 (en) | Ground mark extraction method, model training METHOD, device and storage medium | |
CN110188778B (zh) | 基于影像提取结果的居民区要素轮廓规则化方法 | |
CN107967713A (zh) | 基于空间点云数据的建筑物三维模型构建方法和系统 | |
CN105761252A (zh) | 图像分割的方法及装置 | |
CN106909788B (zh) | 计算机气象软件中基于位势高度数据的槽线自动绘制方法 | |
CN108255489A (zh) | 前端界面代码生成方法、装置、电子设备及存储介质 | |
CN111209291A (zh) | 一种利用众包感知地图更新高精度地图的方法及系统 | |
CN112150610A (zh) | 一种基于标注尺寸的挡土墙建模方法及系统 | |
CN109376586A (zh) | 基于激光点云的道路边界线交互式自动提取方法 | |
CN114119902A (zh) | 一种基于无人机倾斜三维模型的建筑物提取方法 | |
CN111581756A (zh) | 洪水淹没范围的确定方法及装置 | |
CN106326872A (zh) | 一种扩增现实系统中手势轮廓的提取方法 | |
CN106777117B (zh) | 一种水平岩层构造地貌的自动识别方法 | |
CN111738040A (zh) | 一种减速带识别方法及系统 | |
CN116721228B (zh) | 一种基于低密度点云的建筑物高程提取方法及系统 | |
CN104317248B (zh) | 形状不规则区域的铣削轨迹生成方法 | |
CN106651944B (zh) | 基于行程编码的任意连通域的水平内接矩形计算方法及装置 | |
CN104036096B (zh) | 斜面上凸起特征映射为制造特征体积的映射方法 | |
KR20050078670A (ko) | 라이다 데이터로부터 셰도-그리드를 이용한 건물 외곽선자동추출방법 | |
CN110174115B (zh) | 一种基于感知数据自动生成高精度定位地图的方法及装置 | |
CN117058338A (zh) | 基于cad的三维建筑模型构建方法、系统、设备及介质 | |
CN107545601B (zh) | 一种架空输电线路树高断面自动生成方法 | |
CN115143936A (zh) | 一种基于激光点云的输电工程杆塔倾斜度测量方法 | |
CN114255163A (zh) | 地图数据抽稀方法、装置及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |