杜 辉
(中国铁路设计集团有限公司,天津 300142)
近年来,地理空间数据已经在经济、社会生活中发挥了重要作用[1-2]。在铁路基础设施建设中,地理空间数据也起到了不可替代的作用[3-5]。地理空间数据主要以空间数据库的形式存在,其主要特点是方便存储和更新,但无法直接应用于铁路工程勘察设计。因此,从数据库向AutoCAD的地图转换是工程建设中常见的问题,也是数据挖掘(或称为地理信息深加工)[6-7]的必由之路。
相较于栅格数据,矢量数据的数据紧凑,冗余度低,但是其结构复杂,读取和转换较为困难[8],重复采集的现象时有发生[9],造成了许多人力、物力的浪费。
目前,地理空间数据向AutoCAD的地图转换研究已经在转换原理、转换方法等方面有了较大的进展[10-14],但是尚没有提出针对不同复杂程度的地理空间数据库向AutoCAD地图转换的系统解决方案。
面对转换数据需求量大、任务紧急等现状问题,提出快捷高效的数据转换解决方案十分必要。可先从简单地理空间数据集的转换入手,再涉及中型地理空间数据集、大型数据库的转换技术研究。最后,系统地提出地理空间数据库向AutoCAD的地图转换解决方案。
铁路工程建设中,简单地理空间数据集多为一定区域内的地理界线(例如行政区界)、专题信息界线(例如不良地质区域、自然保护区),或区域交通网等。这类数据集是遥感地质解译、遥感专题制图、区域路网规划等工作的数据基础。
这些数据集比较简单,图层字段少(如图1(a)所示),常以Shapefile格式存储(包括主文件*.shp,索引文件*.shx和属性文件*.dbf),其数据结构相对简单(非拓扑结构),占用存储空间少,读写速度快[15]。可采用直接转换的方式,不涉及属性的拆分与重组,在小型GIS软件平台(如GlobalMapper)即可完成转换[16]。如图1(b)为对某专用线收集到的环保、地质资料,进行从地理空间数据库向AutoCAD平面投影坐标系的转换。
图1 在GlobalMapper平台上进行简单地理空间数据集转换
Shapefile格式数据库转换遇到的另外一种情况是图层结构简单,但是地理要素种类繁多,如南美洲某铁路项目收集到1∶5 000和1∶25 000地形图近千幅,每幅图地理要素种类达120余个。如果采用逐图逐要素的输出方法是不现实的。因此,决定采用分区域相邻多图幅输入、合并输出的方式(如图2(a)所示),并采用FME平台,将同类要素输入到同一图层(如图2(b)所示)。如道路边线、道路尽头以及其他道路附属设施均归入道路层,提高了输出和后期编辑效率。
图2 图幅拼接及图层要素合并
有些简单的地理空间数据集也采用Mapinfo数据格式,这一类数据主要以表(Tab)的形式存储,其图层字段属性包含信息较多,转换过程中可以按某一字段属性进行数据扇出。数据分离(Split Export)设置和数据转换输出流程如图3所示。
图3 数据分离设置和数据转换输出流程
地理空间数据集一般采用大地坐标系,而工程建设需要将其转换为投影坐标系,即高斯投影正算。
已知某点在椭球面上的大地坐标(B,L),求其在高斯平面上的坐标(x,y),称其为高斯投影正算[17]。实用公式为
(1)
C0、C1、C2、C3、a、e2、e′2是与椭球参数有关的常数。
由式(1)可知,投影变换的精度取决于泰勒级数展开时近似项的损失以及椭球参数的选择,数据精度主要由原始数据自身精度决定。为确保地图可用性,应对转换成果进行精度验证。可采用高精度导航数据实施验证(如图4)。
图4 对转换后的地图数据进行精度验证
部分中型地理空间数据集采用ArcGIS Coverage格式存储,这类数据结构较Shapefile格式复杂。以西亚某铁路项目为例[18]:植被图层(Veg_a)输出时,除了轮廓线以外,还需要添加文字图层(name)作为植被注记;高程点层(Ele_p)输出时,除了输出高程点符号以外,还需赋高程值(Z_position)及增加高程注记(如表1)。
表1 属性字段映射关系(部分)
ArcGIS软件的FME Spatial ETL Tool工具可提供超过100种不同空间数据格式的相互转换。它不再将数据转换问题简单看作是从一种格式到另一种格式的变换,而是力求将不同要素合并输出,这种个性化的定制及输出过程可称之为语义转换[19],空间地理信息数据语义转换模型如图5所示。
图5 地理空间数据转换语义转换模型
经过数据分析及必要的语义转换之后,在FME Spatial ETL Tool中进行转换模块定义(如图6(a)所示),以及交通资料层的(Tra_l和高程点层(Ele_p)数据转换,如图6(b)所示。
图6 数据转换
大型地理空间数据库主要用来存储国家基础比例尺地图,数据量大,结构复杂,而且具有综合性、复杂性等特点,在数据转换过程中容易产生数据冗余。
(1)综合性
大型地理空间数据库图层种类齐全。以国家1∶50 000地形图为例,其包括定位基础、水系、居民地及设施、交通、管线、境界与政区、地貌与土质、植被层、地名及注记,分为9个数据类34个数据层,几乎涵盖了国民经济各部门关注的地理空间信息。
(2)复杂性
以国家2015年版1∶50 000地形图为例,GDB数据库分层的命名采用4个字符,第1个字符代表数据分类,第2、3个字符是数据内容的缩写,第4个字符代表几何类型。每个数据层具有1~11个属性。如公路层LRDL的属性见表2。
表2 LRDL公路图层属性(部分)
(3)信息与数据冗余
以国家1∶50 000地形图为例,GDB数据库包含34个数据类(53个中类、437个子类要素),每个数据类又包含若干属性,这些属性信息之间存在一定的信息冗余,如境界与政区的BOUA、BOUL的部分属性重复。另外,由于各行业应用的差异,部分数据在特征行业应用中没有实际作用。因此,在数据转换过程中,应该进行有效的过滤和重组。
3.2 大型地理空间数据库向AutoCAD的地图转换
以华北某铁路勘察设计投标项目为例,其基础测绘资料稀缺,收集到的MDB、GDB格式数据均采用大地坐标,无法直接用于铁路选线设计。可在FME软件平台上进行数据格式转换和投影变换,实现对各图层,类别,属性要素的解释、分解、重组和输出,该数据库系统庞大,后处理周期较长,其关键技术方案如下。
(1)数据版本的确认
MDB、GDB数据版本的变更,经常会导致数据读取失败。因此,在数据转换前,应该确认原始数据的版本。当待转换数据版本与转换模板的数据版本不一致时,需要在工作空间和读入函数中设置参数,如图7所示。
图7 数据版本的确定
(2)高斯投影正算的参数定义
待转换数据输出的同时,一般都要进行投影变换。FME提供了用户自定义坐标系模式,以此实现高斯投影正算,如克氏椭球1954年北京坐标系(中央子午线120°)的参数配置文件如下:
COORDINATE_SYSTEM_DEF 北京1954-120
GROUP ASIA PARM1 120
DESC_NM “BJ54_3d_120” ORG_LAT 0
DT_NAME BEIJING X_OFF 500000.000
PROJ TM Y_OFF 0.000
UNIT METER QUAD 1
EL_NAME KRASOV ZERO_X 0.000000001
SCL_RED 1 ZERO_Y 0.000000001
(3)处理数据冗余
为了避免重复输出点、线、面、注记要素,以及本行业不使用的图层。FME平台使用AttributeFilter函数对冗余数据进行拆分、过滤,再对过滤后的感兴趣数据进行重组[20],部分处理模块如图8所示。
图8 处理数据冗余采用的AttributeFilter函数
GDB原始数据如图9(a)所示,经过FME转换过后的数据如图9(b)所示,经AutoCAD图形编辑完成的地图成果如图9(c)所示。
地理空间数据库无法直接应用于铁路勘察设计,从数据库向AutoCAD的地图转换是铁路建设项目前期数据准备面临的重要课题。以南美洲某铁路、西亚某铁路、华北地区某铁路为例,对不同规模的数据库向AutoCAD的地图转换进行了归纳总结。不同规模的数据库宜采用不同的处理平台:简单地理空间数据集的转换可在小型GIS平台GlobalMapper下完成;中型数据集转换可采用ArcGIS平台嵌入的空间数据转换工具;大型、复杂数据库可采用FME实现;地理空间数据库具有综合性、复杂性,并且数据冗余普遍存在,在行业应用中应该优先选取感兴趣的图层及属性字段,进行必要的语义重组,提高转换和应用效率。