铁路平纵断面关联时快速提取地面点的研究
2021-09-22孔德立
孔德立
(中铁第五勘察设计院集团有限公司 北京市 102600)
1 引言
铁路定线是在地形图或地面上选定线路的方向,确定线路的空间位置,并布置各种建筑物,是铁路勘测设计中决定全局的重要工作[1]。线路的空间是由它的平面和纵断面决定的。线路平面是线路中心线在水平面上的投影,表示线路平面位置;线路纵断面是沿线路中心线所作的铅垂剖面展直后线路中心线的立面图,表示线路的起伏情况[2]。
在铁路定线时,需要根据平面位置确定线路的起伏情况,那么确定地面线是非常关键的。由于地形图比较大,在三维数模[3]时的数据量就非常大,再根据线位确定出地面线,那么效率就非常低了。同时线路定线时,需要频繁的确定地面线,设计人员每移动一次线位,都需要等待较长的时间,降低了生产效率。因此,为保证设计的顺畅性,快速提取地面点是关键的一步。
2 提高效率的关键点
2.1 精简等高线数据,减少源数据量规模。
设计人员在铁路选线设计时,由于铁路线路较长,横跨的地形图比较多,设计人员一般都是在AutoCAD下根据需要附加当前需要的地形图作为外部参照[4]的。而设计时,又需要全线的数据生成地面点,那么对地形图的数据进行过滤、简化处理就十分必要。
首先建立一个数据库文件,用于存储地形图中等高线上的点,称为“.dgxpt”文件。选择多个连续的地形图文件后,设置过滤条件对源数据进行过滤。过滤条件有采集实体所在图层、采集实体类型、高程点范围、块实体名、等高线采集步长。其中高程采集范围用于剔除无效高程数据;等高线步长用于获取等高线上的点。等高线上的点往往比较密,一般为1米一个点,而设计时,5米或者10米一个点就能满足设计需求,且能大大减少数据量。
下面是对相同的数据量的地形图,分别针对5m、10m、20m步长,得到dgxpt文件的大小是10341kb、5077kb、732kb。由此可见,设置等高线采集点步长对原始数据点影响是比较大的。
2.2 优化数据,建立快速索引机制
数据采用后,利用类似于四叉树的思想就行分组,也就是将一个矩形范围划分为四个小的子范围。收集到所有点后,会得到所有点的一个最大范围矩形包围框;然后将这个最大范围包围框分成四个块;然后再将每个块继续划分为四个子块,直到最小子块边长大于一定长度时,分块结束。在分块过程中,如果子块内没有点数据,那么将不会继续分块。
图1中,灰色块内是含有数据的最小范围,跟选择地形图的实际情况是一致的。数据在检索时,首先判段当前设计线段是否在块范围内,如果不在,则跳过;如果在,则用同样的方法判断子块;如果子块是最小范围,且与设计线段有相交,那么取出数据,参与计算。
(1)数据块结构:
图1:数据分块后显示图
(2)递归生成子块的伪代码:
(3)将点放置到对应的最小子块中:
图2:处理过程流程图
通过以上4步操作,就可以完成数据结构的建立。将数据保存成XML格式。
2.3 将中线信息分块处理
调整线路平面时,都是局部线位的调整,然而局部线位是未知的;所以当线位发生调整时,仅对变动的部分进行地面线更新。加载及处理数据时,也是仅对局部的数据进行处理[5]。
中线分块原则,按直线和曲线分块,其中曲线采用一定步长的直线模拟[6]。这样,中线全是由直线构成,这条用直线模拟而成的中线,称为近似中线。地面线将由近似中线切割而成。近似中线与三角网切割时,每一条直线段和该直线段切割三角网得到的结果都被记录下来。当平面线位发生调整时,将重新生成近似中线,并且与三角网进行切割。调整后的近似中线和原来的近似中线进行比较(也就是近似中线的每条直线段进行比较),如果直线段相同,说明这条直线段没发生变化,否则说明发生了变化,需要重新与三角网进行切割。
2.4 中线调整时,只更新需要变化的地面线。
由于中线是由直线和曲线两部分组成,曲线部分采用一定长度的直线进行模拟。这样中线全部由直线线段组成。当设计人员移动交点JD[i]来调整平面位置时,只影响JD[i-2]、JD[i-1]、JD[i]、JD[i+1]、JD[i+2]相关的位置。根据近似中线,生成一个构网范围,构建三角网时,仅对构网范围内的点构建三角网。平面调整时,只要不超出构网的范围,即可一次构网后,重复使用。
每次切割的结果都保存在一个结构中,结构中不仅保存切割的点,也保存切割线的起终点。当平面发生变化,需要再次切割地面线时,都会找出发生变化的切割点,仅处理发生变化的切割点即可。
3 处理过程
第一步,将地形图中的等高线按照一定步长,生成数据文件。
第二步,根据当前中线形成近似中线,再根据近似中线得到构网范围。
第三步,根据数据文件和构网范围,构建三角网。在构网时,仅将与构网范围重合数据加入。
第四步,调整平面。当调整平面后,超出目前的构网范围,则需要重新构建三角网;否则不需要重新构网。
第五步,根据当前平面得到近似中线。回至第二步,重复。处理过程如图2所示。
4 结束语
为了提高切割地面线的效率,在不影响设计精度的情况下,解决方案主要集中在精简原始数据量和优化切割方法上。在数据量和精度要求都比较高的情况下,解决方案的处理结果是比较理想的,已成功应用于工程实践。