FME的基础操作.docx

上传人:b****6 文档编号:7067815 上传时间:2023-01-16 格式:DOCX 页数:39 大小:3.13MB
下载 相关 举报
FME的基础操作.docx_第1页
第1页 / 共39页
FME的基础操作.docx_第2页
第2页 / 共39页
FME的基础操作.docx_第3页
第3页 / 共39页
FME的基础操作.docx_第4页
第4页 / 共39页
FME的基础操作.docx_第5页
第5页 / 共39页
点击查看更多>>
下载资源
资源描述

FME的基础操作.docx

《FME的基础操作.docx》由会员分享,可在线阅读,更多相关《FME的基础操作.docx(39页珍藏版)》请在冰豆网上搜索。

FME的基础操作.docx

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

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿教育 > 幼儿读物

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1