浅谈FME在林业资源数据处理中的应用

2020-12-16 00:24邵保华袁显磊
中国林副特产 2020年6期
关键词:数据格式数据处理要素

邵保华,袁显磊

(1.黑龙江省林业监测规划院,哈尔滨 150080;2.黑龙江省林业科学研究所)

1 FME应用背景

近些年,国家正大力推动各行各业的信息化发展进程,林业也不例外,“数字林业”正是国家推动林业信息化发展的具体体现。如今的林业生产经营管理模式随着林业信息化的推进,新技术,新思路,新方法的引进正逐步发生着变化。作为一名从事林业信息化建设工作的具体工作人员,在我参加工作的十多年时间里,林业资源调查从背罗盘仪找样地,在纸质介质上记录小班调查信息,外业结束回来后在BASIC编制的程序中用一台386机器进行数据录入工作,用Excel电子表格进行一些统计报表的计算,发展到如今使用PDA进行外业数据采集,PDA上装载了高精度的影像资料,可以直接在其上进行林业区划和勾绘,并且安装有一套系统的数据采集软件,不仅可以存储大量小班信息,而且还有实用的逻辑检查、空间拓扑检查等质量控制功能。新技术、新方法在林业生产实际工作中发挥了巨大的作用,不仅提高了劳动效率,还在一定程度上节约了生产时间,生产经费。

林业信息化建设对数据的质量提出了更高的要求。从早期单一的线划图发展到如今多源,多层次的数据。(这里指的数据是广义上的,不仅仅指地理信息属性数据)并且对数据的空间几何关系,属性内部逻辑关系等都有了更高的要求。随着采集的数据量越来越大,对数据的处理就越来越重要,其中的一些问题也逐渐显现出来,比如数据的格式需要在各种不同的GIS软件中转来转去,数据自动化处理的程度不高,海量数据处理耗时长,数据检查出的错误修改费时费力等。很多商业GIS软件公司,科研院所也在探寻良好的解决方案,比如ESRI公司的自动化地图生产扩展插件,云GIS;Safe公司的FME软件等等。本文所要介绍的就是加拿大Safe公司的FME软件。

2 FME简介

FME,全称为Feature Manipulate Engine(要素处理引擎)。是加拿大Safe公司开发的一套完整的空间数据解决方案。它能实现不同GIS数据格式的无损读写和转换,以及数据重构和质量控制,不同数据的相互整合,自动化数据处理等等。通过Python脚本语言的引用,它还能实现用户自定义的变换和对变换过程更细微的控制。FME是由几个软件组成的一个套件,有专门浏览各类GIS数据的浏览软件,有可以快速在各种GIS数据格式之间进行格式转换的软件,还有功能更细化,可以利用参数控制更多转换细节的工作台软件。FME的转换控制主要是通过其提供的上百个Transformer(变换函数)实现的。

FME产品主要功能模块介绍:

2.1 FME Workbench

当用户定制自己的数据转换时,利用FME Workbench模块,只需要在直观的界面中“指指点点”就可以轻易完成非常复杂的数据转换任务,而且数据转换质量非常理想;能够可视化地定义从原数据到目标数据的对应关系(属性和图形);同时还可以使用该模块进行不同格式数据源的合并工作。

2.2 FME Universal Translator

该模块是FME的旗舰产品,是一个独立运行的强大的数据转换程序,采用drag-and-drop界面,用户可以轻松地、精确地转换、存储100多种不同格式的数据,用户也可以完成比较复杂的数据处理过程,比如给数据加属性值等。

2.3 FME Universal Viewer

该模块用于快速预览不同格式的数据。用户可以在使用Workbench或Translator.模块时,在做数据转换之前预览转换数据(属性和图形)。

3 FME在林业资源数据处理中的应用

以下将通过几个具体实例来介绍FME在林业资源数据处理中的应用。

3.1 各种GIS数据格式的相互无损转换

在林业实际生产过程中,我们常常会遇到此类问题。比如近年来的林地征占用业务,开发和建设单位往往习惯于用AutoCAD来进行工程制图,在制作相应的林业专题图时,我们需要的一些数据是在AutoCAD的工程文件中,这时我们往往需要做一系列繁复的转换过程才能将数据导出ArcGis可以编辑的格式,将CAD文件导入其它平台,再进行繁杂的加工,建立拓扑,去除悬挂节点,导入属性,转换坐标系统等,同时这种转换很多时候是会丢失一些信息的。这种信息的丢失很可能会导致最终的转换成果在目标环境中不能使用,导致转换工作失败。除了需要从AutoCAD转换到ArcGIS,我们可能会还需要从MapGIS转换到ArcGIS,Google Earth KML转换为Shape文件等等诸如此类的不同GIS数据格式之间的相互转换,而且我们还需要这种转换不能丢失任何数据。FME就能轻松解决此类问题,FME支持超过250种主流的GIS数据格式,并且支持它们之间的无损转换。而且这种转换,如果你不想过多介入转换过程,你可以选择快速转换软件,如果你想更多的控制转换细节,比如转换的中间过程你想加入一些处理过程,那你可以使用FME套件中的Workbench模块。

图1 不同数据格式之间相互转换

