多源矢量数据检查系统设计与实现

多源矢量数据检查系统设计与实现

摘要:针对测绘项目中经常面对的矢量数据质量检查任务,研究了支持多平台数据读写、不依托商业软件平台可独立运行的轻量型通用检查软件,实现了多源矢量数据的精度和内容检查及报告生成,可为测绘项目中相关工作的开展提供参考。

关键词:矢量数据检查;质量检查;多源数据;Teigha;GDAL

0引言

近年来全国或省市区域级调查测绘项目频繁开展,如农村土地承包经营权确权登记、地理国情普查、城市地理国情监测、农村建设用地调查、水利确权以及目前正在开展的第三次土地调查等,国家和地方政府对各领域测绘地理信息的准确掌握有着迫切需求,投入了大量的人力物力。在此背景下测绘成果的质量管控尤为重要,而测绘项目中不同单位使用的生产软件不尽相同,在项目开展的不同阶段形成的中间成果往往也不全相同,因此会产生不同格式和形式的成果数据或检查数据。在成果检查中,往往受到不同格式数据的转换、平台或运行环境安装、软件版本更新等系列问题的困扰。对于部分数据格式不统一的情况,通常需要利用一种或几种数据处理平台进行转换输出,工作量大,操作步骤复杂,不易掌握,且转换过程容易丢失数据和属性信息等,往往不能取得满意的效果[1]。由于空间数据生成和处理代价高,而实际应用中需要计算的数据格式多、数据量大,所以数据集成系统的动态性和可扩展性极为重要[2]。本文在综合现有研究成果并结合实际应用的基础上,探索利用开源代码实现跨平台数据的读写和质量检查等任务,为测绘成果质量的自查、监理检查、验收检查和结果评定等工作提供精简型通用软件工具。

1研究基础与现状

1.1研究现状概述。目前,已有针对具体项目或任务构建的质量检查系统[3-5]或大型的综合质检系统[6-7],但多基于大型商业软件如ArcGIS、AutoCAD、FME、南方iData等进行二次开发;在多源数据的读取和转换研究方面,利用Teigha读取DWG格式数据的应用研究[8-10,12]、使用GDAL进行多源数据获取[2,11]、CAD与GIS数据的相互转换[1,12-13]等研究较多,但多是结合开源资源与商业软件二次开发;脱离商业软件平台同时较全面地支持DWG、SHP等,目前常用矢量数据格式的多源数据检查研究成果较少。

1.2现状总结分析。综合现有研究成果,基于大型商业软件即宿主软件进行二次开发,需要投入大量精力研究其内部数据结构、映射文件的语义和语法结构及控件的属性、方法和事件等,对开发人员要求较高,同时需要运行时环境作为支撑,且易受软件版本和操作系统限制,不利于推广应用,也限制了软件的可扩展性[2,11,13]。从底层开发则更费时费力且难度更大,因此,利用开源项目进行开发则成为较好的选择。在现有的诸多开源资源中,GDAL对矢量数据的支持功能十分强大,几乎涵盖了目前能用到的所有矢量数据格式[14],略有不足的是GDAL支持dxf格式数据但无法解析DWG文件,而Teigha提供了DWG各个版本文件的兼容性接口,向下屏蔽DWG内部数据结构和版本差异,向上则提供统一的数据结构模型且效率较高[8]。

1.3Teigha与GDAL。Teigha,曾用名OpenDWG、DWGdirect,是由开放设计协会(OpenDesignAlliance)设计开发的一套完全脱离AutoCAD平台、面向对象的类库,该类类库的数据结构与AutoCAD中的数据结构一致,支持直接创建和读写多个版本的DWG格式文件,在此基础上所开发的程序可完全脱离AutoCAD平台运行,具有较高的效率和安全性,支持Windows、MacintoshOSX&IOS、UNIX/Linex、Android等操作系统以及C++、.Net、Java等语言[1,12]。GDAL(GeospatialDataAbstractionLibrary,地理空间数据抽象库)是一个在X/MIT许可协议下读写空间数据(包括栅格和矢量)的开源库,它利用抽象数据模型来表达所支持的各种文件格式,使用一系列命令行工具来进行数据转换和处理,目前,几乎所有的GIS和RS软件底层都使用GDAL来读写空间数据。OGR是GDAL的一个分支,对几乎所有常用矢量数据的读写提供支持,可对空间数据的空间参考信息进行处理[13]。

2技术要点与方法

2.1多源数据读写。对常用格式如AutoCAD、ArcGIS、MapInfo等不同软件的多种格式成果进行读取,同时根据需要导出目标格式的数据。目前尚未发现全面支持上述多源数据的开源项目,对于GDAL而言难点主要集中在解析DWG文件,而如上所述,Teigha对AutoCAD不同版本多个格式的数据包括图形、扩展属性、符号等均有较全面的支持。因此,本研究中具体针对DWG以及其他格式的CAD平台数据采用Teigha进行操作,其他矢量数据则基于GDAL进行数据读取和导出。

2.2目标数据关联。自动化检查计算的前提是将成果数据与检查数据关联起来。本研究在读取数据内容的基础上,通过人工设置属性关联或空间距离约束实现成果要素与检查数据的自动关联匹配。具体检查内容与目标数据关联方式见表1。

2.3精度计算与报告生成。按照相关规范要求检查计算坐标精度、长度精度、面积精度、属性精度、数据库规范性和完整性等内容,生成报告并导出问题清单或数据。基于微软的office.dll库实现Word或Excel格式报告的输出,同时可根据需要选择问题数据的导出格式。

3设计实现与应用

3.1流程设计。前期准备包括对成果数据抽样后形成成果抽样数据,进行图解或实测法检查并利用生产软件形成检查数据。检查软件读取上述数据后,通过人工配置关联图层或属性并设置相关参数进而进行精度计算获数据内容检查,支持依据属性关联或按空间位置搜索匹配,自动检查计算生成检查报告并导出问题清单或数据。若是对数据完整性或规范性进行检查,则提供GDAL支持的格式数据标准文件或数据结构表等即可,系统依据标准对成果数据库的结构规范性、内容完整性和准确性进行检查并生成问题报告。具体技术流程如图1所示。

3.2开发应用。利用Teigha和GDAL开源库基于C#语言开发实现了多源矢量数据检查系统。系统广泛应用在农村土地承包经营权确权登记测绘专项检查以及农村建设用地调查以及农村不动产权籍调查等项目的矢量成果检查中,实现了对多种格式、不同内容成果的完整性、规范性和精度的检查评定,可提取问题数据并出具统一格式的检查报告,对成果质量管控和工作效率提高起到了重要作用。

4结束语

利用自动化通用型软件进行测绘项目各阶段成果的检查,可为推进工作进度、提高成果质量提供有力保障。GDAL结合Teigha可实现常用测绘地理信息数据的读写,基于其开源库进行开发的产品可脱离大型商业软件运行环境,工作量小,效率高,且具有更好的经济实用性、应用普适性和可扩展性。本研究成果在实际项目开展中取得了一定的应用效果,也发现了不足,如根据条件遍历选取要素等方法较大型商业软件效率低一些,还需要进行优化和改进,但对数据量较少的抽样检查来说已经满足需求。另外,目前尚未考虑数据显示、坐标转换等方面的功能,在今后的研究和工作中也将进一步补充完善。

作者:许文帅 杨少敏 史惠春 薛建峰 单位:常州市基础地理勘测中心