肇庆市国土资源局高要分局测绘队 广东肇庆 526000
摘要:等高线是高程信息的一个重要组成部分,由离散高程点自动生成等高线是绘制等高线的有效途径。本文利用有限方向检测法对高程点线中出现的矛盾进行了探讨。
关键词:高程点;人工采集;检测
引言
地形图在国情普查中占据着重要的地位,能使国家更加了解地理分布情况,这些基础数据为国家后期的规划设计、管理、灾区重建与还原工作提供帮助。因此,应加强有限方向检测法在高程点线矛盾检查中的应用研究,以便快速、准确提取高程数据,即对相应高程点赋上准确的高程值,生产出准确的地形图。
1.常规高程点线矛盾检查方法
1.1 DEM 套合检查法
根据等高线利用一定方法生成区域内的数字高程模型DEM,对采集的高程点高程与DEM 拟合出的该高程点处的高程值比较,当差值大于一个等高距时,则认为发生了矛盾。DEM 套合方法只能检查高程点与等高线所表示的地面高程符合性,而不能检查相邻等高线与高程点间是否缺少等高线,也不能检查出山顶处出现平三角时的正负地貌矛盾,如图1 所示,高程点A 的北侧缺少等高线15,高程点B 处应为正向地貌。
图1 等高线缺少及山顶处情况
1.2 地面三角网TIN 法
利用等高线构造地面三角网TIN,根据其内插出的高程点处高程值与采集的该点高程值比较。此方法需要构造三角网,内插运算和坡度计算复杂,对于有特征线如道路、沟渠、坡坎时,要求这些线上的点必须有高程并参与构网,否则在这些线附近的高程点是无法正确检查的。
1.3 相邻等高线查找比较法
通过相邻等高线与高程点之间的高程值直接对比判断是否矛盾,该方法主要问题是如何确定哪些点和线构成相邻关系。实际数据中,点和线、线和线的相邻关系均不是一一对应关系而是一对多关系,找到某高程点所相邻的所有等高线是消除漏查率的关键。射线法是一种很好的查找方法,但是由于地形的复杂性,该方法检查方向数量的多少是影响漏查率的主要因素,方向多漏查率低,但速度慢。对于一般地形如平原、丘陵、山地等地形完整地区,因等高线比较长,每个高程点相邻的等高线基本是两条,按四方向查找时均可达到1%以下的漏查率,对于较破碎的蜂窝状地形如内蒙古地区的沙丘地,则漏查率会高些,可能达到5%或更高,通过增加检查方向,很容易将漏查率降低到1%以下。实际生产中所使用的软件尚无准确可靠和全面的检查能力,主要是检查工具与实际数据情况不适应,错报漏报严重,很多单位仍主要靠人工方法检查,使得工作效率和质量都受到很大影响[1]。
2.有限方向检测法
2.1有限方向检测法原理
有限方向检测法原理是对于一个高程点,从该点出发沿一个方向查找与其相交的所有等高线,选择交点到该高程点最近的等高线作为相邻等高线,选择第二近的等高线为次临等高线。同样,按另一个方向查找,找到对应的相邻等高线和次临等高线。尽可能按所有方向,查找各自对应的相邻线和次临等高线。比较该点的高程与所有找到的相邻线的高程,如果其差值大于等于一个等高距时,则认为该点与对应的相邻等高线存在点线矛盾,对没发现相邻等高线的方向,按无矛盾处理。当该点的高程与相邻等高线高程差在一个等高距内时,在一检查方向上,从该高程点到相邻等高线,再到次相邻等高线,三者代表的高程值是否依次递增或递减,如不是则认为此检查方向发生矛盾。对没发现次临等高线的方向,只考虑上一条。对所有高程点进行同样的操作,找出所有存在矛盾的点。在存在矛盾的点处做出标记,标记内容应包含矛盾类型和出现矛盾的有关信息描述,以便于作业员修改。
2.2检查方向的确定
有限方向检测法关键需要确定检查方向。为了检查方便简单,可沿垂直的上、下,水平的左、右4 个方向进行,如图2 所示。
图2 南北东西四方向查找示意图
图2 中的1、2、3、4 号点是对G1 高程点找到的临近等高线的交点。当沿垂直方向查找时,可判断被判断线两连续点的水平坐标分别在G1 点的东西两侧,不满足此关系的直接跳过。对满足此条件的线段,按G1 的水平坐标代入该线段的直线方程求得垂直坐标,该垂直坐标与G1 点的纵坐标之差的绝对值即为两点的距离。当纵坐标差为正值时,交点在高程点上方,为负值时,在高程点的下方。分别按正负两种情况,求得1 点和2 点。同样道理,求得水平方向两交点3 和4。
为了提升对处理破碎地区检查的适应性,降低漏查率,可根据地形破碎情况增加检查方向数量,一般情况下,采用8 个方向时漏查率均可达到1%以下,本文中提出增加方向为东北、西南、西北、东南4 个方向。
2.3提高方法运行速度的措施
考虑到为了减少漏查率增加查找方向,因为增加的方向不是原来的垂直和水平方向,对于求相邻线的判别无法按上述坐标跨越该高程点坐标的方式定位交点所在的线段,如果对每条等高线的所有线段都探测与该方向有无实交点,然后根据实交点求距离,并且判断是哪个方向的交点等,那么计算工作量会非常巨大,当等高线上点数密集时检查速度大大降低。为此,本文采取下面方法提高执行速度:
(1)读入数据时,同时确定线对象的极值,每条等高线的纵横坐标极大值和极小值将会构成一个矩形范围,记录此极值时要与线数据记录顺序一致,便于对应。同时对旋转备用的数据也确定相应的极值。当对一个高程点查找相邻等高线时,首先判断该点与线的极值关系,只有高程点落在两坐标轴分别沿该极值矩形一极值到另一极值扫过的区域内时,按垂直(水平)检查法时才会有实交点,当落在范围外时是不存在实交点的,故可以跳过,如图3 所示。经过此方法,可以大大加快检查速度,特别是当地形破碎,等高线数量大普遍节点较少时对速度提升更显著。
图3 等高线极值与判定相邻区域关系的示意图
(2)读入数据后,除了按原始情况记录各点线数据作为垂直、水平4 方向检查外,对新增检查方向再根据图形数据确定图件的中心,将图形以此中心按逆时针(或顺时针)沿检查方向旋转至垂直(水平)方向,本文中是旋转45°。将新计算得到的点线数据作为一个备份,后续按此数据检查时仍然按垂直、水平四方向检查,提高检查速度。当发现有矛盾时,通过逆旋转计算出该高程点旋转前的坐标并以此坐标位置标注矛盾信息,因为发生问题概率不会是大量存在,相对来说有矛盾的点不会太多,因此在后续标注问题说明时,只需对这些矛盾的点进行一次坐标旋转计算,计算量不大[2]。
2.4节约方法占有内存的措施
在地形图生产中,一个图形文件的高程点和等高线数量往往是很大的,线条达到几万、几十万是经常的。同时由于地形特点、作业要求、数据采集方法以及作业员手法等存在差异,使得图中各条等高线长度、密度相差甚大,每条等高线上的结点数量往往从几个到几千个不等,对于编好的线连续性好的地形图,有的等高线节点数可达1万个以上。基于上述原因,线数据记录时不宜采用固定数组的方式,应当采用动态数组,根据数据实际大小使用内存。对于线上点坐标的记录方式,不能采用线序+点序的二维数组表示,如:利用x(i,j)表示第i 条线的第j 个点的x 坐标。因为这样使用,为了读入某点数最多的线,定义线数据数组时j 的值必须足够大,同时由于地形图中线数量很多,i 的取值也会非常大。当线地物达到几千(实际中还要大得多),线上最多点达到几千时,目前计算机内存大都已无法保证甚至无法运行,而实际上,对图中众多的短小线,绝大多数数据部分是空的,使得内存浪费严重。为了节约内存,可采用下面手段:
(1)对文件中的线文件读入时采用预读入以记录线的个数、每条线的点数、所有线总点数,读入时,线个数和所有线总点数各用1 个变量记录,每条线的节点数用一维动态数组记录,随着线数的增加动态增长。
(2)按所有线的总节点数n 设计1 个1* n 维动态数组放置所有线的某坐标如xn坐标并重新读入线数据,按此数组记录坐标数据。y 和z 同样处理。
(3)按线的条数m 设计1 个m* 2 动态维数组放置第i 条线的坐标起始地址和个数如L(i,0)= n1,L(i,1)= n2。访问线时,第i 条线各点对应的x 坐标为xn1,xn1+1,……,xn1+n2-1,y 和z 坐标同理。
(4)对旋转后使用的数据按上述方法做同样处理[3]。
2.5特殊情况的处理
一幅地形图中,对高程产生影响的线状地物是很多的,如房屋线,道路边线、坡坎边线等,在此特征线附近,等高线存在断开、缺少的情况,如果不考虑这些线的存在,在检查时会产生大量的误报。如图4 所示的坎线不考虑,会影响到A、B 两点的判断。为了保证检查工具对其他特征线存在时的适应性,本文采取的方法是:对某点开始检查时,对每个检查方向设置一个布尔变量,初始值设为无矛盾,在搜索最近相邻线时,将地物线、特征线也一并考虑在内,如果在某方向最近线是这类线时,此方向就认为无矛盾,如图4 中的A 点南侧、东南侧,B 点的北侧、东北侧。只有在该方向最近线是等高线时才判断矛盾的可能性。此预设对图幅边缘的高程点同样适用,这些边缘处高程点外侧没有了等高线,都视作不存在矛盾也是合理的,如图4 中的A点西侧、C 点北侧、D 点南侧。
图4 地物线、特征线处的情况处理
3.结论
综上所述,本文提出的一种有限方向检测法检查高程点线矛盾检查的手段,编程方便,并通过实际生产验证表明:该方法检查结果正确,检查速度快,适应性强,很少发现漏判,没有发现误判。
参考文献:
[1]保持分布特征与重要性意义的高程点选取方法[J].章铭芳,杨敏,周启.测绘通报.2015(11)
[2]一种智能移动高程点注记的改进算法[J].蒲朝旭,汤洪,林莉.测绘通报.2015(05)
[3]基于等高线簇的等高线树构建方法研究[J].张威.科学技术创新.2017(22)
论文作者:张文锋
论文发表刊物:《防护工程》2018年第21期
论文发表时间:2018/12/7
标签:高程论文; 等高线论文; 方向论文; 矛盾论文; 坐标论文; 数据论文; 方法论文; 《防护工程》2018年第21期论文;