姚冰
摘 要:本文通过对CASS、MapInfo数据格式的分析,采用FME数据转换机制,阐述一种基于FME实现CASS数据到MapInfo数据的无损转换技术。以一幅1:10000的CASS地形图为原数据,进行实例证明,结果表明:转换模型实现了CASS与MapInfo数据间的无损转换。
关键词:CASS;GIS;MapInfo;FME;数据转换
1 引言
近年来,随着地理信息系统对地理空间数据的处理速度与能力取得突破性进展,数据的转换和共享显得日益重要。但仍有许多用户会在不同GIS系统间移植空间数据时遇到较大的困难,造成这种困难的主要原因在于空间数据格式及模型的多样性,在进行多种数据格式的相互转换时往往需要做大量的软件开发和很多重复的数据处理工作,即使这样,也常常容易造成信息的丢失。目前使用的各种转换工具虽然能够将大部分数据转入地理信息系统, 但还存在数据的损失和图形数据与属性数据不一致等问题。为了高效地建立地理信息数据库,经常要将各类数字地形图数据转换为符合GIS要求的数据。所以如何实现数据格式的无缝转换,最大的利用其数据共享功能,成为目前GIS数据建设的主要问题之一。
2. 基于FME建立MapInfo数据库
2.1 FME软件
FME(Feature Manipulate Engine) Suite软件它可用于读、写、存储和转换各种空间数据,具有对空间数据进行操作的功能。FME基于OpenGIS组织提出的新的数据转换理念“语义转换”, 其实质是根据OpenGIS的规则,建立一个非常详尽的包含了大量的GIS数据模型。然后按照OpenGIS的数据模型与各类数据格式和数据模型的对应关系,在任意两种数据格式之间建立更宽的“数据通道”,使得任意两种数据格式和模型之间可以进行最大限度不丢失信息的相互转换和表达。实现了超过100种不同空间数据格式(模型)之间的相互转换[1]。
为了实现要素的格式转换,把空间要素看成是与二维或三维图形相关联的一组属性名称和属性值的集合对属性的类型和属性值没有任何限定,属性名由一个或者多个字符组成典型的数据转换由一系列规则进行控制,它们指定了数据转换的原则和变换操作对于存储在不同系统的不同格式的数据可以进行下列操作:①联结多样数据源转换为一种目标数据格式;②在不同的系统间建立连接;③通过互操作延长传统系统的生命周期;④在基于系统和系统间进行数据交换;⑤提供高质量的空间数据转换。
2.2 基于FME建立MapInfo数据库的方法
运用FME软件对数据进行转换和处理前,应对需要处理的数据进行必要的分析。分析后发现存在许多问题,如房屋大多未闭合,许多实体没有属性或者属性错误,而且还存在许多没有属性的残点,其结果会导致转换后的图形根本不能在MapInfo中清晰地区分空间图形实体,并且在入库时也不能将CASS所提供的实体编码与系统所设计的编码对应起来。这些问题对于将来要进行的基于基础数据GIS空间分析是必须要避免和消除的,否则将影响到空间分析结果的可信度,因此必须对图形数据进行标准化工作,包括以下几方面:将CASS图形数据进行正确归层并将所有地物加入实体编码、面状地物闭合、属性完整性检查、构造辅助边界(闭合)、连接线状要素、注记修改、删除不合理点、线、面和重复实体 、自检等。
接下来运用FME Universal Viewer对CASS地形图数据检查其属性,将要转换的属性记录下来。
运用FME Workbench进行数据转换,需要设计转换流程[2]。
3 建立实例
首先以一幅1:10000地形图为原数据,分别运用CASS软件对原数据分别进行矢量化、预处理。然后利用FME Univesal Viewer检查CASS地形图的属性、运用FME Workbench设计转换流程进行数据转换。最后,利用MapInfo通用转换器以GDX为例进行直接转换,比较其与FME转换的优缺点。
3.1 CASS预处理
(1) 对于点、线、面数据,均需要检查数据的层、颜色、代码等是否出现错误,并修正其错误。
(2) 对于点、线、面数据,均需要检查要素的固有属性(如果有),检查数据的有效性,例如点数据需要检查高程点和比高点的高程值等;线数据需要检查等高线的高程值、水系和道路的名称等;
(3) 对于点、线、面数据均需要检查要素注记,例如点数据的高程注记、控制点注记,其他说明注记等是否完备;线数据的等高线注记、水系和道路名称,其他说明注记等是否完备;面数据的行政区划名称、植被区名称,其他说明注记等是否完备,以及这些注记与所注记的要素的间距是否合适,这些注记可以导入到要素的属性中。
(4) 因注记与其他要素相交而断开的线性要素,应根据需要进行连接;因注记与其他要素相交而断开的面状要素,应根据需要进行封闭。
(5) 对一些没有明显边界的面状要素,如植被、土质等,可人工添加辅助封闭边界,用于构面。
(6) 自检。得到的经过与处理的图如下
3.2 FME软件实现CASS与MapInfo的数据转换
(1)使用中间软件FME进行数据转换前,运用FME Universal Viewer进行分层查看并记录CASS地形图的地图信息中包括点、线、面要素信息及注记等属性,点状要素:需要连接的属性有GB、NAME,高程点需要ELEV;线状要素:需要连接的属性有GB、NAME、TYPE,等高线需要ELEV,如果是辅助线只需要连接GB;面状要素:需要连接的属性有GB、NAME、TYPE特别要注意确定是否是面状要素,若是由于源数据不规范,本应该是面状要素却是线状要素的时候需要在FME中进行构面;注记:需要连接的属性有GB、NAMSIZE、FONT、ANGLE。
(2)运用FME Workbench 对CASS数据的每一层设计数据转换的流程。其中主要应用到的函数有Jioner、Geometryfilter、GeometryCeocer、Atributefilter、AtributeCeater等等[3]。
得到用MapInfo查看数据导出情况,出现下图转换成功。
4 总结
采用FME进行数据格式的转换,较以前直接用GIS软件平台自带的转换工具进行数据的转换,然后进行大量的人工处理工作,其效率有很大提高;它能够进行大批量数据的自动处理,而且不会出现数据要素失真、属性数据部分丢失等现象。实例证明,本文提出的基于FME的GIS到CAD“无损”数据转换模型,实现了对空间数据和属性数据快速、无损的语义转换,充分利用了GIS强大的空间数据库支持能力和CAD强大的图形编辑功能,为地图数据的操作和空间数据的维护提供了可行的解决方案,对实现数据的共享具有重要的理论与现实意义。
参考文献
[1] 谭夏梅.AutoCAD与MapInfo的数据分析与图形数据转换[J].机床与液压,2004(3):140-141
[2] 车志强,宋春燕.AutoCAD向MapInfo的转换[J].土工基础,2004,18(6):58-60
[3] 张超.地理信息系统实习教程[M].北京:高等教育出版社,2001