3.2 林业资源数据的质量控制

外业采集回来的数据虽然已经经过初步检查,但为了满足林业信息化建设对数据质量的高要求,只有符合了更多质量要求的资源数据才能进入资源数据库中。比如我们需要检查数据的以下特点:

空间几何特征,数据是否在正确的空间位置;

要素的符号特征,颜色,类型,符号等是否一致,符合规则;

数据的属性域是否在规则要求的范围内;

要素类型是否正确,要素是否存在冗余;

要素包含的数量是否正确,要素属性之间的内在关系是否符合要求;

ISO 19100系列标准定义了国际上对于GIS数据的质量检查标准[1]。

FME提供了很多用于质量控制的transformer(变换函数),现列举其中一个比较典型的函数:MRF2DCleaner。之所以说它典型,是因为这个函数可以说是一个函数包,它包含了很多单独用于数据质量控制的函数,这个函数是需要额外付费使用的。它基于MRFCleanFactory建立,使MRF清理技术集成到FME上。MRF2DCleaner函数可以修补输入数据的几何问题,特别是把数据从CAD转移到GIS的时候,如线超过或小于用户指定的容差。对于多图层和多容差二维数据清理是非常有用的。典型应用包括地形图和资源数据的修正,并把修正后的数据从一个系统转移到另一个系统。MRF2DCleaner包括下面的功能:

fuzzy tolerance

extending lines

weeding lines

joining lines

processing short elements

removing gaps

removing duplicates

removing dangles

performing conflation

函数执行参数设置窗口如下图所示。

图2 MRF2DCleaner函数参数设置窗口

几点说明:

如果Remove Duplicate Geometries设置为Yes,重复的要素被删除。如果要素的几何在容差范围内,被认为是重复的,只有使用一个较小的容差,要素才会在清理后保留。

如果Generalize Lines设置为Yes,一些线的顶点被移除。移除的顶点的数目由(Filter Factor -tolerance)或(Filter Factor -value of Feature Tolerance Attribute)值的赘点容差控制。在后者有效或者要素容差属性被指定时,总是使用后者。赘点容差的值越大,移除的顶点越多。

如果Remove Dangles被设置为Yes,那么要素有至少一个自由的端点,小于(Dangle Factor -tolerance)或(Dangle Factor-value of Feature Tolerance Attribute)的长度被移除。Dangle Factor默认的值为1.0,最小值为0.0。

3.3 林业资源数据处理的自动化

在对小班面状数据进行拓扑检查时经常会遇到很多我们不需要的碎面的问题,有时候这个碎面的数量非常庞大。如果依照以往的解决错误方法是挨个检查碎面及其相邻面以选择将碎面融入哪个相邻面。可以想象,这个人工工作量将有多大。ArcGIS的Eliminate工具允许所选碎面融合进相邻共享边较长或面积较大的面内。然而,美中不足的是,该工具融合条件不包含属性字段,比如跨行政区融合图斑;同时,与绝大多数ArcToolbox工具一样,该工具的结果是生成新要素集,不能直接针对原数据集进行更新操作。这时我们可以使用FME来将这个处理过程自动化。首先将属性字段作为“choice or text”类型发布到参数区,然后设置两个Spatial filter函数,第一个空间位置过滤函数找出与碎面相邻的其它面,作为融入的对象;第二个空间过滤函数选出原输入碎面中与上一步选出的相邻面接触的部分。下一步需要将上述筛选出来的碎面转化为线要素,然后与相邻面进行叠加处理,再按要素ID(以原碎面OID属性)分别统计叠加后线段的长度并取最大边长,通过LineOnAreaOverlayer将相邻面的要素ID传递给最长共享边,并将该字段设置为融合标记,分别通过各自原有要素ID关联(FeatureMerger)给碎面及相邻面。最后创建相应要素fme_db_operation对两个不同的输出结果分别给予DELETE和UPDATE,执行操作即可得到最后结果。

4 总结

FME提供了上百个变换函数,不同的函数有不同的应用条件,除了上述的三点应用外,灵活组合这些函数还可以解决很多林业资源数据实际生产处理中的问题。上述功能都是在FME desktop 版的软件中的实现,FME 除了有Desktop版外,还有Server版,Server版除了有Desktop版的功能外,主要是为大规模企业应用提供数据转换服务。FME应该说是强大的,笔者也只是刚刚接触FME,越深入越发现它的强大。在以后的林业资源数据的处理工作中,不断挖掘FME的功能使其能更好的帮助具体生产人员提高工作效率,减轻工作强度,促进生产发展,实现数据共享、提高生产管理、数据服务和数据管理等的信息化水平,最终实现林业信息化建设又好又快的发展目标。

猜你喜欢
数据格式数据处理要素
认知诊断缺失数据处理方法的比较:零替换、多重插补与极大似然估计法*
基于低频功率数据处理的负荷分解方法
无人机测绘数据处理关键技术及运用
掌握这6点要素,让肥水更高效
MIT—BIH心率失常数据库的识读
基于RFID的户外广告监管系统的设计与实现
基于MATLAB语言的物理实验数据处理探讨
一种融合多业务的信息化系统框架研究
也谈做人的要素
2015年8月债券发行要素一览表