CN114329575A - 基于内插山脊线的等高线加密方法、系统、介质及设备 - Google Patents
基于内插山脊线的等高线加密方法、系统、介质及设备 Download PDFInfo
- Publication number
- CN114329575A CN114329575A CN202210250775.9A CN202210250775A CN114329575A CN 114329575 A CN114329575 A CN 114329575A CN 202210250775 A CN202210250775 A CN 202210250775A CN 114329575 A CN114329575 A CN 114329575A
- Authority
- CN
- China
- Prior art keywords
- line
- line segment
- contour
- ridge
- point
- 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.)
- Granted
Links
Images
Landscapes
- Image Generation (AREA)
- Image Analysis (AREA)
Abstract
本发明涉及一种基于内插山脊线的等高线加密方法、系统、介质及设备,其方法包括加载包含有等高线的数字高程模型,基于等高线上的特征点构建二维Delaunay三角网并构建点集;对由点集中的任意两点构建的线段基元进行筛选并构建山脊线串;计算线段列中每条山脊线串上的特征点的高程,并对等高线进行加密。通过基于二维Delaunay三角网构建点集,并基于点集构建山脊线串集R,这样即可根据山脊线串集中每条山脊线串上的特征点的高程对等高线比较尖锐的地方形成的平面三角内部构建新的等高线,从而对原等高线进行加密,加密后的等高线更加精确地反应地表全貌,大大提高数字高程模型的精度,更好的满足不同应用场景需求。
Description
技术领域
本发明涉及摄影测量技术领域,尤其涉及基于内插山脊线的等高线加密方法、系统、介质及设备。
背景技术
数字高程模型(Digital Elevation Model),简称DEM,是通过有限的地形高程数据实现对地面地形的数字化模拟(即地形表面形态的数字化表达),它是用一组有序数值阵列形式表示地面高程的一种实体地面模型,是数字地形模型(Digital Terrain Model,简称DTM)的一个分支,其它各种地形特征值均可由此派生。在数字高程模型中,通常用等高线来表征地形图上高程相等的节点,把地面上海拔高度相同的点连成的闭合曲线,并垂直投影到一个水平面上,并按比例缩绘在图纸上,就得到等高线。等高线也可以看作是不同海拔高度的水平面与实际地面的交线,所以等高线是闭合曲线。
实际中,在构建数字高程模型的过程中,由于构建Delaunay三角网的时候,会尽量减少三角形尖角,这样导致等高线比较尖锐的地方,等高线的节点会内部自己构造三角形,导致形成平三角,实际中看到的就是等高线比较尖锐的局部区域往往存在空白,这导致在这些局部区域无法正常的反应出局部地面的地貌,这使得数字高程模型不能很好的很好地反应地表的全貌,不能满足实际需求。
发明内容
本发明所要解决的技术问题是针对上述现有技术的不足,提供一种基于内插山脊线的等高线加密方法、系统、介质及设备。
本发明解决上述技术问题的技术方案如下:一种基于内插山脊线的等高线加密方法,包括如下步骤:
S1:加载包含有等高线的数字高程模型,基于所述等高线上的特征点构建二维Delaunay三角网T,并基于所述二维Delaunay三角网T构建点集S;
S2:对由所述点集S中的任意两点构建的线段基元进行筛选,基于筛选后的所述线段基元构建线段列表G,并基于所述线段列表G构建山脊线串集R;
S3:计算所述线段列表G中每条山脊线串上的特征点的高程,并根据山脊线串上高程相等的特征点对所述等高线进行加密。
本发明的有益效果是:本发明的基于内插山脊线的等高线加密方法,通过基于二维Delaunay三角网T构建点集S,并基于点集S构建山脊线串集R,这样即可根据山脊线串集R中每条山脊线串上的特征点的高程对等高线比较尖锐的地方形成的平面三角内部构建新的等高线,从而对原等高线进行加密,加密后的等高线更加精确地反应地表全貌,大大提高数字高程模型的精度,更好的满足不同应用场景需求。
在上述技术方案的基础上,本发明还可以做如下改进:
进一步:所述S1中,所述基于所述二维Delaunay三角网T构建点集S具体包括如下步骤:
S11:遍历所述二维Delaunay三角网T中的三角形,并读取每个三角形的三个顶点坐标;
S12:在三角形的三个顶点的Z坐标相等时确定该三角形为平面三角形;
S13:取所述平面三角形最长边的中点M,并根据所有所述平面三角形最长边的中点M构建所述点集S。
上述进一步方案的有益效果是:通过读取每个三角形的三个顶点的Z坐标,这样可以将所有的平面三角形筛选出来,并针对平面三角形最长边的中点M构建点集S,这样方便后续针对等高线比较尖锐的地方形成的平面三角内部构建新的等高线,避免平面三角形的局部区域等高线缺失影响整个数字高程模型的精度。
进一步:所述S2中,所述对由所述点集S中的任意两点构建的线段基元进行筛选,基于筛选后的所述线段基元构建线段列表G具体包括如下步骤:
S21:针对所述点集S中的任一点P,计算点P与点集S中的每个点之间的距离,从点集S中寻找与P点最接近的两个点,并构建与点P关联的两个线段Li和Lj;
S22:将所述线段Li和Lj的长度分别与预设线段长度阈值l 0进行比较,并在线段Li和/或Lj的长度小于预设线段长度阈值l 0时,将线段Li和/或Lj对应确定为目标线段;
S23:基于所有所述目标线段构建所述线段列表G。
上述进一步方案的有益效果是:通过构建点集S中的每个点关联的两个线段,这样方便在点集S中对应点的附近找到指示对应等高线方向的线段,并作为后续构建山脊线串的基元,从而更加精确的对等高线比较尖锐的地方形成的平面三角内部构建新的等高线,并且通过限制线段长度可以避免该线段跨越不同的山脊线,保证筛选的线段能精确地表达该局部区域的等高线方向。
进一步:所述S2中,基于所述线段列表G构建山脊线串集R具体包括如下步骤:
S24:初始化所述线段列表G中的所有线段的访问标记,将所述访问标记置为0,并建立所述点集S中的任一点P与所述线段列表G中的线段之间的映射表,定义初始内插山脊线串为R1 0 ;
S25:取所述线段列表G中访问标记为0的线段L1,并将其插至初始内插山脊线串R1 0 的尾部,并将线段L1的访问标记置为1;
S26:定义线段L1的两端端点分别为P1、P2,并根据所述映射表分别读取与跟踪起点P1、P2对应的线段集M(P1)、M(P2),并根据所述线段集M(P1)、M(P2)中的线段生成所述线段L1对应的内插山脊线串R1;
S27: 重复步骤S25和S26,直至遍历完所述线段列表G中的所有线段,并根据所有的内插山脊线串构建山脊线串集R。
上述进一步方案的有益效果是:通过建立所述点集S中的任一点P与所述线段列表G中的线段之间的映射表,这样可以方便根据映射表来寻找任一线段的两个端点对应的线段集,以便于根据寻找到的线段集中的线段来生成对应的内插山脊线串,作为后续构建新等高线的基础,并且通过设置访问标记,这样可以方便将所述线段列表G中的所有线段遍历完,保证不漏掉,进而保证对应内插山脊线串的准确性。
进一步:所述S26中,所述根据所述线段集M(P1)、M(P2)中的线段生成所述线段L1对应的内插山脊线串R1具体包括如下步骤:
S261:分别遍历所述线段集M(P1)、M(P2)中的每一条线段,找到第一个访问标记为0的线段M(P1)1、M(P2) 1;
S262:分别将线段M(P1)1、M(P2) 1的一端对应插入至当前内插山脊线串R1 t 的头部、尾部;
S263:令线段M(P1)1、M(P2) 1的另一端为跟踪起点,返回S261循环处理,直至所述线段集M(P1)、M(P2)中的所有线段的访问标记全部为1,得到所述线段L1对应的内插山脊线串R1。
上述进一步方案的有益效果是:通过逐步遍历所述线段集M(P1)、M(P2)中的每一条线段,并逐步将没有访问的线段插入至当前内插山脊线串的头部、尾部,直至所有的线段内插完毕,从而形成与当前线段对应的内插山脊线串,进而便于后续根据所有线段对应的内插山脊线串构建山脊线串集。
进一步:所述S3中,所述计算所述线段列表G中每条山脊线串上的特征点的高程具体包括如下步骤:
S31:遍历所述山脊线串集R中的每条山脊线串K i ,定义山脊线串的首尾端点分别为K i1、K i2,以预设延长长度分别双向反向延长所述山脊线串K i ,且所述山脊线串K i 的双向反向延长线分别与原等高线的交点形成的交点集S1、S2;
S32:从所述交点集S1、S2中选取距离所述山脊线串K i 对应端点K i1、K i2的最近点X i2、X i1,并将所述最近点的高程确定为相交等高线的高程;
S33:根据所述最近点X i2、X i1的高程计算山脊线串K i 上每个特征点的高程。
上述进一步方案的有益效果是:通过双向反向延长所述山脊线串集R中的每条山脊线串K i ,并与原等高线相交,这样可以从所有相交的点中选取距离所述山脊线串K i 对应端点K i1、K i2的最近点X i2、X i1,从而可以根据以及等高线上的特征点的高程来精确计算出山脊线串K i 上每个特征点的高程。
进一步:所述S3中,所述根据山脊线串上高程相等的特征点对所述等高线进行加密具体包括如下步骤:
S34:根据原等高线和所述山脊线串集R中的山脊线串K i 联合构建新的二维Delaunay三角网;
S35:根据新的二维Delaunay三角网以及所述山脊线串K i 上高程相等的特征点生成新的等高线,并基于新的等高线对原等高线进行加密。
上述进一步方案的有益效果是:通过原等高线和所述山脊线串集R中的山脊线串K i 联合构建新的二维Delaunay三角网,这样可以根据新的二维Delaunay三角网以及所述山脊线串K i 上高程相等的特征点生成新的等高线,从而实现对原等高线的精确加密,以更加精确地表征地表全貌。
本发明还提供了一种基于内插山脊线的等高线加密系统,包括点集构建模块、线段列表构建模块和计算加密模块;
所述点集构建模块,用于加载包含有等高线的数字高程模型,基于所述等高线上的特征点构建二维Delaunay三角网T,并基于所述二维Delaunay三角网T构建点集S;
所述线段列表构建模块,用于对由所述点集S中的任意两点构建的线段基元进行筛选,基于筛选后的所述线段基元构建线段列表G,并基于所述线段列表G构建山脊线串集R;
所述计算加密模块,用于计算所述线段列表G中每条山脊线串上的特征点的高程,并根据山脊线串上高程相等的特征点对所述等高线进行加密。
本发明的基于内插山脊线的等高线加密系统,通过基于二维Delaunay三角网T构建点集S,并基于点集S构建山脊线串集R,这样即可根据山脊线串集R中每条山脊线串上的特征点的高程对等高线比较尖锐的地方形成的平面三角内部构建新的等高线,从而对原等高线进行加密,加密后的等高线更加精确地反应地表全貌,大大提高数字高程模型的精度,更好的满足不同应用场景需求。
本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现所述的基于内插山脊线的等高线加密方法。
本发明还提供了一种基于内插山脊线的等高线加密设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述的基于内插山脊线的等高线加密方法的步骤。
附图说明
图1为本发明一实施例的基于内插山脊线的等高线加密方法的流程示意图;
图2为本发明一实施例的基于所述等高线上的特征点构建的二维Delaunay三角网的示意图;
图3为本发明一实施例的二维Delaunay三角网中的平面三角形和非平面三角形的示意图;
图4为本发明一实施例的平面三角形最长边的中点M构建点集S的示意图;
图5为本发明一实施例的构建山脊线串集的示意图;
图6为本发明一实施例的内插山脊线串的构建示意图;
图7为本发明一实施例的未内插山脊线的等高线示意图;
图8为本发明一实施例的内插山脊线加密后的等高线示意图;
图9为本发明一实施例的基于内插山脊线的等高线加密系统的结构示意图。
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
如图1所示,一种基于内插山脊线的等高线加密方法,包括如下步骤:
S1:加载包含有等高线的数字高程模型,基于所述等高线上的特征点构建二维Delaunay三角网T,并基于所述二维Delaunay三角网T构建点集S;
S2:对由所述点集S中的任意两点构建的线段基元进行筛选,基于筛选后的所述线段基元构建线段列表G,并基于所述线段列表G构建山脊线串集R;
S3:计算所述线段列表G中每条山脊线串上的特征点的高程,并根据山脊线串上高程相等的特征点对所述等高线进行加密。
本发明的基于内插山脊线的等高线加密方法,通过基于二维Delaunay三角网T构建点集S,并基于点集S构建山脊线串集R,这样即可根据山脊线串集R中每条山脊线串上的特征点的高程对等高线比较尖锐的地方形成的平面三角内部构建新的等高线,从而对原等高线进行加密,加密后的等高线更加精确地反应地表全貌,大大提高数字高程模型的精度,更好的满足不同应用场景需求。
基于所述等高线上的特征点构建二维Delaunay三角网T为现有技术,本发明的实施例中不在详细介绍。如图2所示,为利用等高线上的特征点构建的二维Delaunay三角网T。
在本发明的一个或多个实施例中,所述述S1中,所述基于所述二维Delaunay三角网T构建点集S具体包括如下步骤:
S11:遍历所述二维Delaunay三角网T中的三角形,并读取每个三角形的三个顶点坐标;
S12:在三角形的三个顶点的Z坐标相等时确定该三角形为平面三角形;
S13:取所述平面三角形最长边的中点M,并根据所有所述平面三角形最长边的中点M构建所述点集S。
通过读取每个三角形的三个顶点的Z坐标,这样可以将所有的平面三角形筛选出来,并针对平面三角形最长边的中点M构建点集S,这样方便后续针对等高线比较尖锐的地方形成的平面三角内部构建新的等高线,避免平面三角形的局部区域等高线缺失影响整个数字高程模型的精度。
对于所述所述二维Delaunay三角网T中的任一三角形,读取该三角形的三个顶点坐标,判断三个顶点的Z坐标是否相等,如果三角形的三个顶点的Z坐标不全相等,则可以确定该三角形为非平面三角形;如果三角形的三个顶点的Z坐标相等,则可以确定该三角形为平面三角形,如图3所示。这种情况下,在构建Delaunay三角网的时候,需要尽量减少三角形尖角,就会导致平面三角形处形成空白。那么,针对这种情况,取所述平面三角形最长边的中点M,如图4所示,根据所有所述平面三角形最长边的中点M构建所述点集S就可以为后续在该区域构建新的等高线提供基础。
在本发明的一个或多个实施例中,所述S2中,所述对由所述点集S中的任意两点构建的线段基元进行筛选,基于筛选后的所述线段基元构建线段列表G具体包括如下步骤:
S21:针对所述点集S中的任一点P,计算点P与点集S中的每个点之间的距离,从点集S中寻找与P点最接近的两个点,并构建与点P关联的两个线段Li和Lj;
这里,需要指出是,针对所述点集S中的任一点P,寻找与点最近的两个两个点有两种方法:
其一:遍历法。计算点P与点集S中的其它每个点之间的距离,并找到距离点P最近的两个点,并分别与点P构成两条与点P关联的线段Li和Lj;
其二:K-D树算法。使用现有的K-D树算法,将点集S中的每个点放入到树中,然后计算点P的k(k=2)邻近点,构成线段Li和Lj。
S22:将所述线段Li和Lj的长度分别与预设线段长度阈值l 0进行比较,并在线段Li和/或Lj的长度小于预设线段长度阈值l 0时,将线段Li和/或Lj对应确定为目标线段;
S23:基于所有所述目标线段构建所述线段列表G。
通过构建点集S中的每个点关联的两个线段,这样方便在点集S中对应点的附近找到指示对应等高线方向的线段,并作为后续构建山脊线串的基元,从而更加精确的对等高线比较尖锐的地方形成的平面三角内部构建新的等高线,并且通过限制线段长度可以避免该线段跨越不同的山脊线,保证筛选的线段能精确地表达该局部区域的等高线方向。
本发明的实施例中,预设线段长度阈值l 0取10米。
在本发明的一个或多个实施例中,所述S2中,基于所述线段列表G构建山脊线串集R具体包括如下步骤:
S24:初始化所述线段列表G中的所有线段的访问标记,将所述访问标记置为0,并建立所述点集S中的任一点P与所述线段列表G中的线段之间的映射表,定义初始内插山脊线串为R1 0 (初始状态时,内插山脊线串R1 0 的内容为空);
S25:取所述线段列表G中访问标记为0的线段L1,并将其插至初始内插山脊线串R1 0 的尾部,并将线段L1的访问标记置为1;
这里需要指出的是,当所述线段列表G中访问标记为0的线段不存在时,则算法结束。
S26:定义线段L1的两端端点分别为P1、P2,并根据所述映射表分别读取与跟踪起点P1、P2对应的线段集M(P1)、M(P2),并根据所述线段集M(P1)、M(P2)中的线段生成所述线段L1对应的内插山脊线串R1;
需要特别强调的是,针对线段的任一个端点,其最近的两个点分别与该端点之间构成的线段,可以作为该端点的关联线段,但是该端点也可能是其它线段的端点,因此,针对某个线段的端点,与其关联的线段可能会超过两个,所以,本发明中,根据所述映射表分别读取与跟踪起点P1、P2对应的线段集M(P1)、M(P2),这里用线段集M(P1)、M(P2) ,即包含了所有与踪起点P1、P2关联的线段。
S27: 重复步骤S25和S26,直至遍历完所述线段列表G中的所有线段,并根据所有的内插山脊线串构建山脊线串集R,如图5所示。
通过建立所述点集S中的任一点P与所述线段列表G中的线段之间的映射表,这样可以方便根据映射表来寻找任一线段的两个端点对应的线段集,以便于根据寻找到的线段集中的线段来生成对应的内插山脊线串,作为后续构建新等高线的基础,并且通过设置访问标记,这样可以方便将所述线段列表G中的所有线段遍历完,保证不漏掉,进而保证对应内插山脊线串的准确性。
在本发明的一个或多个实施例中,所述S26中,所述根据所述线段集M(P1)、M(P2)中的线段生成所述线段L1对应的内插山脊线串R1具体包括如下步骤:
S261:分别遍历所述线段集M(P1)、M(P2)中的每一条线段,分别找到第一个访问标记为0的线段M(P1)1、M(P2) 1;
S262:分别将线段M(P1)1、M(P2) 1的一端对应插入至当前内插山脊线串R1 t 的头部、尾部;
S263:令线段M(P1)1、M(P2) 1的另一端为跟踪起点,返回S261循环处理,直至所述线段集M(P1)、M(P2)中的所有线段的访问标记全部为1,得到所述线段L1对应的内插山脊线串R1。
通过逐步遍历所述线段集M(P1)、M(P2)中的每一条线段,并逐步将没有访问的线段插入至当前内插山脊线串的头部、尾部,直至所有的线段内插完毕,从而形成与当前线段对应的内插山脊线串,进而便于后续根据所有线段对应的内插山脊线串构建山脊线串集,如图6所示。
在本发明的一个或多个实施例中,所述S3中,所述计算所述线段列表G中每条山脊线串上的特征点的高程具体包括如下步骤:
S31:遍历所述山脊线串集R中的每条山脊线串K i ,定义山脊线串的首尾端点分别为K i1、K i2,以预设延长长度分别双向反向延长所述山脊线串K i ,且所述山脊线串K i 的双向反向延长线分别与原等高线的交点形成的交点集S1、S2;这里,预设延长长度取1000米,且当所述山脊线串K i 的双向反向延长线分别与原等高线的交点不存在时,则直接舍弃当前山脊线串K i ;
S32:从所述交点集S1、S2中选取距离所述山脊线串K i 对应端点K i1、K i2的最近点X i2、X i1,并将所述最近点的高程确定为相交等高线的高程;
S33:根据所述最近点X i2、X i1的高程计算山脊线串K i 上每个特征点的高程;这里,具体的计算公式为:
式中,P.z 表示山脊线串K i 上特征点P的Z轴坐标,len表示长度,len(P, X i1)表示山脊线串K i 上特征点P与最近点X i1之间的距离,len(K i )表示山脊线串K i 的长度,X i2.z表示最近点X i2的Z轴坐标,X i1.z表示最近点X i1的Z轴坐标。
通过双向反向延长所述山脊线串集R中的每条山脊线串K i ,并与原等高线相交,这样可以从所有相交的点中选取距离所述山脊线串K i 对应端点K i1、K i2的最近点X i1、X i2,从而可以根据以及等高线上的特征点的高程来精确计算出山脊线串K i 上每个特征点的高程。
在本发明的一个或多个实施例中,所述S3中,所述根据山脊线串上高程相等的特征点对所述等高线进行加密具体包括如下步骤:
S34:根据原等高线和所述山脊线串集R中的山脊线串K i 联合构建新的二维Delaunay三角网;
S35:根据新的二维Delaunay三角网以及所述山脊线串K i 上高程相等的特征点生成新的等高线,并基于新的等高线对原等高线进行加密。
通过原等高线和所述山脊线串集R中的山脊线串K i 联合构建新的二维Delaunay三角网,这样可以根据新的二维Delaunay三角网以及所述山脊线串K i 上高程相等的特征点生成新的等高线,从而实现对原等高线的精确加密,以更加精确地表征地表全貌。
同理,这里如何根据新的二维Delaunay三角网构建线的等高线也为现有技术,本发明的实施例中不再详细展开赘述。
如图7和图8所示,分别为未内插山脊线的等高线的示意图和内插山脊线后的加密等高线示意图,从图中可以看出,经过加密后,等高线比较尖锐的地方,局部区域往往存在的空白被新构建的等高线加密填充,很好地反应地表的全貌,更符合实际需求。
如图9所示,本发明还提供了一种基于内插山脊线的等高线加密系统,包括点集构建模块、线段列表构建模块和计算加密模块;
所述点集构建模块,用于加载包含有等高线的数字高程模型,基于所述等高线上的特征点构建二维Delaunay三角网T,并基于所述二维Delaunay三角网T构建点集S;
所述线段列表构建模块,用于对由所述点集S中的任意两点构建的线段基元进行筛选,基于筛选后的所述线段基元构建线段列表G,并基于所述线段列表G构建山脊线串集R;
所述计算加密模块,用于计算所述线段列表G中每条山脊线串上的特征点的高程,并根据山脊线串上高程相等的特征点对所述等高线进行加密。
本发明的基于内插山脊线的等高线加密系统,通过基于二维Delaunay三角网T构建点集S,并基于点集S构建山脊线串集R,这样即可根据山脊线串集R中每条山脊线串上的特征点的高程对等高线比较尖锐的地方形成的平面三角内部构建新的等高线,从而对原等高线进行加密,加密后的等高线更加精确地反应地表全貌,大大提高数字高程模型的精度,更好的满足不同应用场景需求。
在本发明的一个或多个实施例中,所述点集构建模块基于所述二维Delaunay三角网T构建点集S的具体实现为:
遍历所述二维Delaunay三角网T中的三角形,并读取每个三角形的三个顶点坐标;
在三角形的三个顶点的Z坐标相等时确定该三角形为平面三角形;
取所述平面三角形最长边的中点M,并根据所有所述平面三角形最长边的中点M构建所述点集S。
通过读取每个三角形的三个顶点的Z坐标,这样可以将所有的平面三角形筛选出来,并针对平面三角形最长边的中点M构建点集S,这样方便后续针对等高线比较尖锐的地方形成的平面三角内部构建新的等高线,避免平面三角形的局部区域等高线缺失影响整个数字高程模型的精度。
在本发明的一个或多个实施例中,所述线段列表构建模块对由所述点集S中的任意两点构建的线段基元进行筛选,基于筛选后的所述线段基元构建线段列表G的具体实现为:
针对所述点集S中的任一点P,计算点P与点集S中的每个点之间的距离,从点集S中寻找与P点最接近的两个点,并构建与点P关联的两个线段Li和Lj;
将所述线段Li和Lj的长度分别与预设线段长度阈值l 0进行比较,并在线段Li和/或Lj的长度小于预设线段长度阈值l 0时,将线段Li和/或Lj对应确定为目标线段;
基于所有所述目标线段构建所述线段列表G。
通过构建点集S中的每个点关联的两个线段,这样方便在点集S中对应点的附近找到指示对应等高线方向的线段,并作为后续构建山脊线串的基元,从而更加精确的对等高线比较尖锐的地方形成的平面三角内部构建新的等高线,并且通过限制线段长度可以避免该线段跨越不同的山脊线,保证筛选的线段能精确地表达该局部区域的等高线方向。
在本发明的一个或多个实施例中,所述线段列表构建模块基于所述线段列表G构建山脊线串集R的具体实现为:
初始化所述线段列表G中的所有线段的访问标记,将所述访问标记置为0,并建立所述点集S中的任一点P与所述线段列表G中的线段之间的映射表,定义初始内插山脊线串为R1 0 ;
取所述线段列表G中访问标记为0的线段L1,并将其插至初始内插山脊线串R1 0 的尾部,并将线段L1的访问标记置为1;
定义线段L1的两端端点分别为P1、P2,并根据所述映射表分别读取与跟踪起点P1、P2对应的线段集M(P1)、M(P2),并根据所述线段集M(P1)、M(P2)中的线段生成所述线段L1对应的内插山脊线串R1;
如此重复,直至遍历完所述线段列表G中的所有线段,并根据所有的内插山脊线串构建山脊线串集R。
通过建立所述点集S中的任一点P与所述线段列表G中的线段之间的映射表,这样可以方便根据映射表来寻找任一线段的两个端点对应的线段集,以便于根据寻找到的线段集中的线段来生成对应的内插山脊线串,作为后续构建新等高线的基础,并且通过设置访问标记,这样可以方便将所述线段列表G中的所有线段遍历完,保证不漏掉,进而保证对应内插山脊线串的准确性。
在本发明的一个或多个实施例中,所述线段列表构建模块根据所述线段集M(P1)、M(P2)中的线段生成所述线段L1对应的内插山脊线串R1的具体实现为:
分别遍历所述线段集M(P1)、M(P2)中的每一条线段,找到第一个访问标记为0的线段M(P1)1、M(P2) 1;
分别将线段M(P1)1、M(P2) 1的一端对应插入至当前内插山脊线串R1 t 的头部、尾部;
令线段M(P1)1、M(P2) 1的另一端为跟踪起点,如此循环处理,直至所述线段集M (P1)、M(P2)中的所有线段的访问标记全部为1,得到所述线段L1对应的内插山脊线串R1。
通过逐步遍历所述线段集M(P1)、M(P2)中的每一条线段,并逐步将没有访问的线段插入至当前内插山脊线串的头部、尾部,直至所有的线段内插完毕,从而形成与当前线段对应的内插山脊线串,进而便于后续根据所有线段对应的内插山脊线串构建山脊线串集。
在本发明的一个或多个实施例中,所述计算加密模块计算所述线段列表G中每条山脊线串上的特征点的高程的具体实现为:
遍历所述山脊线串集R中的每条山脊线串K i ,定义山脊线串的首尾端点分别为K i1、K i2,以预设延长长度分别双向反向延长所述山脊线串K i ,且所述山脊线串K i 的双向反向延长线分别与原等高线的交点形成的交点集S1、S2;
从所述交点集S1、S2中选取距离所述山脊线串K i 对应端点K i1、K i2的最近点X i2、X i1,并将所述最近点的高程确定为相交等高线的高程;
根据所述最近点X i2、X i1的高程计算山脊线串K i 上每个特征点的高程。
通过双向反向延长所述山脊线串集R中的每条山脊线串K i ,并与原等高线相交,这样可以从所有相交的点中选取距离所述山脊线串K i 对应端点K i1、K i2的最近点X i2、X i1,从而可以根据以及等高线上的特征点的高程来精确计算出山脊线串K i 上每个特征点的高程。
在本发明的一个或多个实施例中,所述计算加密模块根据山脊线串上高程相等的特征点对所述等高线进行加密的具体实现为:
根据原等高线和所述山脊线串集R中的山脊线串K i 联合构建新的二维Delaunay三角网;
根据新的二维Delaunay三角网以及所述山脊线串K i 上高程相等的特征点生成新的等高线,并基于新的等高线对原等高线进行加密。
通过原等高线和所述山脊线串集R中的山脊线串K i 联合构建新的二维Delaunay三角网,这样可以根据新的二维Delaunay三角网以及所述山脊线串K i 上高程相等的特征点生成新的等高线,从而实现对原等高线的精确加密,以更加精确地表征地表全貌。
本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现所述的基于内插山脊线的等高线加密方法。
本发明还提供了一种基于内插山脊线的等高线加密设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述的基于内插山脊线的等高线加密方法的步骤。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于内插山脊线的等高线加密方法, 其特征在于,包括如下步骤:
S1:加载包含有等高线的数字高程模型,基于所述等高线上的特征点构建二维Delaunay三角网T,并基于所述二维Delaunay三角网T构建点集S;
S2:对由所述点集S中的任意两点构建的线段基元进行筛选,基于筛选后的所述线段基元构建线段列表G,并基于所述线段列表G构建山脊线串集R;
S3:计算所述线段列表G中每条山脊线串上的特征点的高程,并根据山脊线串上高程相等的特征点对所述等高线进行加密。
2.根据权利要求1所述的基于内插山脊线的等高线加密方法, 其特征在于,所述S1中,所述基于所述二维Delaunay三角网T构建点集S具体包括如下步骤:
S11:遍历所述二维Delaunay三角网T中的三角形,并读取每个三角形的三个顶点坐标;
S12:在三角形的三个顶点的Z坐标相等时确定该三角形为平面三角形;
S13:取所述平面三角形最长边的中点M,并根据所有所述平面三角形最长边的中点M构建所述点集S。
3.根据权利要求1所述的基于内插山脊线的等高线加密方法, 其特征在于,所述S2中,所述对由所述点集S中的任意两点构建的线段基元进行筛选,基于筛选后的所述线段基元构建线段列表G具体包括如下步骤:
S21:针对所述点集S中的任一点P,计算点P与点集S中的每个点之间的距离,从点集S中寻找与P点最接近的两个点,并构建与点P关联的两个线段Li和Lj;
S22:将所述线段Li和Lj的长度分别与预设线段长度阈值l 0进行比较,并在线段Li和/或Lj的长度小于预设线段长度阈值l 0时,将线段Li和/或Lj对应确定为目标线段;
S23:基于所有所述目标线段构建所述线段列表G。
4.根据权利要求3所述的基于内插山脊线的等高线加密方法, 其特征在于,所述S2中,基于所述线段列表G构建山脊线串集R具体包括如下步骤:
S24:初始化所述线段列表G中的所有线段的访问标记,将所述访问标记置为0,并建立所述点集S中的任一点P与所述线段列表G中的线段之间的映射表,定义初始内插山脊线串为R1 0 ;
S25:取所述线段列表G中访问标记为0的线段L1,并将其插至初始内插山脊线串R1 0 的尾部,并将线段L1的访问标记置为1;
S26:定义线段L1的两端端点分别为P1、P2,并根据所述映射表分别读取与跟踪起点P1、P2对应的线段集M(P1)、M(P2),并根据所述线段集M(P1)、M(P2)中的线段生成所述线段L1对应的内插山脊线串R1;
S27: 重复步骤S25和S26,直至遍历完所述线段列表G中的所有线段,并根据所有的内插山脊线串构建山脊线串集R。
5.根据权利要求4所述的基于内插山脊线的等高线加密方法, 其特征在于,所述S26中,所述根据所述线段集M(P1)、M(P2)中的线段生成所述线段L1对应的内插山脊线串R1具体包括如下步骤:
S261:分别遍历所述线段集M(P1)、M(P2)中的每一条线段,找到第一个访问标记为0的线段M(P1)1、M(P2) 1;
S262:分别将线段M(P1)1、M(P2) 1的一端对应插入至当前内插山脊线串R1 t 的头部、尾部;
S263:令线段M(P1)1、M(P2) 1的另一端为跟踪起点,返回S261循环处理,直至所述线段集M(P1)、M(P2)中的所有线段的访问标记全部为1,得到所述线段L1对应的内插山脊线串R1。
6.根据权利要求1-5任一项所述的基于内插山脊线的等高线加密方法, 其特征在于,所述S3中,所述计算所述线段列表G中每条山脊线串上的特征点的高程具体包括如下步骤:
S31:遍历所述山脊线串集R中的每条山脊线串K i ,定义山脊线串的首尾端点分别为K i1、K i2,以预设延长长度分别双向反向延长所述山脊线串K i ,且所述山脊线串K i 的双向反向延长线分别与原等高线的交点形成的交点集S1、S2;
S32:从所述交点集S1、S2中选取距离所述山脊线串K i 对应端点K i1、K i2的最近点X i2、X i1,并将所述最近点的高程确定为相交等高线的高程;
S33:根据所述最近点X i2、X i1的高程计算山脊线串K i 上每个特征点的高程。
7.根据权利要求6所述的基于内插山脊线的等高线加密方法, 其特征在于,所述S3中,所述根据山脊线串上高程相等的特征点对所述等高线进行加密具体包括如下步骤:
S34:根据原等高线和所述山脊线串集R中的山脊线串K i 联合构建新的二维Delaunay三角网;
S35:根据新的二维Delaunay三角网以及所述山脊线串K i 上高程相等的特征点生成新的等高线,并基于新的等高线对原等高线进行加密。
8.一种基于内插山脊线的等高线加密系统, 其特征在于:包括点集构建模块、线段列表构建模块和计算加密模块;
所述点集构建模块,用于加载包含有等高线的数字高程模型,基于所述等高线上的特征点构建二维Delaunay三角网T,并基于所述二维Delaunay三角网T构建点集S;
所述线段列表构建模块,用于对由所述点集S中的任意两点构建的线段基元进行筛选,基于筛选后的所述线段基元构建线段列表G,并基于所述线段列表G构建山脊线串集R;
所述计算加密模块,用于计算所述线段列表G中每条山脊线串上的特征点的高程,并根据山脊线串上高程相等的特征点对所述等高线进行加密。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现权利要求1至7任一项所述的基于内插山脊线的等高线加密方法。
10.一种基于内插山脊线的等高线加密设备,其特征在于,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述的基于内插山脊线的等高线加密方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210250775.9A CN114329575B (zh) | 2022-03-15 | 2022-03-15 | 基于内插山脊线的等高线加密方法、系统、介质及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210250775.9A CN114329575B (zh) | 2022-03-15 | 2022-03-15 | 基于内插山脊线的等高线加密方法、系统、介质及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114329575A true CN114329575A (zh) | 2022-04-12 |
CN114329575B CN114329575B (zh) | 2022-06-10 |
Family
ID=81033063
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210250775.9A Active CN114329575B (zh) | 2022-03-15 | 2022-03-15 | 基于内插山脊线的等高线加密方法、系统、介质及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114329575B (zh) |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006293105A (ja) * | 2005-04-12 | 2006-10-26 | Takashi Watanabe | 数値標高モデル自動生成システム |
JP2009163317A (ja) * | 2007-12-28 | 2009-07-23 | Asahi Koyo Kk | 地形モデル補間装置、方法及びプログラム |
WO2013057760A1 (en) * | 2011-10-19 | 2013-04-25 | Hitachi, Ltd. | Digital elevation model generating system and method of generating a digital elevation model |
CN103177258A (zh) * | 2013-03-29 | 2013-06-26 | 河南理工大学 | 一种根据矢量等高线数据自动提取地性线的方法 |
CN103530905A (zh) * | 2013-11-05 | 2014-01-22 | 武汉大学 | 一种针对等高线平三角区域的消除方法 |
CN103927788A (zh) * | 2014-04-14 | 2014-07-16 | 北京工业大学 | 基于城市竖向规划的建筑地物分层dem模型制作方法 |
CN104200530A (zh) * | 2014-09-22 | 2014-12-10 | 克拉玛依红有软件有限责任公司 | 一种绘制空间曲面等高线的方法和系统 |
CN107564100A (zh) * | 2017-09-07 | 2018-01-09 | 国电联合动力技术有限公司 | 一种等高线生成平滑实体的方法 |
CN107562833A (zh) * | 2017-08-23 | 2018-01-09 | 中国矿业大学(北京) | 基于等高线的复杂地形三维离散单元法数值模型建模方法 |
CN109523630A (zh) * | 2016-06-21 | 2019-03-26 | 武汉瑞得信息工程有限责任公司 | 一种基于张力样条插值的等高线生成方法及装置 |
CN112489213A (zh) * | 2021-01-12 | 2021-03-12 | 江西博微新技术有限公司 | 三维地形模型生成方法、装置、电子设备及存储介质 |
CN113658339A (zh) * | 2021-10-19 | 2021-11-16 | 长江水利委员会长江科学院 | 一种基于等高线的三维实体生成方法及装置 |
-
2022
- 2022-03-15 CN CN202210250775.9A patent/CN114329575B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006293105A (ja) * | 2005-04-12 | 2006-10-26 | Takashi Watanabe | 数値標高モデル自動生成システム |
JP2009163317A (ja) * | 2007-12-28 | 2009-07-23 | Asahi Koyo Kk | 地形モデル補間装置、方法及びプログラム |
WO2013057760A1 (en) * | 2011-10-19 | 2013-04-25 | Hitachi, Ltd. | Digital elevation model generating system and method of generating a digital elevation model |
CN103177258A (zh) * | 2013-03-29 | 2013-06-26 | 河南理工大学 | 一种根据矢量等高线数据自动提取地性线的方法 |
CN103530905A (zh) * | 2013-11-05 | 2014-01-22 | 武汉大学 | 一种针对等高线平三角区域的消除方法 |
CN103927788A (zh) * | 2014-04-14 | 2014-07-16 | 北京工业大学 | 基于城市竖向规划的建筑地物分层dem模型制作方法 |
CN104200530A (zh) * | 2014-09-22 | 2014-12-10 | 克拉玛依红有软件有限责任公司 | 一种绘制空间曲面等高线的方法和系统 |
CN109523630A (zh) * | 2016-06-21 | 2019-03-26 | 武汉瑞得信息工程有限责任公司 | 一种基于张力样条插值的等高线生成方法及装置 |
CN107562833A (zh) * | 2017-08-23 | 2018-01-09 | 中国矿业大学(北京) | 基于等高线的复杂地形三维离散单元法数值模型建模方法 |
CN107564100A (zh) * | 2017-09-07 | 2018-01-09 | 国电联合动力技术有限公司 | 一种等高线生成平滑实体的方法 |
CN112489213A (zh) * | 2021-01-12 | 2021-03-12 | 江西博微新技术有限公司 | 三维地形模型生成方法、装置、电子设备及存储介质 |
CN113658339A (zh) * | 2021-10-19 | 2021-11-16 | 长江水利委员会长江科学院 | 一种基于等高线的三维实体生成方法及装置 |
Non-Patent Citations (2)
Title |
---|
刘琴琴: "平面域Delaunay三角网生成算法研究及实现", 《基础科学》 * |
钱海忠: "利用内切圆内插等高线的算法", 《基础科学辑》 * |
Also Published As
Publication number | Publication date |
---|---|
CN114329575B (zh) | 2022-06-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3788378B2 (ja) | 3次元モデル生成システム及び方法、並びにコンピュータ・プログラム | |
CN106338736B (zh) | 一种基于激光雷达的全3d占据体元地形建模方法 | |
CN111649723A (zh) | 面向复杂地形的贴近摄影三维航迹与姿态规划方法及装置 | |
CN110838129A (zh) | 基于倾斜摄影测量的三维建筑物模型轮廓特征线提取方法 | |
JP4619504B2 (ja) | 3次元デジタル地図作成装置 | |
CN114332291A (zh) | 一种倾斜摄影模型建筑物外轮廓规则提取方法 | |
CN111177917B (zh) | 一种基于srtm的坡长提取方法 | |
Fisher et al. | Semantically correct 2.5 D GIS data—The integration of a DTM and topographic vector data | |
CN115082699A (zh) | 一种轮廓形状提取方法、装置、电子设备及存储介质 | |
CN116933607B (zh) | 一种矿山资源模型的创建方法、装置、设备及存储介质 | |
CN108332721B (zh) | 航空影像并行空三与递归式融合方法 | |
Maurya et al. | Performance of greedy triangulation algorithm on reconstruction of coastal dune surface | |
CN116246069B (zh) | 自适应地形点云滤波的方法、装置、智能终端及存储介质 | |
CN114329575B (zh) | 基于内插山脊线的等高线加密方法、系统、介质及设备 | |
CN110033459B (zh) | 顾及地物完整性的大规模点云快速分块方法 | |
CN111598941A (zh) | 一种杆塔倾斜度测量方法、装置、设备及存储介质 | |
CN116659460A (zh) | 一种公路横断面激光点云切片快速生成方法 | |
CN114820965B (zh) | 一种全息地图建设用实景三维建模方法 | |
CN113420460B (zh) | 基于osg数据天际线的城市建筑限高快速分析方法及系统 | |
KR102243453B1 (ko) | 하천 공간위상 구조를 이용한 도시하천 홍수범람지도의 갱신 방법 및 이를 기록한 기록매체 | |
CN117058358B (zh) | 一种场景边界检测方法和移动平台 | |
CN112487522B (zh) | Bim模型的生成方法、装置以及计算机存储介质 | |
Aguilera et al. | Virtual archaeological sites modelling through low-cost methodology | |
JP2020071501A (ja) | 地形推定プログラム、地形推定方法、及び、地形推定装置 | |
JP7122901B2 (ja) | ブレイクライン抽出プログラム、ブレイクライン抽出システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |