Excel数据与GIS空间数据转换技术研究

时间:2022-09-09 12:31:08

Excel数据与GIS空间数据转换技术研究

【摘要】数据转换一直是震害预测专题研究工作的过程中一个不可避免的问题,尤其是Excel数据与GIS空间数据之间的转换。由于两个平台对数据表达方法上的差异以及项目需求的不同,一般常规方法都很难满足数据的无损转换。本文通过分析多种数据转换平台在数据转换方面的优势与不足,结合震害预测专题研究工作具体项目需求,探讨一种基于文件流、VBA和OLE技术的Excel数据与GIS空间数据转换方法,实践证明该方法简单、有效,数据损失率低。

【关键词】ExcelGIS数据转换数据接口

一、引言

在进行震害预测专题研究工作的过程中,对Excel数据文件的充分利用可以降低项目成本,避免数据的重复采集,缩短项目周期,提高现有数据的利用率。在数据更新过程中有Excel数据文件数百个,其全部转换到GIS空间数据库,数据处理全部人工去处理难度较大,并且数据的准确性以及完整性难以保证。通过对数据转换方式与地震行业数据格式的分析,在C#.NET中,利用文件流、VBA和OLE技术实现Excel数据与GIS空间数据格式之间的转换接口,减少人工数据转换带来的错误和误差。

二、地震行业数据转换方式分析

震害预测专题数据汇总完成后大部分是以Excel格式数据文件形式整理成册,通过Ftp服务器或者网络工作站的形式上传至服务器。传统的数据处理方式采用人工编辑导入相应的GIS文件数据库中,此种方式无疑增加了数据导入过程中产生误差的几率,增加数据录入的麻烦。为避免误差几率的增加和数据录入的麻烦,借鉴ADO技术在Excel与Access之间的数据转换和在AutoCAD与GIS数据转换接口中的方式,最终通过C#. NET平台运用自定义Txt文件数据流结合Office办公软件提供的VBA接口和OLE技术实现Excel文件与GIS数据库数据转换。

三、两种数据分析与技术路线

3.1两种数据分析

以GIS空间数据的格式中的Shapefile为例进行说明,Shapefile是ArcView GIS 3.x的原生数据格式,属于简单要素类,用点、线、多边形存储要素的形状,具有简单、快速显示的优点。Shapefile是空间信息和属性信息分离存储,所以称之为“基于文件”,其由*.shp、*.shx、*.dbf三个主要文件组成。*.shp:存储的是几何要素的空间信息,即XY坐标;*.shx:存储的是有关*.shp存储的索引信息;*. dbf:存储地理数据的属性信息的dBase表。

以地震行业统计的点数据Excel文件为例,Excel工作表中包括若干属性列,其对应Shapefile中的*.dbf文件,即存储地理数据的属性信息;最后两列为X、Y经纬度坐标,其对应的Shapefile中的*.shp和*.shx文件,即存储地理数据的是空间信息。

通过对两种数据分析不难发现只要做到Excel每条记录与Shapefile文件每个点的属性信息与空间信息的一一对应,即可完成两种数据的无缝转换。

3.2技术路线

Excel数据与GIS空间数据转换技术的研究方法是采用MVC设计模式,即“模型建立―算法研究―系统实现”的思路来组织的。首先按照城市震害系统需求规范建立的GIS空间数据模型搜集廊坊地区的各种属性和空间数据,例如医院、学校、小区、4S店、公园、立交桥、公司等企事业单位的Excel数据文件,其次通过C#.NET结合VBA接口与OLE技术编程实现对廊坊地区空间、属性数据“剥离―重组”(图1所示)―――即利用C#.NET与Office办公软件提供的VBA接口将Excel文件中的属性数据与空间信息进行剥离生成自定义Txt文件;然后将生成的自定义Txt文件通过OLE技术形成由*.shp、*.shx、*.dbf三个主要文件组成的GIS空间数据Shapefile文件。转换分两个阶段,依次为Excel-Txt转换和Txt-Shapefile转换。转换过程的关键是Excel每条记录到Shapefile文件每个点的空间信息与属性信息的一一对应,最后完成廊坊增量式空间数据信息更新,提高城市震害预系统的数据处理和更新速度。

3.2.1数据准备

由于地震行业数据汇总的Excel文件较多,提交的数据比较乱,为保证Excel数据与GIS空间数据Shapefile文件的无损转换,需要对Excel数据在坐标属性字段上重点检查。由于空间信息数据是依赖坐标信息进行转换的,坐标信息关系到转换后Shapefile数据对应的具置,因此转换前的Excel数据必须都要有坐标属性字段,且坐标信息正确无误。

3.2.2Excel-Txt转换

此阶段的目的是实现对Excel数据的空间信息与属性信息剥离,按照空间信息属性字段的值提取“Point”信息,逐行存储到临时文件Point.Coo中,按照其他属性信息字段的值提取“Property”信息,逐行存储到临时文件Property.Att中,即可建立Excel数据到GIS空间数据Shapefile文件两者关系。

3.2.3Txt-Shapefile转换

此阶段的目的是实现Point.Coo和Property.Att文件中的空间信息与属性信息存储到GIS空间数据Shapefile文件中。首先创建一个新的Shapfile工作空间,其次将 Point.Coo和Property.Att中的信息通过数据流对象转化并存储到Shapfile工作空间中进行保存。通过上述两个阶段的转换,数据即完成了Excel数据到GIS空间数据平台的转换。

四、小结

当然,通过几个项目的实践,对这两种数据转换过程中的一些实际问题也有了更深层次的了解与把握,为便于其他项目借鉴,主要总结了如下几点。(1)Excel-Txt转换模版中,对Excel文件数据格式要求较为严格,在以后的数据汇总中需要形成一套比较完整的数据模板,这样就能避免转换前的大量数据检查工作,确保转换后的空间信息正确,有利于各个地区间数据整合。(2)在基于Excel的点空间信息文件与GIS空间数据Shapfile的数据转换过程中以IO数据流文件作为桥梁,小数据量的数据转换对系统的影响不大,若遇到海量数据转换需改进中间介质。(3)现在仅完成了基于Excel的点空间信息文件与GIS空间数据Shapfile的数据转换,基于其他几何信息的Excel的空间信息文件模板有待确定,最终可借鉴点信息的转换思路进行转换。

参考文献

[1]殷志杰.一种基于VB的Excel与Access间的数据转换技术[J].科学论坛

[2]伍云,张东. XML与关系数据库的数据转换接口的实现[J].电脑开发与应用,2007

[3]陈立,罗传文,余向勇,赵庆丹,孙海洪.基于AE和C_的帽儿山CAD用图到GIS数据转换[J].森林工程,2010

[4]马永昌,李建民.基于的AutoCAD数据转换技术研究及应用[J].测绘与空间地理信息,2010

[5]宋丙剑,张艳军.记事本、Excel在Mapsource和Mapgis数据转换中的应用探讨[J].矿山测量,2008

上一篇:SDH传输网络的维护与优化探析 下一篇:公安边防部队云终端桌面办公解决办法