FME的基础操作.docx
- 文档编号:27246920
- 上传时间:2023-06-28
- 格式:DOCX
- 页数:42
- 大小:3.13MB
FME的基础操作.docx
《FME的基础操作.docx》由会员分享,可在线阅读,更多相关《FME的基础操作.docx(42页珍藏版)》请在冰豆网上搜索。
FME的基础操作
FME的基础操作
FMEDesktop的主要功能是实现空间与非空间数据的转换、变换和集成。
什么是数据转换
数据转换需要改变数据的格式以促进空间数据的互操作。
快速转换涉及得是数据格式的转换,没有任何自定义内容,即不带变换的转换。
练习1、使用QuickTranslator做格式转换
数据转换最简单的方法是使用FMEQuickTranslator。
数据源:
城市公园(MapInfoTAB格式)
总体目标:
将源数据快速转换成GML格式
FMEQuickTranslator主要用于执行一次性的数据格式转换。
按照以下步骤,使用FMEQuickTranslator执行一个简单的快速转换。
1.从Windows开始菜单中,选择开始>所有程序>FMEDesktop2011>FMEQuickTranslator。
启动FMEQuickTranslator。
2.从FMEQuickTranslator菜单栏中,选择文件>转换
弹出“设置转换参数”对话框。
3.在读模块格式文本框中,把读模块格式设置为TAB(MapInfoTAB(MFAL))。
4.点击读模块数据集文本框旁边的浏览按钮,导航到C:
\FMEData\Data\Parks。
5.选择文件city_parks.tab,点击打开。
6.在写模块格式文本框中,从写模块库中选择GML(GeographyMarkupLanguage)。
7.点击写模块数据集文本框旁边的浏览按钮,并指向C:
\FMEData\Output,设置输出数据集的名称Parks。
点击打开以接受这个输出位置。
8.点击确认。
恭喜!
你现在已经学会了:
●启动FMEQuickTranslator
●使用FMEQuickTranslator把数据从一种格式转换到另一种格式
什么是数据变换
数据变换是在格式转换过程中对数据进行操作的一种功能。
这种操作可以是对信息的增加、删除或修改。
变换既可以对空间数据也可以对非空间(属性)数据进行操作。
变换可以执行数据结构(如数据重组)或数据内容的变换。
数据变换的类型包括了结构变换和内容变换。
结构变换
在FME中,数据结构的变换是超越快速转换的一种方式,并且生成的数据可以被终端用户无缝使用。
这是数据互操作的关键需求。
结构变换的实例:
●增加和/或删除属性
●编辑属性名称和/或数据类型
●合并和/或分离不同的数据层
练习2、使用FMEWorkBench做结构变换
在使用Workbench前,阅读有关应用程序的介绍信息是很有帮助的。
FMEWorkbench用户界面如下:
1)菜单栏和工具栏
2)导航窗口
3)画布
4)转换器库
5)转化器描述窗口
6)日志窗口
注意窗口可以移动并停驻到不同的位置,因此并不是所有的FME安装都有完全一样的布局。
FMEWorkbench中的转换可以很容易的修改成数据重组,通过简单的编辑写模块要素类和/或调整其关联的连接。
数据源:
城市公园(MapInfoTAB格式)
总体目标:
在从MapInfoTAB到GML的格式转换过程中进行数据重组。
按照以下步骤,使用FMEWorkbench执行一个结构转换练习。
1.从Windows开始菜单选择开始>所有程序>FMEDesktop2011>FMEWorkbench.
FMEWorkbench启动,并出现FMEWorkbench开始标签页。
2.在GettingStarted中,点击创建工作空间…,等同于菜单栏工具文件>新建
3.弹出创建工作空间对话框,选择“生成工作空间”选项。
4.当打开生成工作空间对话框时,按下面的内容填写读模块和写模块文本框:
在读模块参数中定义要读取的数据和格式
格式MapInfoTAB(MITAB)
数据集C:
\FMEData\Data\Parks\city_parks.tab
然后填写写模块文本框:
格式GML(GeographyMarkupLanguage)
数据集C:
\FMEData\Output\TutorialOutput\Parks.gml
要命名数据集,导航到目录C:
\FMEData\Output\
在选择文件窗口上,键入文件名Parks.gml,然后点击保存。
5.确认选择默认的静态模式,然后点击确定。
现在,一个新的工作空间就创建好了。
6.单击读模块和写模块要素类上的箭头,打开要素类的用户属性列表。
第一个任务是重命名目标属性。
右键单击称为name的写模块属性,选择重命名属性。
7.输入ParkName作为新的属性名称,然后按下回车键。
因为FME是大小写敏感的,务必正确地输入属性和要素类名称,和教程中表示的名称一致。
8.重复此操作,将第二个属性由name_alt重命名为AltParkName。
整个过程称为模式编辑。
9、另一个模式编辑任务是把新属性添加到写模块模式中。
单击写模块要素类(GML:
city_parks)右侧的[…]按钮,打开要素类属性对话框。
单击用户属性页,获取用户属性列表。
10.单击AltParkName下的空白位置并输入“ParkSize”,创建一个新属性。
通过单击对应的向下箭头,设置ParkSize的数据类型为XML_Real32。
11.重复此操作来创建属性StreamEdge,以及类型xml_real32,然后单击确定。
当箭头为红色时,它表示端口没有输入。
但是,红色的输入箭头并不代表错误,因为有些时候你实际并不希望某个特定端口有输入。
这个时候不需要关心它,因为设置过程还没有完成。
下一个任务是为高尔夫球场创建一个单独的图层,因为在此例中,高尔夫球场需要额外的维护,并且必须作为一个特例处理。
12.右键点击写模块要素类GML:
city_parks,选择复制副本。
13.拖动创建好的第一个要素类的副本,放到原始要素类的下方。
当工作空间运行时,输出的GML数据集中会有两个图层;尽管目前还没有进行任何实际数据分离的操作。
14.为了区分输出的图层,按下面的说明重命名要素类:
单击GML:
city_parks写模块要素类(原始的那个)并按下F2键。
在提供的文本框中把名称修改为Parks。
单击复制的写模块要素类(GML:
city_parks00),然后按F2键,把名称修改为Golf。
15.单击读模块要素类MAPINFO:
city_parks的绿色箭头,拖拽出一条连接线,然后连接到写模块要素类GML:
GolfCourses的红色箭头上。
16.重复上面的操作,这次是把属性name连到ParkName上,把name_alt连到AltParkName上。
整个过程称为模式映射。
17.保存工作空间。
要查看结果变化,现在就可以运行工作空间并检查输出了。
恭喜,您现在已经学会了:
重命名目标模式的属性、对目标模式添加新属性、在目标模式中创建新图层(要素类)、重命名要素类、把读模块的要素类和属性映射到写模块中
转换器
在FMEWorkbench中,除了模式编辑和模式映射外,还有一种称为转换器的对象可用来执行数据变换。
从读模块传输到写模块过程中的数据变换,可通过一系列的转换器来实现。
FME2011中有300多个功能强大的转换器,来满足不同的转换需求。
查找和添加转换器
WorkBench提供了多种方法来查找和添加转换器。
这300多个转换器按一定的分类原则存放在转换器库中,可以通过拖拽的方式将你需要的转换器添加到工作空间中,另外也可以在查找栏中直接输入转换器名称。
但最简单常用的方法是,在工作空间的空白处直接输入转换器的关键字,然后单击,即可添加(下图)。
输入转换器名的任何一部分都能快速找到它。
例如,为了快速地寻找函数AttributeReplacer,你可能输入‘Attrib’或‘Replace’,workbench会自动查找出与之匹配的转换器,你只需挑选出来即可。
练习3、利用Workbench转换器进行结构变换
数据源:
城市公园(MapInfoTAB格式)
总体目标:
在从MapInfoTAB到GML的格式转换过程中进行数据重组。
按照下面这些步骤,使用FMEWorkbench执行一个简单的数据变换练习。
这个练习继续前面的“使用FMEWorkbench进行结构变换”练习,并且假定你已经打开了那个工作空间。
此时,工作空间执行的是数据复制,因为连接是从读模块到两个不同写模块的要素类。
因此,第一个任务是对数据进行过滤,输出到一个或另一个要素类中。
可以使用tester转换器实现。
1.单击Workbench画布区的空白地方,输入单词“test”,会出现一个与单词匹配的转换器列表。
2.选择名称为tester的转换器,此转换器就会放置到Workbench画布窗口中。
2.现在转换器需要放置到正确的位置,在转换器上按下鼠标左键并拖动,转换器的左上角会出现一个粉红色的点。
拖动转换器,使粉红色的点在MAPINFO:
city_parks读模块要素类和GML:
GolfCourses写模块要素类之间的连接线上,如下所示。
连接线将变成高亮显示,以此来确认转换器在正确的位置上。
5.松开鼠标按钮将转换器放到该位置上。
因为转换器含有不止1个输出端口,所以会出现插入转换器对话框。
6.选择tester:
Passed作为连接的输出端口,然后选择确定。
7.在Tester:
FAILED端口和GML:
Parks写模块要素类之间拖拽一条新连接线。
8.单击MAPINFO:
city_parks和GML:
Parks之间的连接,然后按下Delete键。
9.因为工作空间中的重叠连接线会显得比较乱,因此需要对工作空间的对象重新布局以避免此情况(如图所示)。
事实上,把两个写模块要素类交换位置即可。
注意:
属性端口属于失败要素的是黄色。
这是因为FME无法自动连接。
当箭头都是黄色的时候,代表这些置将在转换中被遗弃。
10.按下面的方式拖动连接线,重新连接属性模式映射:
Tester:
PASSED:
name>GML:
Parks:
ParkName
Tester:
PASSED:
name_alt>GML:
Parks:
AltParkName
下一个任务要建立tester执行的测试。
测试要检查替换的公园名称是否包括单词“Golf”。
11.单击Tester的参数按钮(应该是黄色的),打开Tester参数对话框。
12.在测试条件部分,双击左侧值一列,选择属性name_alt。
13.双击运算符一列并选择“contains”作为操作符。
然后点击右边值一列,输入“Golf”。
单击确认完成测试设置。
14.保存工作空间,以便以后可以重复使用。
通过重新定向选项可以检查工作空间的输出,没有任何实际数据写出到新要素集中。
15.单击菜单栏选项写模块>重新定向到Visualizer。
16.运行工作空间。
数据会被分到两个输出图层中,并且会发送到FMEUniversalViewer中提供查看。
如果Tester设置正确,则执行完成后的工作空间会展示,从Parks要素集读取了22个要素,其中有一个是高尔夫球场,其它的21个是普通的公园。
17.重新选择相同的菜单栏工具,关闭重新定向选项。
恭喜,你现在已经学会了:
使用快速添加功能定位Workbench转换器
使用拖拽-插入的方式放置转换器
利用转换器重组数据并正确进行模式映射
设置转换器参数
使用重新定向到Visualizer来查看转换结果
内容变换
内容转换指的是,转换一个数据的几何特征或属性。
内容变换的实例包括:
连接或分离属性值
计算新属性值
把空间数据裁剪成预定义的范围
把要素的节点捕捉到最近的空隙上
练习4、利用FMEWorkbench进行内容变换
除了重组数据之外,Workbench转换器可以用于数据内容的变换。
源数据:
Interopolis市规划部门数据城市公园(MapInfoTAB格式)
总体目标:
计算每个城市公园的面积,并计算穿过公园的河流总长度。
按照下面的步骤,利用FMEWorkbench进行内容变换练习。
这个练习继续前面的“利用FMEWorkbench转换器进行结构变换”练习。
如果你已经打开了那个工作空间,就可以跳过前两个步骤。
1.从Windows开始菜单中选择开始>所有程序>FMEDesktop2011>FMEWorkbench。
2.CityParks.fmw会出现在开始页中的“最近的文件”部分。
单击链接打开工作空间。
计算每个公园要素的面积必须使用AreaCalculator转换器。
Calculator是转换器的一个类别,用于计算新属性值。
3.在Workbench画布中,单击MAPINFO:
city_parks和Tester:
INPUT之间的连接线。
4.输入Area开始匹配AreaCalculator转换器名称,匹配出的转换器会出现在下面的快速添加列表中。
5.选择AreaCalculator转换器,转换器会自动放置到连接线上。
重新排列工作空间对象以避免压盖连接线:
注意:
即使计算出了每个公园的面积,ParkSize属性也不会自动接受这些信息。
因为AreaCalculator转换器将面积信息保存在了默认属性_area中。
6.单击AreaCalculator转换器的黄色的参数按钮,打开其参数设置对话框。
面积属性参数定义为接收计算出的面积的属性。
7.单击面积属性文本框,把属性重命名为ParkSize,与写模块要素类定义的名称匹配,然后点击确定。
现在,FME就可以自动把计算面积映射到正确的模式属性中了。
下一个变换需要水系信息来计算每个公园河流边界的长度。
因为此信息保存在独立的数据集中,所以必须在工作空间中增加一个新的读模块。
8.选择菜单栏中的读模块>添加读模块。
9.当添加读模块对话框打开后,按下面的说明填充文本框:
格式MapInfoMIF/MID
要素集C:
\FMEData\Data\Hydrography\HydrographyLine.mif
10.单击确定,把新的读模块添加到工作空间中。
计算通过每个公园的河流长度,需要把水系要素裁剪成公园范围,使用Clipper转换器来实现。
11.单击Workbench画布的空白区域,输入与Clipper转换器匹配的字母(例如:
clip)
匹配转换器的快速添加列表出现。
12.选择Clipper转换器。
13.在MIF:
Hydrography读模块要素类和Clipper:
CLIPPEE端口之间拖拽一条连接线。
14.在MAPINFO:
city_parks读模块要素类和Clipper:
CLIPPER端口之间拖拽第二条连接线。
现在,工作空间的第一部分看起来是这种布局:
15.单击Clipper转换器的参数按钮,打开此转换器的参数对话框。
16.把剪切类型参数设置为MultipleClippers,并点击确认。
下一个任务是计算剩余的河流长度。
17.点击Clipper:
CLIPPED_INSIDE输出端口的黄色箭头,它会高亮显示以表明是选中状态。
18.键入匹配LengthCalculator转换器的字符,“Length”或者“thcal”都可以。
出现名称匹配的转换器快速添加列表。
19.选择LengthCalculator转换器,此转换器会添加到工作空间中,并连接到正确的Clipper端口。
检查转换器的参数,默认值可以不改变。
现在计算出了每段河流线的长度,它需要使用“overlayer”转换器把长度添加到对应的公园要素上。
因为河流要素是线类型,而公园要素是面类型,所以需要使用LineOnAreaOverlay转换器。
20.单击Workbench画布的空白区域,输入Overlay关键字,匹配的转换器将自动出现在快速添加下拉列表中。
21.选择转换器LineOnAreaOverlay。
22.在LengthCalculator:
OUTPUT端口和LineOnAreaOverlayer:
LINE端口之间拖拽一条连接线。
23.在AreaCalculator:
OUTPUT端口和LineOnAreaOverlayer:
AREA端口之间拖拽一条连接线。
24..打开LineOnAreaOverlay的参数对话框。
因为通常一个公园中会有多条河流通过,所以需要创建一个列表。
列表是FME的一种特殊数据结构,它允许一个属性保存多个值。
25.其中一个参数称为列表名称,单击此参数并键入Mylist,然后点击确定。
同一个列表中的河流长度需要累加求和,以保证输出一个单一结果。
此时需要使用一个ListSummer转换器。
26.单击LineOnAreaOverlay:
AREA输出端口,它会高亮显示以表明是选中状态。
27.输入字母“SUM”。
匹配的转换器会出现在快速添加列表中。
28.选择ListSummer转换器。
此转换器会添加到工作空间中,并连接到LineOnAreaOverlay:
AREA端口上。
29.打开ListSummer参数对话框。
30.选择Mylist{}._length作为源列表属性。
31.为了匹配目标要素类的模式,把求和属性重命名为:
StreamEdge
32.从ListSummer:
OUTPUT端口上拖拽一条连接线,连到Tester:
INPUT端口上。
33.删除AreaCalculator和Tester转换器之间存在的连接线。
34.保存工作空间,然后运行工作空间,并检查输出的数据集。
现在,所有的要素都会有Parksize和StreamEdge值,且分离成了公园(Parks)和高尔夫球场(GolfCourses)。
这些信息能让规划部门计算来年场地的维护费用。
恭喜,你现在已经学会了:
使用转换器从空间测量值中计算新属性值
添加新的读模块到工作空间中
使用一组作为裁剪边界的要素来剪切另一组要素
使用空间压盖(空间关联)把一组要素属性传递给另一组要素
使用FME列表为单个属性保存多个值
介绍并使用UniversalViewer和Inspector
在上面的练习中我们学会了重定向到Visualizor,就是将要素传递到FMEUniversalViewer中进行预览和检查。
现在具体介绍这部分的使用。
什么是数据检查?
数据检查是为了确保正确处理信息,而对转换过程每个阶段的数据有一个清晰的了解和认识,
通过查看整个转换过程中的数据,包括转换之前,之后和之中,对转换结果进行核查和调试。
数据检查重要部分之一是属性检查,同时属性也是数据分析的重要内容,掌握数据属性是数据处理的必要工作。
FME属性有三种:
用户属性、格式属性和FME属性。
在Viewer的信息窗口中可直观看到这三种属性。
FME属性:
是根据FME的内部定义方法定义的要素属性,以“fme_”开头的属性是fme属性。
格式属性:
是源格式内部定义要素的属性信息。
用户属性:
是用户自定义的属性。
练习5、利用FMEUniversalViewer进行数据浏览和数据检查
数据源:
CityParks(MapInfoTAB格式)、InteropolisSatelliteImage(PNG格式)
总体目标:
浏览并检查叠加到栅格影像上面的cityparks数据。
按照以下步骤,启动FMEUniversalViewer和浏览一些空间数据。
1)从Windows开始菜单,选择开始>所有程序>FMEDesktop2011>FMEUniversalViewer。
由于使用操作系统的不同,准确的启动方式可能有所不同。
2)在FMEUniversalViewer中,点击文件〉打开数据集,打开“选择数据集来查看”对话框。
红色背景的框是必须填写的。
3)指定源数据格式,在格式文本框中点击并输入“mapi”,出现一个已过滤的格式列表。
当MapInfoTAB(MITAB)出现在列表中,按Enter或者选择它。
另外一种方法是:
通过点击格式文本框右边的浏览按钮,使用读模块库来定义源格式。
4)选择TAB数据进行查看,点击浏览工具(数据集的图标为[…])。
在文件浏览器中,导航到C:
\FMEData\Parks,选择city_parks.tab文件。
5)点击确认,在FMEViewer显示窗口中打开TAB文件
查看属性
现在,FMEUniversalViewer中打开了MapinfoTAB数据集。
按照以下步骤,检查空间要素,查看属性和其它信息。
1)如果选择要素工具按钮是未激活状态,点击使其激活。
你可以用以下任何一种方式来核实该工具是否处于激活状态。
按照以下步骤,检查空间要素,查看属性和其它信息。
图标
出现在工具栏中。
把光标放在查看窗口中,如果字母i”出现在光标的右侧,则该工具是激活状态。
2)在显示窗口中点击一个空间要素。
要素的详细信息会显示在查看窗口右边的信息窗口中。
注意信息窗口显示的:
用户属性和FME“格式属性”,还有要素坐标系的详细信息。
数据叠加
FMEUniversalViewer的一个强大功能是它可以在一个窗口中叠加多个不同格式的数据集。
按照以下步骤,添加第二个数据集进行查看,并设置显示窗口的顺序。
1)添加数据集,在查看工具栏中点击添加(不是打开)数据集图标,等同菜单栏中的文件>添加数据集。
出现“选择数据集进行添加”对话框。
2)此时,点击格式浏览按钮——在格式文本框旁边——选择PNG(PortableNetworkGraphics)格式。
3)在数据集文本框中,点击数据集浏览按钮,并且导航到C:
\FMEData\Data\Raster.
4)选择文件InteropolisCentre.png,点击打开。
在选择数据集之前先选择格式,可以让你只浏览那些与请求格式相符的数据集。
这样就缩小了搜索范围,让你能够更快的找到需要的数据。
5)点击确定,把数据集添加到显示窗口中。
新添加的栅格数据集显示在原始MapInfo数据集的上面。
6)在显示控制窗口(位于Viewer的左边)中,把MAPINFO(city_parks)数据集旁边的图标,拖拽到PNGRASTER(InteropolisCentre)数据集对应图标的上面。
现在,parks数据显示在栅格数据上面了。
现在,par
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- FME 基础 操作
![提示](https://static.bdocx.com/images/bang_tan.gif)