汪升捷 杨帆 凡建林 姚辉
(浙江省测绘科学技术研究院 浙江杭州 310023)
测绘领域的日常工作中,充分利用已有资料,解决多种数据格式共享,经常需要数据格式之间的转换[1]。SHP 数据和MDB 数据是两种非常常见的数据格式,如何实现数据格式按照既定要求快速转换[2],是日常数据处理工作的中一部分,同时也决定着整个工程项目的质量。因而,实现SHP 数据和MDB 数据库转换至关重要。
SHP 格式数据全称shapefile,是一种基于ArcGIS 平台的矢量数据文件,包含空间数据的几何特征和属性[3]。至少由shp、dbf 和shx 三个文件组成,分别用于存储地理空间信息、属性信息以及前两者之间的关系索引,是GIS 中比较通用的一种数据格式。常用SHP 格式数据文件组成部分见图1。
图1 常用SHP 格式数据文件组成部分
当通过对数据的坐标系统定义后,会生成prj 文件存储坐标系统信息。对SHP 数据进行浏览使用后,另外产生shp.xml、sbn、sbx 三种文件。其中shp.xml 文件是对元数据浏览后产生的元数据文件,sbn和sbx 文件则存储空间索引,加速对空间数据的读取。常用SHP 格式数据文件组成类型对照见表1。
SHP 数据文件大小限制在2GB 内。数据字段属性已设定的无法更改,字段间顺序不能调整,只能调整显示顺序。
MDB 格式数据是ArcGIS 发展推出的一种基于RDBMS 存储格式的Geodatabase 数据中的一类。因其存储量小,存储在Access 的MDB 上,且易于编辑,是目前中小型数据库的主要选择类型。在ArcGIS 中被划分为PersonalGeodatabase,中文名为个人地理数据库,MDB 格式可以通过Access 打开编辑。MDB 个人地理数据库及系统文件组成见图2。
表1 常用SHP 格式数据文件组成类型对照表
图2 MDB 个人地理数据库及系统文件组成
MDB 可以根据数据情况建立要素类数据或是要素集,在Access 打开编辑时显示要素类对应文件,在ArcGIS 软件使用时,要素类和要素集则区分显示[4]。MDB 数据文件大小限制在4GB 内。数据字段可根据需求调整,字段顺序可以通过Access 编辑调整。MDB 个人地理数据库系统文件说明见表2。
表2 MDB 个人地理数据库系统文件说明
通常情况下,对数据的处理主要分为SHP 转换到SHP、SHP 转换到MDB、MDB 转换到SHP 以及MDB 转换到MDB 四类。只针对数据的实用性及可操作性做一定要求,ArcGIS 软件对应的转换工具进行批量转换,能完全满足这部分作业要求[5]。
除常规工作外,还存在数据转换的前置设定要求,既对数据格式及属性字段本身有明确的固定设定。此时再直接采用ArcGIS 软件工具箱工具直接转换,无法达到前置设定要求,需要有对应方案进行处理[6]。
根据目前遇到情况并归类后,主要分为固定格式的MDB 数据库目标和固定格式的SHP 数据目标两大类。
3.3.1 固定格式的MDB 数据库目标
固定格式的MDB 数据库目标可根据SHP 数据源的不同分为同类参数数据库和非同类参数数据库。同类参数数据库指SHP 数据源的字段属性设定包括字段顺序等同目标数据库一致。非同类参数数据库指SHP 数据源的字段属性设定或字段顺序等同目标数据库不一致。根据要求描述,有三种方案可以操作实现。
⑴方案一:先根据给定目标数据库结构,人工建立数据库,再将转换后数据导入新建立的目标数据库中。
⑵方案二:先利用ArcGIS 软件对应的转换工具对数据进行转换,再根据给定目标数据库结构对转换后的数据存储数据库进行调整修正。
⑶方案三:先根据给定目标数据库利用XML 工作空间文档进行目标空数据库的建立,再将转换后数据导入新建立的目标空数据库中。XML 数据导出对话框见图3。具体步骤如下:
图3 XML 数据导出对话框
①根据提供数据库导出XML 工作空间文档,结合数据实际情况,设定导出内容和图层;
②新建个人地理数据库,将上一步导出的XML工作空间文档导入,形成备用数据库。此步骤能保持数据库格式设定要求,且无需重新一一对应建立;
③利用ArcGIS 软件对应的转换工具进行数据转换常规操作;
④将处理后数据加载至对应图层中,数据自动进行匹配工作。
如果给定目标数据库本身为空数据库,直接从步骤三开始操作。
(4)三方案比较
方案三相对于方案一,能减少人为错误及作业时间,提高作业效率;
方案三相对于方案二,能减少数据加载后属性字段结构、长度及顺序等繁琐的信息调整工作,避免调整操作中信息的丢失。固定格式的MDB 数据库目标方案比较说明见表3。
表3 固定格式的MDB 数据库目标方案比较说明
如果给定目标数据库只有文字描述,并无数据库形式,则方案三无法执行。方案一适合字段结构要求较少的数据,方案二适合数据量较大的数据。可综合考虑,并在方案一或方案二中选择。
3.3.2 固定格式的SHP 数据目标
因SHP 格式数据的特殊性,其字段信息甚至字段间的顺序都不可更改。因此根据SHP 数据用途的不同,对其数据质量要求也不同,而对应采取的处理方式也会不同。
3.3.2.1 与给定目标完全一致
此类数据为高质量数据,主要是为以后数据建库等工作使用,除属性值保持一致外,其字段结构及其属性值必须保持严格一致。根据要求描述,主要有两种方案可选择。
⑴方案四
①现利用ArcGIS 软件对应的转换工具对数据进行转换;
②通过与目标格式的比对,对不一致字段之后的所有字段按照目标格式,按顺序进行全部重新新建设置;③将属性值赋予新建立的正确字段;
④剔除多余、错误字段,获得与目标数据结构完全一致成果。
⑵方案五
①SHP 目标格式数据清除,形成空数据文件,保留字段设定,SHP 数据数据清除见图4;
②将数据导入至该空数据文件,形成自动匹配,获得与目标数据结构完全一致成果。
图4 方案五SHP 数据数据清除
⑶两方案比较
方案四适合字段结构基本无变化的数据文件,方案五适合空间数据量较小数据文件。当数据量大且字段结构变化较大时,需综合考虑后选择。固定格式的SHP 数据目标完全一致方案比较说明见表4。
表4 固定格式的SHP 数据目标完全一致方案比较说明
3.3.2.2 与给定目标基本一致
该类数据主要作为保持通用格式使用,其特点是除属性值及字段顺序保持一致外,字段结构主要体现为双精度、浮点型等类数据字段精度和小数位设置不一致。针对该要求数据,目前也有两种转换方案。
(1)方案六:通过SHP 格式数据本身属性表DBF 进行编辑,采用Microsoft Office Excel 97-2003版本编辑后顺序可调整保持一致,但部分双精度、浮点型类字段设定被自动定义;
(2)方案七:通过建立MDB 格式数据,根据目标调整后,导出为SHP 数据,因MDB 数据库格式中对双精度、浮点型等类字段的精度和小数无相关设定对话框,导出SHP 数据后,该部分字段属性默认值为0。MDB 和SHP 双精度字段数据类型比较见图5。
图5 MDB(右)和SHP(左)双精度字段数据类型比较
(3)两方案比较
通过作业比较,方案七比方案六处理更便捷,容易对数据进行把控,固定格式的SHP 数据目标基本一致方案比较说明见表5。
表5 固定格式的SHP 数据目标基本一致方案比较说明
通过固定格式的MDB 数据库目标方案及固定格式的SHP 数据目标方案间各自的比较,发现在数据管理上MDB 数据库相对于SHP 数据有较大优势。MDB 数据库以数据库的概念管理数据,同时在ArcGIS 软件中被划定为个人地理数据库,有其一定的灵活性和自由性。作为目前使用最广的中小型数据库载体,数据的处理与编辑体验有较高舒适性,比较适合目前大部分GIS 企业的生产应用模式。
SHP 格式数据作为通用格式数据得到广泛使用,但同时存在数据管理修复或是数据整理上的缺陷,特别是字段等信息的修改处理上是一大难点。MDB 数据库因结构自身原因,无法与SHP 做到完美匹配对应,针对两种格式的数据属性特点,在不影响数据使用,满足数据处理的最终要求的基础上,建议可以考虑适当放宽特定需求,以换取作业效率。
在大数据时代下,数据库的建立使用将会更加频繁,数据的管理将更加有效灵活。以MDB 为存储基础的中小数据库将会逐渐取代通用式、过程式的SHP 数据。