高 红
广西自然资源产品质量检验中心,广西 南宁 530023
农村“房地一体”不动产权籍调查成果汇交的材料主要有文档资料成果、不动产权属调查成果、不动产权籍测绘成果及数据库成果。其中数据库成果作为登记发证前的重要数据,包含基础地理信息数据和不动产要素数据两大类型,成果形式表现为矢量数据、属性数据及元数据等,为确保数据库成果满足汇交标准,对汇交前的数据进行质检尤为重要[1]。
传统的人工检查方式存在效率低、易漏错、检查结果表达不规范等不足,系统性的质检软件可大大提升属性数据完整性、规范性的检查效率,同时对矢量数据中肉眼无法辨识的拓扑性错误可提供精准定位的矢量意见[2-3]。广西“房地一体”成果体量巨大,检验数据格式各异,包括mdb 属性库、shp 图形文件、宗地图、分户图、证明材料等附件,且检验项较多,包括成果完整性、格式正确性、空间参考、属性质量、图形质量、逻辑一致性、附件质量等[4-5]。基于此,笔者根据广西《农房一体不动产登记数据汇交包标准》《广西农村“房地一体”不动产权籍调查技术细则》《广西壮族自治区农村“房地一体”不动产权籍调查及数据建库成果检查验收办法》对数据库生产及质检的要求,开发了基于ArcGIS的“房地一体”权籍调查数据库质检系统。
(1)标准化与规范化。由于“房地一体”数据库成果类型多,字段要求各异,数据结构复杂,质检系统设计遵循标准化、规范化的检查原则,按照技术规定和数据库标准编制质检方案,形成一套标准化、规范化的质量检查和评价软件。
(2)创新性与先进性。由于生产作业单位多、使用软件各异,质检系统采用与生产数据一致的软件环境,在其基础上配置先进、高效实用的系统软件和应用软件,使整个平台能协调一致地运行。同时,充分考虑其他不动产业务质检的需求,为后续的维护和升级提供了保障。
(3)扩展性与灵活性。考虑到不同系统间数据共享的问题,笔者采用相同的操作系统、数据库和应用软件,来规避系统间的兼容问题;在设计系统功能时,将各个功能模块化、参数化,为用户提供更多可以自主配置的参数。
(4)易用性与完整性。系统平台力求界面简洁明了,便于用户操作。
(5)整体性与渐进性。按照平台的主要工作内容,笔者先做好总体规划和设计,搭建好整体框架,然后有计划进行分期建设,逐步进行扩展。
质检系统的总体结构设计采用c/s 模式,遵循软件体系结构的层次化模型。表现层用于用户界面显示,接受数据输入,校验数据有效性,向后台数据库发请求,接受返回结果;业务层主要负责对项目的管理、系统设置、成果数据的质量检查和输出;组件层是系统实现所需要的一些组件信息;数据层用于任务方案配置、模板文件、检查结果等数据的存储;基础层是系统实现的基础,是基础的计算资源、存储资源、网络资源的硬件保障。
1.3.1 数据库设计原则
(1)规范化原则。数据库减少数据冗余,节约存储空间,减少相应逻辑和物理的I/O 次数,同时加快了增、删、改的速度。
(2)完整性原则。数据库中数据在逻辑上实现一致性、正确性、有效性和相容性上的完整性和功能性。
(3)安全性原则。数据库的一大特点是数据共享,因此数据库设计需要考虑安全性问题,数据库的安全性原则可有效防止不合法的使用所造成的数据泄露、更改或破坏。
1.3.2 数据库表结构
(1)检查数据对象表。主要用于存储提交的成果数据对象,保存着待检查数据的数据名称、物理路径、数据格式及正则表达式等信息。
(2)数据字典表。包含项目名称、项目内容、项目描述、类型、表达式、备注等字段,用于对项目字典信息的存储管理。
(3)检查结果表。用于存储最终成果数据的检查结果,需要导出的所有检查结果信息都会存储在表中。
(4)检查规则表。用于存储项目任务的规则名称、规则参数、检查项、算子名称、算子编号等信息,负责规则参数配置信息的管理。
(5)检查方案表。包含项目名称、产品名称、方案名称、描述信息等字段,负责方案基本信息的存储管理。
(6)任务信息表。用于在任务创建或修改时存储任务名称、检查方案、检查数据等信息,主要包含字段任务名称、数据路径、方案编号、备注信息。
(7)系统日志。主要负责对系统运行过程中的一些消息输出,当系统发生异常时便于开发人员查看日志从而对漏洞进行修复。
笔者按照软件设计先进性等原则,结合项目实际应用需求,设计质检系统应用的关键技术。
“房地一体”项目成果格式多样,检查规定也繁多。为了实现检查方案的可定制性和检查参数的灵活配置,笔者在质检系统采用基于“规则”的检查方式,即通过解析用户定义的规则参数,利用反射技术调用相关检查算子对成果执行相应的检查(见图1)。
图1 面向“规则”的检验方法图
面向“规则”的质量检查方法的先进性与优点如下。
(1)实现了以算子为接口的检查功能,包括算子编码、类别、名称、参数列表等属性和执行检查、意见输出、日志输出等。
(2)使用了算子库结构,每一个算子都是独立的,即使某一检查项出现系统问题时,也不影响其他检查项的进程与结果,系统还可以根据项目需求按照接口规范扩展新的检查算子。
(3)算子信息的具体化所形成的配置信息是执行检查的最小单元,同一算子可对应多种检查规则,可减少算子迭代的次数与时间,有效提升检查的速度。
(4)通过反射技术实现检查规则的创建与执行,减少了不同检查功能模块之间的耦合性,增强了可扩展的能力。同一算子可定义不同检查规则,也可应用于不同项目,达到功能复用的目的,节省了开发的时间,提高了开发的效率。
2.2.1 ORM的作用
ORM 是一种程序技术,用于实现面向对象编程语言里不同类型系统的数据之间的转换。使用ORM 访问技术承担业务逻辑层与数据库层的中间层,通过对象和关系建立映射关系,在应用程序和数据库之间,建立起一个中间层,仅需直接去操作对象,就可以对数据库中的记录进行增加、删减、修改和查询,可忽略数据的存放方式。因此,ORM 为业务逻辑层和数据库建立关系充当桥梁。
2.2.2 ORM的优势
一是提高开发效率,降低开发成本;二是简化代码,减少漏洞数量;三是提高性能;四是隔离数据源,可以很方便地转换数据库。
2.2.3 ORM的设计理念
“房地一体”项目涉及的数据较多,对数据库的写入、存储和读取的操作频率高。为简化读写操作,提高查询效率,质检系统采用ORM技术来实现对数据库的建设,其本质是将数据从一种形式转换到另一种形式。在信息共享平台的设计开发过程中,面向对象程序设计更能接近人的思维活动,利用这种思维进行程序设计,能够提高编程能力,缩短开发周期,减少维护成本。
组件式GIS 立足于标准的组件式平台,采用面向对象技术,支持各个组件之间的灵活重组和功能定制,其标准接口由一系列属性、方法和事件组成,用户在进行GIS的二次开发时,不需要确切知道空间数据及其关系的详尽处理算法,便可根据自己的需要轻松进行二次开发,定制自己的GIS 软件。它成功解决了传统GIS开发效率低下、系统集成困难和用户学习耗时长等方面的问题,有效降低了开发成本,节省了人力,并使应用程序具有良好的兼容性和扩展性。
从功能结构上来看,ArcEngine 组件可划分为基础服务、数据存储表达、地图表达、开发者组件层、扩展功能5 个层次。基础服务是所有应用程序都需具有的,由 ArcGIS 核心ArcObjects 构成;数据存储表达各种空间数据的存取过程;地图表达功能为显示和创建地图,包括对地图的标注、渲染等;开发者组件提供了开发过程中常用的界面控件,如工具条、图层控件等;扩展功能是在基本地理信息系统的基础上提供的一些诸如空间分析、空间建模等高级功能。
笔者以广西某县数据库成果检查为例,按照数据库质检要求及汇交标准对数据进行空间拓扑检查、数据基本检查、属性一致性检查、成果规范性检查、逻辑性检查。
对广西某县的一个乡镇数据进行全自动过机检查,其数据类型主要包括1 个属性数据(.MDB 格式)和2 个矢量数据(.SHP 格式),其检查规则和检查记录一一对应,对无问题的检查项以消息的形式明确此项检查无错误。
完成检查后,将检查结果以数据包的形式导出,可在ArcGIS 中看到完整的检查记录,其中属性数据的检查意见以属性表的形式表达某一属性表中某一行数据的某一列出现了错误,并提示正确的属性值,对矢量数据的检查以点、线、面的矢量形式表达错误的位置,并在矢量意见的属性表中表达检查意见、检查规则、检查数据,对成果的检查出具最终的质检报告。
对一个乡镇约1 万宗的数据库进行过机检查,耗时10~12 min,之前人工检查1 万宗数据库需2 d 时间,质检系统节约了时间成本。
笔者设计研发了基于ArcGIS的“房地一体”权籍调查数据质检系统,以自动化、易操作、高效率、全面性等优势开展数据质检,实现了检查问题的精准定位,避免了作业单位修改不到位、反复上交反复修改的情况,一定程度上推动了“房地一体”数据汇交的进度,并提升了成果质量。