可定制的管线属性检查程序设计与实现

2016-12-07 02:38戴相喜陶书竹陈作军郑腾飞
城市勘测 2016年1期
关键词:管线模板程序

戴相喜,陶书竹,陈作军,郑腾飞

(1.南京市测绘勘察研究院有限公司,江苏南京 210019; 2.南京大学金陵学院城市与资源学院,江苏南京 210089; 3.南京金脉信息工程监理有限公司,江苏南京 210019)

可定制的管线属性检查程序设计与实现

戴相喜1∗,陶书竹2,陈作军1,郑腾飞3

(1.南京市测绘勘察研究院有限公司,江苏南京 210019; 2.南京大学金陵学院城市与资源学院,江苏南京 210089; 3.南京金脉信息工程监理有限公司,江苏南京 210019)

设计了一种基于Access数据库模板的可定制扩充的管线属性检查程序,用户可以在模板中根据检查需要,按照程序提供规则定制扩展检查项目,达到检查管线属性的目的,无需修改检查源程序,从而提高了程序的灵活性,降低了程序维护成本。

质检;定制;AutoCAD;Access

1 前 言

数据内业检查是保证数据最终质量重要的手段,内业数据检查手段通常分为人工检查和计算机辅助检查。随着计算机技术的发展,计算机辅助检查正在发挥越来越重要的作用,在减少人工检查工作量的同时提高了检查工作效率和准确性。管线数据的计算机辅助检查程序按照检查类型可分为:图形检查和属性检查,图形检查是检查管线空间位置方面的错误,如:孤点检查、孤线检查、重复对象检查、硬管碰撞分析等,属性检查是检查管线属性方面的错误,如某属性值不能为空,或某属性值填写不符合要求。

目前全国各地很多城市都陆续开展了地下管线普查工作,但由于管线数据标准各异,无法使用一套质检程序来满足各地要求[1],若为每个数据标准重新修改源程序来满足要求则成本较高,因此急需一套能够通过简单定制而无需修改程序的方法。通过对多个管线数据标准研究发现,各标准虽有各自特色,但也有一致的部分。因为作为管线数据,均需调查管点坐标、地面高程、管线埋深、管径等空间几何信息,而管线图形检查一般都基于这几个几何信息字段进行检查,所以图形检查程序一般能通用;而各地由于实际情况不同、用途不一,所需调查的属性内容出现不一致的情况,需要检查的属性内容不同,因此管线属性检查程序难以通用。本文基于AutoCAD平台设计一套可定制扩充的管线属性检查程序,用户可以通过简单的定制来满足不同标准的需求。

2 研究现状

传统的计算机辅助检查程序是将检查项目写入程序中,没有提供接口供用户修改,程序一旦写成,所能检查的项目也就固定了,鉴于此大家开始了检查内容可定制方面的探索。目前较常用的管线数据编辑平台有清华山维和AutoCAD,清华山维的管线软件提供了基于SQL语句的可扩充管线属性检查功能[2],该功能比较灵活,用户可以利用SQL语句编写出比较复杂的管线属性检查功能,但是该平台目前使用不是非常广泛,其思想可以供其他平台借鉴。基于AutoCAD平台也有这方面的研究[3],但是其设计的检查规则较单一,不够丰富和灵活,无法满足较复杂的属性检查需求。

3 功能设计

本文面向管线数据检查需求,提供多种属性判断比较的规则,用户使用该规则在模板中添加或修改检查项目,从而达到可定制管线检查程序的功能。

3.1模板存储格式

模板采用微软Access数据库进行存储,因为该软件较常用,且当前管线生产单位提交的标准库一般也为Access格式,用户无需另外安装数据库软件。

3.2检查条件设计

目前较常见的可定制属性检查程序一般没有在检查字段值时设置条件或仅提供较简单的检查条件设置,如材质的合法值集合。管线数据虽然种类较少,看似简单,但事实上其空间和属性的逻辑性十分严密。不同管线种类需要有不同的检查项目,如电缆类管线需要检查电压值是否填写,而通信类管线就不需要检查电压值;另外同一种管线内部字段值检查也需要有检查条件约束,如煤气PE管管径合法值是一个集合,而煤气钢管管径的合法值是另外一个集合,如果要检查煤气管径值是否合法时不对管线材质进行约束,仅用PE管和钢管两个合法值集合的并集进行判断,则可能会出现错误情况,因此对检查项设置条件是有必要的。本文为检查项设计了图层约束和字段值约束多重条件。

(1)图层条件

经分析,有些检查项是普适性的,如地面高程值的检查,有些检查项是有针对性的,如上面所述电压值的检查,因此需要对检查项所适用的图层进行约束。图层条件可为一个、多个或所有图层,如表1所示。

图层条件设置 表1

(2)字段值约束

为能提供更多、更灵活的检查项约束条件,设计了类似于SQL语法的条件属性设置方法,比较运算符有:大于(>)、大于等于(>=)、等于(==)、小于(<)、小于等于(<=)、不等于(!=),比较值(如表2所示)有:单个值、集合、值域、字段值四类。字段值条件可以设置多重,各字段值条件之间为逻辑与的关系。

字段比较值 表2

3.3必填属性检查

