肖德勋,王戈飞,岳亚亚
FME在空间数据批处理中的应用分析——以第三次全国国土调查为例
肖德勋1,王戈飞2,岳亚亚1
(1.北京吉威数源信息技术有限公司,北京 100000;2.黄河勘测规划设计研究院有限公司,河南 郑州 450003)
第三次全国国土调查是一项在全国范围内查清自然资源情况和土地利用现状的国家项目。在第三次全国国土调查工作中,海量的空间数据需要被处理、整合和分析。结合FME在数据转换、处理和分析方面的特点和优势,对FME不同形式的批处理方式进行了分析,经验证,FME的批处理方式简便、高效、快捷,以期对其他空间数据处理项目提供借鉴。
FME;空间数据;第三次全国国土调查;批处理
第三次全国国土调查(下简称“三调”)是在第二次全国国土调查调查(下简称“二调”)成果的基础上,在国家统一制定标准的前提下,在全国范围内利用遥感技术、测绘技术、互联网等多种技术手段,全面查清并掌握翔实的全国国土利用现状和自然资源变化情况,进而实现成果信息化管理与共享,从而满足生态文明建设、空间规划编制、供给侧结构性改革、自然资源管理体制改革、自然资源确权、国土空间生态修复以及空间治理能力现代化等各项重大项目的需要[1-2],因此“三调”工作的重要性不言而喻。
正因为“三调”工作的重要意义以及牵扯到的部门繁杂、专业繁多,因而导致各种不同类型、不同地理基础、不同范围的空间数据晦涩复杂,难以处理,将这海量的空间数据进行批量转换和处理,是“三调”工作必须要解决的首要问题。而FME在空间数据处理方面具有天然的优势和特色,本文结合FME的特点,详细阐述FME在第三次全国国土调查中空间数据批处理中的应用。
FME软件(Feature Manipulate Engine,简称“FME”)是加拿大safe software公司开发的空间数据转换处理系统,它不仅能够实现各类数据读写、转换、存储和分析等功能,并提供了完整的空间ETL(Extract-Transform-Load)解决方案,该方案以OpenGIS组织提出的“语义转换”处理概念为基础,提供了400多种转换器,支持200多种空间、非空间数据的转换和处理,其数据类型包括shp、dwg、tiff等,为快速、高效的数据处理提供稳定可靠且便捷的方案[3-4]。
FME产品体系具有6个功能模块:①FME Workbench是最主要也是最常用的模块,在用户实施数据转换时,只需要在面板中设置数据转换所必备的参数,即可通过对过程的控制来转换和处理复杂数据任务,并且能够可视化地实现属性信息和空间信息的对应关系,也可以通过该模块来实现删除和合并文件等功能;②FME Quick Translator是FME的重要组成部分,采用拉拽方式即可实现上百种空间数据的处理和分析工作;③FME Data Inspector模块主要用于预览不同格式数据,在使用FME Workbench的过程中科院随时对转换流程进行可视化检查,从而保证转换过程的正确性;④FME Plug-in(SDK)是FME开发组件,开发人员能够利用该组件访问FME强大的语义核心,根据用户需求定制特定数据格式,并能被所有的FME用户所采用;⑤FME Object API为开发接口,支持C++、Java等多种开发语言,使用该模块能够将FME的数据访问功能定制在应用模块中,从而增加数据的读写及处理功能;⑥FME Application Extenders模块为用户提供了一个可直接访问多平台地理信息系统及数据库格式的应用。
与此同时,FME具有强大可靠的数据转换功能、性能超强的数据兼容功能、清晰直观的可视化界面、丰富多样的空间数据处理功能、开放性的接口类型,同时支持海量数据处理,通过FME来设置批处理的模式能够完成对成千乃至上万个数据文件的高效处理[5-6]。
空间数据处理既有单文件的转换,例如删除字段、转换投影、按比例缩放等,也涉及到多文件的转换,例如空间数据关联、空间数据裁剪等功能。
基于FME灵活的操作方式,批处理单文件空间数据的方式常用的大致为两类,以空间投影转换为例。
3.1.1 利用Batch Deploy功能
在主界面打开Generate Workspace功能,在Reader中选择位于批量处理数据中的单条数据,在Writer中制定输出文件目录,并将工作流选项设置为动态模式。以进行空间投影转换为例,在主面板中输入EsriReprojector,按要求设置好源数据坐标系和目标数据坐标系,设置完成后保存该工作空间.fmw,点击位于菜单栏Run下面的Batch Deploy选项,根据操作指引,在源数据位置选择文件夹及子目录,并制定目标路径,其中,选择是否勾选保留文件夹名称还可以在目标文件夹中生成和源数据文件夹中一模一样的子文件夹,方便管理和输出。但需要注意的是,如果文件夹名字过长,虽然不影响正常结果的输出,但可能会生成警告和错误信息。
3.1.2 直接利用动态模式
除去使用Batch Deploy功能以外,可直接在工作面板添加Reader读模块的时候选择multiple folders/files,选取源文件中的所有文件夹,同时在工作流选项中选择单一融合数据模式Single Merged Feature Type,输入转换器之后,在Writer写模块的时候选择动态模式定义,运行工作空间即可得到结果。但是会直接放在母文件夹中而不会像源文件一样创建子文件夹,如果想实现同样的效果,需要在导航窗口中的目标文件夹的Fanout表达式中选择fme_feature_type,这样就可以生成与Batch Deploy一样的子文件夹格式。
两种方式对比,第二种明显更为简单,但如果想要生成与源数据文件夹一样的格式,需要单独设置Fanout选项。此外,值得注意的是,两种方法都必须设置为动态模式,如果不采用动态模式,FME将只进行所设置的单个文件的转换,无法进行批量处理,更无法达到预期效果。
涉及多数据文件的批处理流程时,采用Batch Deploy同样可以,但采用WorkspaceRunner更为方便,考虑到上文已介绍过Batch Deploy,此处将详细介绍WorkspaceRunner转换器,WorkspaceRunner是从一个工作空间调用另一个工作空间的转换器。多数据文件的批处理,以空间数据裁剪为例。
空间裁剪转换器Clipper同时需要两个输入端口Clipper和Clippee,此处将Clipper指定为固定的矢量裁剪范围,而Clippee为多个矢量要素,在Reader读模块中,选择多文件夹选项,并在工作流选项中选择单一融合要素类型,在Writer写模块中务必选择dynamic动态模式,设置好转换器参数并保存(本文中为BatchClip.fmw)。
WorkspaceRunner转换器通常与Directory and File Pathnames读模块连用,开启一个新的工程,选用Directory and File Pathnames读模块,在参数中选择*shp,并选择遍历至子文件夹选项,通过该模块可以遍历符合格式的矢量文件。设置好后输入WorkspaceRunner转换器,选择BatchClip. fmw,其中Clipper选择矢量范围,而Clippee选择path_ windows,即固定范围选择某个指定的矢量文件,而需要遍历的文件选择path_window,path_windows,即被遍历文件的全路径,通过调用path_windows,不断执行WorkspaceRunner中选择的转换器,这样就可以实现多文件进行批处理的预想效果。
另外,在WorkspaceRunner转换器参数中,如果将Wait for Job to Complete设置为Yew,则FME将会等待每个进程完成后再开启下一个进程,每次只有一个进程。如果设置为No,则可设置最大并发进程数(Maximum Number of Concurrent Processes),设置的数值将是任务管理器中fme.exe进程的数量,并能根据需求对每个进程中启动工作空间的数量进行指定。
同时,在执行WorkspaceRunner转换器时,可连接logger转换器,更方便直观地看到转换日志效果。
空间数据批处理是“三调”工作中必须面对的问题,本文以“三调”中常见的数据处理过程批量投影转换和批量空间裁剪分别代表单文件和多文件的批处理模式进行分析,并给出实现过程。单文件的批处理较为简单,直接在工作空间选取多文件夹并设置为动态模式即可,而Batch Deploy和WorkspaceRunner方法均可用于单文件与多文件批处理,但WorkspaceRunner采用转换器的形式,更为灵活,通过对路径进行更多的操作能够实现更多的效果,同时采用命令行也可在FME中实现批处理,但没有上述方式直观便捷。利用FME的空间数据批处理功能能够极大地提高工作效率,且灵活、简便、高效,希望对其他的空间数据转换过程提供借鉴。
[1]许风亮,苏强强.浅谈FME在第三次国土调查前期数据准备中的应用与研究[J].经纬天地,2019(2):40-44,48.
[2]张瑜伟,王丹,朱文.FME软件在第三次土地调查中的应用[J].现代测绘,2018,42(6):61-63.
[3]曾传俊, 李莲芳, 褚睿涛. 基于FME的DWG图形转换[J].测绘通报,2019(Suppl 2):275-277.
[4]郝璨,石丽红.基于FME的OpenstreetMap数据分析提取[J].测绘与空间地理信息,2020,43(1):63-67.
[5]任俊儒.基于FME的GIS数据处理研究[D].北京:中国地质大学,2015.
[6]蔡婧.基于FME的分幅地形图转换研究[D].武汉:武汉大学,2019.
P208
A
10.15913/j.cnki.kjycx.2021.08.074
2095-6835(2021)08-0178-02
肖德勋(1988—),男,辽宁朝阳人,本科,助理工程师,项目经理,研究方向为自然资源。
〔编辑:严丽琴〕