数据标准化处理是测绘信息化建设的基础性工作,为切实提升信息服务质量,满足日益增长的城乡规划、建设、管理等领域的信息需求,我队在清华山维EPS2008地理信息工作站上开发了多尺度地形图自动缩编系统,并通过ArcSDE空间数据引擎实现数据动态更新。现有1∶2000地形图为2008年全市航摄获取,并建立了基于ArcGIS平台下的数据管理系统,由于此系统并未实现缩编和更新功能,而目前1∶500地形图数据是基于EPS平台生产和管理的,因此,如需实现1∶500到1∶2000地形图的自动缩编及1∶2000地形图数据动态更新管理,迫切需要建立一套多尺度地形图统一的数据管理平台。
在建立1∶2000新数据库的同时,需要按照一定的对照关系和数据处理原则将原有ArcGIS数据库内的图形数据和属性信息无损地转换到EPS数据库中,最后实现动态入库及持续更新。参照新制定的《增城市地理空间数据入库标准》,完成编写EPS编绘模块中的代码及符号,本文就基于ArcGIS的SHP数据与EPS的EDB数据之间的转换方法和处理方式进行了探讨。
1数据的转换流程
原ArcGIS数据已完成了入库前的初步检查,基本做到了层码标准合法性,点线矛盾,线面边界一致性,接边整理统一性等检查。但也存在部分空间要素与属性关联不一致,各类注记不够规范,空间对象缺乏整体性,对象间的拓扑关系错乱等现象。因此,原数据库导出SHP格式的图幅数据在转换EPS平台的EDB数据后,需要做进一步的处理和检查,再利用空间数据引擎ArcSDE,重入Oracle数据库。根据现有数据的特点分析结合新数据入库需求确定一套数据处理的技术流程,如图1所示。
2数据转换基本要求
按照数据标准以及EPS系统的要求,根据其要素代码及实体类型,表达方式需要进行转换,图形要素也需要做相应的编辑整理,确保入库数据检查前各要素编码正确,各类文字注记正确,分类分层无误,具体分为以下几类。
2.1数据转换要求地物符号映射表及转换程序的编写要严格按照数据标准要求来写,充分结合原有数据和转换后数据的结构特点、绘图方式和检查入库要求来考虑。数据转换后所有地物的编码确保为正确的6位码,图中存在有其它的如编码为0的点、编码为1的线、编码为2的面,或其它编码位数大于或小于6位的地物都为不合法的数据。
2.2点状要素处理主要指控制点和高程点的处理。EPS提供了脚本将控制点注记、高程注记与控制点、高程点链接成为一个整体对象。在数据转换进入EPS系统时已经自动进行了脚本匹配,但也有个别注记缺失或者距离太远导致未能匹配成功,此时需要人工干预处理,使之形成一个整体。
2.3线状要素处理对于有特殊符号表示的线状要素,需要对其进行整理、合并、调整编辑,以保持其一致性与完整性。在EPS系统中,需要将一根电力线对象完整表示,因此需要对现有线状数据进行合并以及节点的调整,还有符号的显示设置等。对于带方向的线型要素,例如铁路、陡坎等,要注意保持其方向的一致性。
2.4面状要素处理在EPS系统中表现为面状元素。通过对面状要素的整理、合并、调整编辑,以保持地物对象的一致性与完整性。
2.5属性处理控制点、高程点的属性可通过注记转入,大部分已通过脚本转入,个别点还需检查。房屋属性是挂在房屋面上的,需要先生成房屋面,再通过“提取房屋属性”脚本将楼层、结构信息写入房屋面属性。
2.6注记处理将道路名、水系名、地名等散列注记要素合并为一个整体。在转成EPS格式过程中,绝大部分散列注记已经合并,还需要对个别合并出错或未能合并的注记要素人工操作处理进行合并。有方向的文字注记转换时一定要读取角度值及注记中心坐标位置,以免错位。原数据字体或字大分类不正确,以致于对照转换时的注记字体错误,只能通过人工逐个纠正,如水系、山名、单位名。位于图幅边界处有多个结构注记的房屋,应保留所有的结构注记,并将其中一个结构注记分类设为“298100”,其余的设为“298200”,满足出图需要。对于跨图幅的水塘等其它地物,同样需要保留相应的注记。
2.7接边处理对于图幅之间的接边处理,应遵循对象的一致性与完整性原则,保持线状要素、面状要素、注记要素等的完整性和一致性。
3数据转换关键技术
3.1数据转换编写EPS平台下的VBScript脚本二次开发语言调入原有ArcGIS导出SHP数据,通过编码符号映射模板,尽量做到数据转换的完整性和逻辑一致性。EPS地形要素分类代码由六位数字码组成,地形要素分类共为九大类。对照表采取关系数据表多对一的方式实现,如图2所示。
3.2数据处理转换后的EDB数据,通过VBScript脚本语言做数据批处理,如重复对象处理、单点变两点处理、删除多余数据、结点取舍处理、删除面内点等。(1)重复对象。处理原数据本身重复的对象以及转换、接边处理过程中作业员误操作引起的重复对象。(2)单点变两点。处理的对象为把原SHP数据的点状地物加角度值转换为EPS平台下的线状地物,如水流方向、不依比例的涵洞、对称门墩等。(3)删除多余数据。删除EPS平台中不需要入库的原SHP数据,如图廓数据。(4)结点取舍。主要用于程序自动取舍小距离棚房短线,取舍图幅接边处及铁塔内、建筑物内的电线杆符号。(5)删除面内点。由于EPS平台下的部分闭合的面状地物会自动生成内部填充符号,构成一个整体,因此需要把转换后的面内原有点状地物删除,处理对象主要有烟囱、水塔、露天设备、亭子、庙宇、植被等地物。主要代码如下:
4数据质量检查
(1)图面目视检查导出DWG底图数据(与SHP数据一致),与转换后EDB数据叠加并把底图数据置成灰色加以判别,检查数据转换的完整性和正确性,结合EPS平台上的导航和过屏标记功能逐屏检查,直到图面数据与底图完全一致。(2)电子数据检查运行EPS软件的数据监理程序对数据进行全面检查,对于系统性错误,程序提供了自动批量修复,根据错误提示再逐一修改,直到全部检查项通过。1)标准化检查:检查数据是否符合数据标准。2)重复问题检查:检查数据部分重叠或完全重叠的情况以及回头线、线面重叠等。3)交叉问题检查:检查线自身、线与线、线与面、面与面、面自身的交叉情况。4)图形完整性检查:检查断线、散点、散注记等错误情况。5)属性完整性检查:检查地物属性是否准确完整。6)超限问题检查:检查地物长度、高程或属性等是否超限的情况。7)对象内信息或关联矛盾检查:如等高线高程矛盾,属性点与面间的关联关系等检查。
5结束语
此次ArcGIS数据与EPS数据之间的转换和处理共完成了全市1∶2000地形图1758幅,转换过程实现了尽可能的数据无损转换,用到VC++底层开发和VBScript脚本语言编写多个数据转换和处理程序,修改SSDataX数据转换模块和SSynthesizer地图综合模块。数据转换系统最大限度地完成程序自动批处理,在数据质量控制方面,采用图面目视检查结合电子数据综合检查方式,有效控制了由于转换和数据结构本身造成的转换前后数据一不致的情况,进一步完善了之前没有处理的数据拓朴关系的问题,基本做到了数据间无损失转换。随着GIS技术不断发展,各种GIS平台的数据转换也会越来越频繁,本次数据转换的实现为我队在数据处理方面积累的宝贵经验。