必填属性检查是检查管线属性必填字段是否已经填值。管线属性字段值有些可空,有些不可空,检查程序需要将值不可空但未填写的要素作为错误报出来,这类检查较为简单。

3.4异常属性检查

异常属性检查是检查管线属性填写的是否在合法范围之内。该检查较必填属性检查复杂一些,分为以下四种类型:值与单一值大小比较(如架空管埋深要小于0)、值是否在合法区域范围内(如高程值)、值是否为几个规定值之一(如管径)、两个字段值比较(如已用孔数不应大于总孔数)。这里的值比较算法与3.2中字段值约束相同。

3.5检查流程

检查功能分必填检查和异常检查,其实现流程类似,图1为异常检查功能的流程图。在程序实现过程中,条件是否满足这一功能十分重要,且多处用到,应将其提取出来作为一个单独的函数模块,方便各处调用。在该函数模块中实现对各运算符及条件值的判断,其判断流程如图2所示。

图1 属性异常检查流程图

图2 条件值判断流程图

4 程序实现

4.1Access数据库设计

根据上述功能设计思想,设计Access数据库模板属性检查表结构。为实现较好的可定制检查功能,需要对数据库表结构进行周密的设计,如表3所示。表中每一行记录检查一个字段的值,同一个字段值可以在多行中进行不同检查,各行之间是逻辑或关系。可以通过填写是否必填和是否异常来设置本行何种检查(必填检查、异常检查或是二者均检查),前面的应用层名、几何类型和条件字段名、条件字段值是用来限定进行本字段检查所需要满足的条件,字段值条件此处提供了三重条件,经项目实践发现,一般最多需要两重条件。

属性检查项表结构 表3

4.2检查功能实现

表4是以江苏省管线数据标准设置的检查条件中4条为例,检查内容分别为:

①路灯线电压字段是否为空及填写值是否为0.38;

②交通信号线、广告线电压值是否为空及填写值是否为0.22;

③燃气线压力字段是否为空及填写值是否在高压、中压、低压中;

④电力、通信类管线当占用孔数不为0时,占用孔数填写值是否小于总孔数。

属性检查项填写样例 表4

本程序基于AutoCAD 2008平台,使用其提供的.NET API接口,采用C#语言实现。以某市2015年普查管线数据为例进行测试,对表4设置的内容进行检查,图3为样例数据范围示意图,表5为该数据综合统计的长度。

样例数据管线长度 表5

图3 数据示意图

对该数据执行上述4项检查,必填检查共计耗时15 s,异常检查共计耗时46 s,属性检查表中设置的条件越多,执行检查耗时会越长。检查结果错误定位如图4所示。

图4 程序检查结果示例

5 小 结

本文设计并实现了一种基于数据库模板的可定制的管线属性检查程序,该程序提供了类SQL语法的条件判断方法,极大提高了管线属性判断的灵活性,用户可以在程序提供的规则框架内任意定制属性检查项目,提升了程序的通用性。经实际项目验证,该方法取得了较好的效果,此方法不仅可以应用在管线数据检查中,在地形数据检查中同样适用,同时对其他软件平台的数据检查也有借鉴意义。

[1] 陈小航,戴相喜,王庆等.通用管线质检软件设计与实现[J].现代测绘,2013,36(2):53-55.

[2] 常洲,戴相喜,王华峰.地下管线内外业一体化探测技术研究及实现[J].测绘通报,2011(7):50-53.

[3] 张彦彦,周卫,郝思宝.基于Aut0CAD二次开发的矢量地形数据检查[J].现代测绘,2006,29(6):16-19.

[4] 朱旭红,许国安,陈咬根.基于ArcObjects组件的地理数据检查软件的实现[J].测绘工程,2010,19(2):49-52.

[5] 严玉瑶.城市管网空间数据质量检查系统设计与实现[D].北京:中国地质大学(北京),2004.

Design and Implementation of Customizable Pipeline Attribute Check Software

Dai Xiangxi1,Tao Shuzhu2,Chen Zuojun1,Zhen Tengfei3

(1.Nanjing Institute of Surveying,Mapping&Geotechnical Investigation,Co.,Ltd,Nanjing 210019,China; 2.Urban and Resource Department Nanjing University Jinling College,Nanjing 210089,China; 3.Nanjing Geoman Infomation Engineering Supervision Co.,Ltd,Nanjing 210019,China)

Design an Extendable Pipeline attribute Check software based on Access template database,Users can customize the template database based on rules that software supported,according to their checking demands,by this they can achieve their checking purpose and without modify any check software source code,increase the software flexibility and reduce software maintenance cost.

quality test;customize;AutoCAD;Access

1672-8262(2016)01-131-04

P208.1,P209

B

∗2015—10—28

戴相喜(1984—),男,工程师,硕士,主要从事测绘、GIS方面的研究工作。

四川省地理国情监测工程技术研究中心资助项目(GC201502)

猜你喜欢
管线模板程序
铝模板在高层建筑施工中的应用
铝模板在高层建筑施工中的应用
试论我国未决羁押程序的立法完善
高级别管线钢X80的生产实践
“程序猿”的生活什么样
浅谈通信管线工程建设
浅谈通信管线工程建设
英国与欧盟正式启动“离婚”程序程序
铝模板在高层建筑施工中的应用
创卫暗访程序有待改进