具有错误自检功能的三维地下综合管线自动生成系统
技术领域
本发明涉及地下综合管线数据处理技术领域,特别是一种具有错误自检功能的三维地下综合管线自动生成系统。
背景技术
传统地下综合管线数据都是二维管线数据,数据主要是由管线数据外业采集人员通过外业探测画图,然后经内容数据处理平台将管线探测图信息化加工而成。数据处理平台有MicroStation、清华三维EPS、ArcGIS、MapInfo等。
正确的二维管线数据应该满足管网拓扑关系,并且属性数据正确。拓扑学的英文名是Topology,直译是地志学,也就是和研究地形、地貌相类似的有关学科。管网拓扑分为管网空间拓扑和管网属性拓扑。管网空间拓扑属于拓扑关系中网状拓扑的一种,一般检查井、泵站、阀门等都被抽现象为管点,不同类型不同大小的管线都被抽象为管线,管网拓扑要满足条件,管点必须和管线要相连,管线每端都必须有且只有一个管点。管网属性拓扑就是管线属性字段中要有与起始管点和结尾管点相关联的字段和字段值。
但由于二维数据是人工采集生成的,可能存在以下一些问题,如管点重复、孤点、管线重复、管线至少一端无管点相连、管线属性字段中与起始管点和结尾管点关联的字段值不正确等。要生成三维管线的关键字段值也可能发生错误,如高程、埋深、管径、材质等。
另外由于传统探测管线都是只测起始管点和结尾管点,然后连线生成管线,但实际情况不是这样,管线在地下的形态是呈弯曲状的,根据两点生成三维管线时就可能出现管线碰撞的情况。因此,有必要提供一种可以进行错误自检的三维地下综合管线自动生成系统,以完善建立的三维模型。
发明内容
本发明的目的在于提供一种具有错误自检功能的三维地下综合管线自动生成系统,该系统有利于提高所建立三维管网的精度,使用效果好。
为实现上述目的,本发明采用的技术方案是:一种具有错误自检功能的三维地下综合管线自动生成系统,包括:
二维管网空间拓扑检查模块,用于检查二维管网数据库中二维管线和管点的空间关联关系,排除重合管点、孤立管点、重合管线、无管点管线;
二维管网属性拓扑检查模块,用于检查二维管网数据库中与二维管线和管点相关联的关键字段及字段值,排除错误的管线和管点;
三维管网自动生成模块,用于根据二维管网空间拓扑检查模块和二维管网属性拓扑检查模块处理后的二维管线和管点数据,建立三维管网模型,生成三维管网,得到三维管网相关几何特征和属性数据;
三维管网碰撞检查模块,用于检查生成的三维管网中发生碰撞的管线,以供外业修测和内业复核。
进一步的,所述二维管网空间拓扑检查模块包括重合管点检查模块、孤立管点检查模块、重合管线检查模块和无管点管线检查模块;
所述重合管点检查模块按如下方法检查重合管点:首先对各类型点图层里所有的点要素进行缓冲,查找缓冲区内的点要素,如果查到的点要素数量大于1,将缓冲区内点要素的唯一标识、坐标都记录到列表中,并自动比对两两点要素的字段值,在列表中标明是否完全相同,如果完全相同则判定为重合管点;待全部点要素检查完成后,逐个检查列表中的重合管点,根据重合管点的坐标定位判断实际情况,删除重复点;
孤立管点检查模块按如下方法检查孤立管点:首先叠加各类型线图层数据,并对点要素进行缓冲,查找缓冲区内所有与线要素相交的点要素,将所有未与线要素相交的点要素的唯一标识、坐标记录到列表中;待全部点要素检查完成后,逐个检查列表中的孤立管点,根据点的坐标定位判断实际情况,删除孤立管点;
重合管线检查模块按如下方法检查重合管线:首先对各类型线图层里所有的线要素进行缓冲,查找在缓冲区内是否有包含完整的线要素,如果查到的线要素数量大于1,将缓冲区内线要素的唯一标识记录到列表中,并自动比对两两线要素的字段值,在列表中标识是否完全相同,是则判定为重合管线;待检查完全部线要素后,逐个检查列表中的重合管线,定位重合管线并判断实际情况,删除重合管线;
无管点管线检查模块按如下方法检查至少一端无管点的管线:首先对各类型线图层里所有的线要素进行缓冲,查找缓冲区内的点要素,如查到的点要素数量<2,则将两个线要素的唯一标识记录到列表中;待检查完全部线要素后,逐个检查列表中的无管点管线,定位无管点管线并判断实际情况,进行补充管点或删除管线等纠错操作。
进一步的,所述二维管网属性拓扑检查模块包括管点属性检查模块和管线属性检查模块;
二维管网数据库中二维管点的关键字段包括点要素的唯一标识、点高程、点埋深、点类型,所述管点属性检查模块检查内容包括:各个字段名是否正确;点要素的唯一标识是否符合编码规则;点高程、点埋深是否为数字,且数值是否在合理范围内;点类型里的数值是否为规定值之一;
二维管网数据库中二维管线的关键字段包括线要素的唯一标识、起始点的唯一标识、起始高程、起始埋深、结尾点的唯一标识、结尾高程、结尾埋深、管径、线类型,所述管线属性检查模块检查内容包括:各个字段名是否正确;线要素的唯一标识是否符合编码规则;起始点的唯一标识和结尾点的唯一标识是否符合编码规则,是否是正确的起始点和结尾点的唯一标识;起始高程、起始埋深、结尾高程、结尾埋深、管径是否为数字,且数值是否在合理范围内;线类型里的数值是否为规定值之一。
进一步的,所述三维管网自动生成模块将三维管段作为标准圆管进行简化,管段的空间信息包括:起始点、终止点的三维坐标、管段半径、管段长度;以二维管线为轴线结合给定的管段半径构建三维管段,并对相连管段接口进行处理,建立三维管网模型,生成三维管网。
进一步的,所述三维管网碰撞检查模块按如下方法进行碰撞检查:首先选取线要素,然后进行缓冲,查找出与缓冲区相交的管线,作为分析碰撞的管线;然后根据管线两端管点的坐标,生成空间管线方程,并根据异面空间管线最短距离方程计算出两管线间的最短距离;最后比对最短距离和两管线的管径相加之和,如果两管线的管径相加之和大于最短距离,则判定两管线发生碰撞,将发生碰撞的两管线记录到碰撞管线列表;按上述方法遍历所有线要素,完成碰撞检查。
本发明的有益效果是可以在三维管网生成之前对二维管网数据进行错误检测预处理,同时对生成的三维管网数据进行碰撞检查,以找出碰撞的三维管线,从而大大减小了所生成三维管网的错误率,完善了三维模型,提高了所建立的三维模型的精度,具有很强的实用意义。
附图说明
图1是本发明实施例的结构示意图。
具体实施方式
下面结合附图及具体实施例对本发明作进一步的详细说明。
本发明具有错误自检功能的三维地下综合管线自动生成系统,如图1所示,包括:二维管网空间拓扑检查模块、二维管网属性拓扑检查模块、三维管网自动生成模块和三维管网碰撞检查模块。
所述二维管网空间拓扑检查模块,用于检查二维管网数据库中二维管线和管点的空间关联关系,排除重合管点、孤立管点、重合管线、无管点管线。所述二维管网空间拓扑检查模块包括重合管点检查模块、孤立管点检查模块、重合管线检查模块和无管点管线检查模块。
所述重合管点检查模块按如下方法检查重合管点:同一坐标不存在两个相同的管点,因此首先对各类型点图层里所有的点要素进行缓冲,距离为0.001m,查找缓冲区内的点要素,如查到点要素数量>1,将缓冲内点要素的唯一标识id,坐标x、y都记录到列表中,并自动比对两个点要素的字段值,在列表中标明是否完全相同,如果完全相同则判定为重合管点。待检查完全部点要素后,逐个检查列表中的重复管点,根据重合管点的坐标x、y定位并查看实际情况,删除重复管点。
孤立管点检查模块按如下方法检查孤立管点:管点不可能单独存在,因此首先叠加各类型的线图层数据,然后对点要素进行缓冲,距离为0.001m,查找与缓冲区相交的线要素,将所有未与线要素相交的点要素的唯一标识id,坐标x、y记录到列表中。待检查完全部点要素后,逐个检查列表中的孤立管点,根据孤立管点的坐标x,y定位并查看实际情况,删除孤立管点。
重合管线检查模块按如下方法检查重合管线:不存在两条完全重叠的管线,因此首先对各类型线图层里所有的线要素进行缓冲,距离为0.001m,查找是否有线要素与缓冲区是包含关系,即在缓冲区内是否有包含完整的线要素,如查到线要素数量>1,则将缓冲内线要素的唯一标识id记录到列表中,并自动比对两个线要素的字段值,在列表中标识是否完全相同,是则判定为重合管线。待检查完全部线要素后,逐个检查列表中的重复线,定位重合管线并查看实际情况,删除重复管线。
无管点管线检查模块按如下方法检查至少一端无管点的管线:同一坐标不存在两条相同的管线,因此首先对各类型线图层里所有的线要素进行缓冲,距离为0.001m,查找线端缓冲区内的点要素,如查到有点要素<2,则将两个线要素的唯一标识id记录到列表中(正常一条管线段两端应该各接有一个管点,如果缓冲后查出的点少于2个,就是有问题的线)。待全部线要素检查后,逐个检查列表中的无管点管线,定位无管点管线并并查看实际情况,进行补充管点或删除管线等纠错操作。
所述二维管网属性拓扑检查模块,用于检查二维管网数据库中与二维管线和管点相关联的关键字段及字段值,排除错误的管线和管点。所述二维管网属性拓扑检查模块包括管点属性检查模块和管线属性检查模块。
二维管网数据库中二维管点的关键字段包括点要素的唯一标识id、点高程、点埋深、点类型,所述管点属性检查模块检查内容包括:各个字段名是否正确;点要素的唯一标识id是否符合编码规则;点高程、点埋深是否为数字,且数值是否在合理范围内;点类型里的数值是否为规定值之一;
二维管网数据库中二维管线的关键字段包括线要素的唯一标识id、起始点的唯一标识id、起始高程、起始埋深、结尾点的唯一标识id、结尾高程、结尾埋深、管径、线类型,所述管线属性检查模块检查内容包括:各个字段名是否正确;线要素的唯一标识id是否符合编码规则;起始点的唯一标识id和结尾点的唯一标识id是否符合编码规则,是否是正确的起始点和结尾点的唯一标识id;起始高程、起始埋深、结尾高程、结尾埋深、管径是否为数字,且数值是否在合理范围内;线类型里的数值是否为规定值之一。
所述三维管网自动生成模块,用于根据二维管网空间拓扑检查模块和二维管网属性拓扑检查模块处理后的二维管线和管点数据,建立三维管网模型,生成三维管网,得到三维管网相关几何特征和属性数据。
所述三维管网自动生成模块将三维管段作为标准圆管进行简化,管段的空间信息包括:起始点、终止点的三维坐标、管段半径、管段长度及管段壁厚等,建模过程中,可以不考虑管厚;以二维管线为轴线结合给定的管段半径构建三维管段,并对相连管段接口进行处理,建立三维管网模型,生成三维管网。
三维地下管线系统的建立主要是处理综合管线相关的三维要素,主要有地面建筑物、管井、管道、管沟和地下构筑物,其中地下构筑物又包括地铁、人防设施、隧道等,而管井又包括井盖、井壁分别处于地表上和地表下两个部分。在三维要素的管理上,采用面向实体和拓扑关系的数据组织方式,每一个三维要素由三维几何特征和属性组成,数据管理通过集中存储的方式将三维几何特征用DirectX渲染的结构进行存储,将管线属性信息集中存储到数据库中,通过点id和线id进行统一编码和关联,实现了可视化信息与属性信息的关联与管理。
所述三维管网碰撞检查模块,用于检查生成的三维管网中发生碰撞的管线,以供外业修测和内业复核。这是因为自动生成的三维地下综合管线会存在碰撞,需要将这些碰撞管线分析并逐条找出,以提供外业修测及内业复核。所述三维管网碰撞检查模块按如下方法进行碰撞检查:首先选取线要素,然后进行缓冲,距离为50m,查找出与缓冲区相交的管线(即将二维管线做缓冲,生成线缓冲区,选出所有与该缓冲区相交的管线),作为分析碰撞的管线;然后根据管线两端管点(管点指管线两端的点)的x,y,z坐标,生成空间管线方程,并根据异面空间管线最短距离方程计算出两管线间的最短距离;最后比对最短距离和两管线的管径相加之和,如果两管线的管径相加之和大于最短距离,则可判定两管线发生碰撞,算出管线碰撞,记录到碰撞管线列表。按上述方法遍历完所有线要素后,完成碰撞检查。
以上是本发明的较佳实施例,凡依本发明技术方案所作的改变,所产生的功能作用未超出本发明技术方案的范围时,均属于本发明的保护范围。