4D产品元数据快速生产方法探讨
2014-02-19王宗荣周汉华
张 亮,王宗荣,周汉华,龚 卉,李 智,肖 峰
(1.湖北省测绘工程院,湖北 武汉 430074;2.鄂州市地理信息中心,湖北 鄂州 436000;3.武汉市蔡甸区勘察测绘设计院,湖北 武汉 430100)
地理信息数据库的元数据是4D成果的重要组成部分,记录了图名、图号、图廓点坐标、接边情况等大量描述信息,是4D产品检索的重要依据,也是4D成果质量评定的重要一环。不少学者从不同角度对元数据进行了研究,如宋华伟等研究了国内外地理信息元数据的标准,提出建立地理信息元数据系统模型[1];吴学峰等结合新疆基础测绘项目,研究了元数据自动化生产的方法[2];陈明东针对人工管理元数据效率低的问题,提出基于MDB的4D产品信息库设计方案[3];王汉财依据元数据信息获取的方式和检查内容进行分析、探讨,通过编程实现元数据质量控制[4]。这些研究制作元数据时创建的表结构相对固定,没有实现元数据表的动态定制,而且仅仅只针对属性数据进行处理,没有将空间数据和属性数据相关联,在处理方式上尚不够灵活。本文分析了元数据生产要解决的主要问题,充分发挥GIS的优势,将空间数据和属性数据有机结合,设计并编写程序实现了元数据的快速生产。
1 问题分析
以1︰1万DLG元数据制作为例,元数据项多达100多项,其中有些项是固有不变的,如产品生产日期、产品版本、出版日期等,而对于变化项则需要进行相关的统计和计算。针对元数据项中的变化项,需要解决以下几个方面的问题:
1)文件操作。主要针对元数据项中与文件相关的描述项,如对与图号相匹配的数据文件或文件夹进行容量统计,作为数据量项的填写依据;针对BIL格式的DEM元数据,读取相应HDR文件作为格网行列数项的填写依据等。
2)图幅计算。主要包括图幅经纬度计算、图廓角点坐标计算、图幅结合表图号计算等,相关计算结果作为相应元数据项的填写依据。
3)空间关系判断。主要是判断图幅邻接关系,读取相应图名和图幅接边情况,作为相应元数据项的填写依据。
2 解决方案
2.1 基本设计思想
针对以上问题,考虑建立MDB数据库,同时制作相应的元数据模板文件,并根据模板文件在数据库中建立相应的表来记录元数据信息。表的属性项对应相关的元数据项,属性项的值记录元数据值,表中一条记录对应一幅图的元数据信息。最后,按指定格式和规则将表中记录写出成元数据文件。如图1所示。
图1 元数据制作总体设计流程图
2.2 具体方案
2.2.1 元数据模板制作
元数据模板文件根据项目设计书要求创建,以txt文本格式存储,以分行形式记录元数据项和元数据值,项和值之间以tab或空格进行分隔。模板文件要求将固定项的值直接填写,变化项的值不填。
2.2.2 数据库和数据表的创建
在指定目录下创建一个Microsoft Access的mdb数据库文件,命名为Metadata。读取元数据模板文件,利用String.Split函数将元数据模板文件中的元数据项和值进行分离,以其中的元数据项为表属性项在数据库中创建指定表名的空数据表,并将模板文件记录的固项和值以Dictionary数据结构进行记录。
2.2.3 结合表制作
选择在GIS环境下制作相应的图幅结合表[5],并在ArcGIS下内嵌开发相应的结合表制作程序。图幅结合表以面层形式展现,一个面对应一个图幅。根据项目设计书,面的属性表需要创建图名、图号、旧图号、原图图名、等高距、接边标识等字段,分别记录每幅图的相应项信息。图幅结合表制作要求在生产范围边界外扩一个图幅,以获取生产范围边界处邻接图幅的相关信息。因项目生产范围内部图幅一般必须接边,以属性值“1”作为接边标识,外扩图幅则根据实际情况以“0”或“1”标识接边情况。
2.2.4 可变项值的获取
可变项中与文件数据相关的值,可通过统计程序或直接读取对应文件的相关信息来获取,如“数据量”、“格网行列数”等;而与空间信息相关项的值则需要通过读取结合表来获取,借助ArcGIS Engine 组件式开发可以方便地对结合表shp数据进行操作[6]。主要计算项获取方法如下:
1)在遍历数据文件的同时通过图号查询结合表,读取对应图幅的图名、图号、旧图号、原图图名、等高距、接边标识等信息作为元数据相应项的填写依据;
2)相应图幅的图廓角点坐标直接在结合表中读取;
3)利用IRelationalOperator接口的Touches方法获取邻接图幅,通过本图幅中心点坐标与邻接图幅中心点坐标的比较,判断图幅间位置关系[7];
4)依据对应邻接图幅的相关信息填写与本幅图相关的相应元数据项;
5)根据1︰1万地图分幅编号法则,计算其4个角的经纬度,以获取图幅经纬度范围。
2.2.5 数据写入与元数据文件写出
将每幅图获取的可变项值连同模板记录的固定项值一并写入数据表中,一幅图对应表中一行,每行都记录了一幅图的所有元数据值。
将数据表中记录连同元数据头一并写出,保存成设计书要求的元数据格式,生成对应的元数据文件。
3 实际应用
根据以上思路,开发了相应的元数据制作程序。同时,以某地区790幅1︰1万DLG元数据生产进行实验。经过实践,从元数据模板制作、结合表制作到完成元数据的生产,只需半个工作日,且元数据项填写准确无误,大大提高了生产效率和产品的质量。
4 结 语
通过模板定制和数据库技术实现了4D产品元数据项的自由定制,通过ArcGIS Engine下组件开发技术实现了结合表数据的查询、运算和空间分析。2者的结合准确无误地获取了对应元数据项的值,实现了4D产品元数据的快速生产。方案中还存在不足之处,如对图幅结合表文件制作要求高,需要图幅结合表详尽记载图幅的相关信息,并保证坐标准确无误。下一步可进一步作数据关联,从多数据源中提取关联信息,并建立数据库管理系统,同时结合多源数据进行更深入的数据分析和挖掘应用,以产生更大的经济效益。
[1]宋华伟,周莎,马德涛.浅议地理信息元数据[J].地理空间信息,2008,6(1):74-76
[2]吴学峰,胡红艳,赵淑玲.新疆基础测绘元数据自动化生产技术研究[J].测绘与空间地理信息,2011,34(4):56-61
[3]陈明东.4D产品元数据自动生成方法及实现[J].测绘与空间地理信息,2012,35(3):93-95
[4]王汉财.基础测绘元数据检查方法探析[J].长春工程学院学报:自然科学版,2013,14(2):101-103
[5]王波,张亮,孙霞.CAD向GIS数据的转换入库[J].地理空间信息,2011,9(3):24-26
[6]吴建华.基于ArcGIS Engine的GIS软件开发方法[J].测绘通报,2010(11):54-57
[7]曹健,李国忠,徐效波,等.基于ArcGIS Engine的多幅数字地形图接边算法研究[J].测绘与空间地理信息,2010,33(2):76-78