FME Desktop培训教程 第六章 数据转换练习一.docx

上传人:b****0 文档编号:17043995 上传时间:2023-07-21 格式:DOCX 页数:18 大小:666.42KB
下载 相关 举报
FME Desktop培训教程 第六章 数据转换练习一.docx_第1页
第1页 / 共18页
FME Desktop培训教程 第六章 数据转换练习一.docx_第2页
第2页 / 共18页
FME Desktop培训教程 第六章 数据转换练习一.docx_第3页
第3页 / 共18页
FME Desktop培训教程 第六章 数据转换练习一.docx_第4页
第4页 / 共18页
FME Desktop培训教程 第六章 数据转换练习一.docx_第5页
第5页 / 共18页
FME Desktop培训教程 第六章 数据转换练习一.docx_第6页
第6页 / 共18页
FME Desktop培训教程 第六章 数据转换练习一.docx_第7页
第7页 / 共18页
FME Desktop培训教程 第六章 数据转换练习一.docx_第8页
第8页 / 共18页
FME Desktop培训教程 第六章 数据转换练习一.docx_第9页
第9页 / 共18页
FME Desktop培训教程 第六章 数据转换练习一.docx_第10页
第10页 / 共18页
FME Desktop培训教程 第六章 数据转换练习一.docx_第11页
第11页 / 共18页
FME Desktop培训教程 第六章 数据转换练习一.docx_第12页
第12页 / 共18页
FME Desktop培训教程 第六章 数据转换练习一.docx_第13页
第13页 / 共18页
FME Desktop培训教程 第六章 数据转换练习一.docx_第14页
第14页 / 共18页
FME Desktop培训教程 第六章 数据转换练习一.docx_第15页
第15页 / 共18页
FME Desktop培训教程 第六章 数据转换练习一.docx_第16页
第16页 / 共18页
FME Desktop培训教程 第六章 数据转换练习一.docx_第17页
第17页 / 共18页
FME Desktop培训教程 第六章 数据转换练习一.docx_第18页
第18页 / 共18页
亲,该文档总共18页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

FME Desktop培训教程 第六章 数据转换练习一.docx

《FME Desktop培训教程 第六章 数据转换练习一.docx》由会员分享,可在线阅读,更多相关《FME Desktop培训教程 第六章 数据转换练习一.docx(18页珍藏版)》请在冰点文库上搜索。

FME Desktop培训教程 第六章 数据转换练习一.docx

FMEDesktop培训教程第六章数据转换练习一

许多FME用户认为有必要对函数进行培训。

这单元会介绍更多的函数,以及一些你之前可能不知道的高级函数。

Adders,Builders和Creators:

基本的转换函数

一般,函数根据一些相关的信息来命名,例如运行方式、输出结果等。

我们可以通过函数的前缀来寻找线索。

Adders函数

以“Adder”作为后缀的函数,会添加一个新项目到当前要素中。

例如,2DPointAdder函数表示添加一个新的节点(点)到已有的要素中。

2DPointAdder为一个线要素增加了一个新节点(如下图左),这和屋主给他的房子添加一块额外部分是同样的道理(如下图右)。

 

Builders函数

“builder”函数是将一组输入数据重构成一种新的格式,你可以把它看成是原始资料回收站。

 这就像是,我们摧毁一个房子,然后重新建造它(如上图)。

PolygonBuilder处理一组多边形,然后输出新的格式(如下图)。

 

Creators函数

“creator”函数会在工作流中创建一个全新的实体

多数这类函数都不接受输入项,而是通过设置对话框中的信息创建一个全新的实体,例如,2DGridCreator函数,用户通过输入的一系列参数值,就能够创建一个网格点或面。

 这就好比建房子,我们使用原料来建房(如上图)。

2DGridCreator函数则使用一系列用户自定义的参数来创建面网(如下图)。

一些creator函数会为已有的要素创建新的属性项,例如AttributeCreator函数,任何输入到这个函数中的要素都会添加一系列的新属性,这些属性都是在函数设置对话框中定义的。

其它的creators的函数还有:

Creator,PythonCreator和RasterNumericCreator。

提问:

在对函数名知识了解的基础上,推测下TopologyBuilder函数是用来做什么的呢?

1)在设置对话框中创建参数的拓扑

2)将输入要素转换成拓扑连接的输出要素

3)用拓扑要素代替输入要素

4)将相关拓扑属性插入要素中

 

Replacers函数

任何以“Replacer”为后缀的函数都会进行以下操作:

输入到该函数中的要素会被一个新要素实体取代;新的要素以第一个要素为基础。

 

房主决定重建他的房子,但要以一种全新的风格,只有一部分是在原来的基础上(如上图)。

BoundingBoxReplacer是一个典型的replacer函数(如下图)。

 

 

 所有的输入要素都被输出要素所取代,这些输出要素表示输入要素的边界框,其它的Replaces函数还有:

2DPointReplacer,CenterPointReplacer和GeometryReplacer。

 

Removers函数

“remover”函数会删除要素的部分属性,输出结果都是修改后的要素。

例如GeometryRemover函数,就是删除要素的所有几何图形,输出一个非几何要素,类型是fme_no_geom。

下图:

这是房主使用remover函数移除了屋顶的效果。

 

其他的Remover函数还有:

?

AttributeRemover

?

CoordinateRemover

?

CoordinateSystemRemover

?

DuplicateRemover

?

ListDuplicateRemover

 

Filters函数

“Filter”函数是根据原要素特征进行数据过滤分流,实现结构映射。

这些要素特征可以是属性,或者是要素几何类型的某方面。

右图:

GeometryFilter函数根据几何类型将输入要素过滤成多个输出流。

其它的过滤函数还有:

AggregateFilter,AttributeFilter,FeatureTypeFilter和SpatialFilter(通常,我们容易将SpatialFilter与SpatialRelator弄混,“filter”强调的是区别)

 

空间(位置)函数

即使是有经验的FME使用者看到整个函数列表也会感到很头疼,学了这个单元,你就不会再害怕函数,并且还会喜欢上函数。

FME拥有300多个函数,能够实现各种各样的功能。

可能有很多你都没有意识到,但这些函数真的是非常有用。

这个单元将会帮您寻找需要的函数,即使有些您没有意思到会需要它。

函数类型

首先,我们来学习函数类型,这是学习函数列表很好的一个起点。

我们将同一种类型的函数分为一组,这样方便寻找能够解决问题的函数。

下图:

图标显示的是函数类型,点击+,展开每个列表,显示一种类型的函数。

 

以下就是一些类型:

3D:

特别针对3D数据的函数

Calculators:

计算一个值,并且将它作为一个新的属性

Database:

与外部数据库一起使用

Filters:

过滤,重新发送数据

GeometricOperators:

处理要素几何形

Lists:

处理属性列表

LinearReferencing:

进行测量,例如,创建测链长度

Manipulators:

处理单个要素

Rasters:

处理栅格数据集

Strings:

创建,调整和删除字符属性

Surfaces:

处理面类要素,例如,创建一个等高线

 

WebServices:

通过HTTP,分享网站上的信息

Workflow:

在本地,或者使用FMEServer来运行工作空间Newfor2009

XML:

将XML数据编写到FME中

 

 函数查找

 这个函数会尽力在函数名和函数描述中寻找用户自定义的关键字

下图:

在函数列表中就可以找到transformersearch的窗口(被标记成红色)

简单地输入要术语,或者按键,或点击Search图标,就可以使用这个函数了

这个函数也接受含有词语的描述,所以就可以输入‘attrib’,来代替“attribute”

 

关键字(Keyword)查找

 函数查找可以接受多个关键字,并且返回所有含有关键字的的函数

 

注意,你没有必要一定要输入函数名,或FME使用的术语。

有关函数的描述包含一般的关键字(如上图),使用这些关键字就能更轻易地寻找到和空间相关的术语。

提示:

输入一个函数名的中间部分能更快地寻找到需要的函数,例如,为了快速地寻找函数AttributeReplacer,你可能输入‘Attrib’或‘Replace’,但是含有‘Attrib’的函数有150多种,而含有‘Replace’的也有50种,如果输入‘uteRep’,就只会出现2个函数。

可能在理解时有些困难,但是当你操作时,就会发现它是非常有用的。

 

函数帮助(Help)

 WorkbenchHelp会为每个函数提供大量的相关信息。

它取决于语境,所有你只需要选择一个函数,然后按F1键,就可以获取帮助了。

也可以在函数中获取TransformerHelp,点击函数列表中的一个函数,就可以获取这个函数的具体信息了。

当输入的寻找关键字与函数名完全符合时,就会默认地选择这个函数,并且会自动显示相关的帮助描述

反之,就会在列表中显示第一个函数的相关帮助描述

左图:

使用transformersearch来寻找GeometryFilter函数,在下面的窗口中显示了对这个函数的描述。

 

使用函数

函数有一些我们不大知道的功能,使用这些功能就能够帮助你更有效的工作。

比起简单的忽略函数,或者手动的进行模式映射,这里提供了很多不同的方法,来放置,使用函数。

输入函数设置

一些函数需要用户输入大量的内容,这样就可能产生错误,并且使用起来也不是很方便。

为了解决这个问题,一些函数就有一个‘Import’选项。

这个输入工具会在已有的数据集中输入一个属性值,并且数据集可能是任何的FME格式

 

 上图:

在这个例子中,打开AttributeFilter设置对话框,然后点击‘Import’键。

 

左图:

一旦选择了一个数据集和属性,FME就可以扫描数据集,并且提供一个有关特殊值的列表

 

AutoConnect

右击Filter函数,就会出现一个选项‘AutoConnect’,它能够自动将输出端口连接到正确的目标要素类。

虽然我们很少用到这个选项,但是模式映射一个复杂的工作空间时,使用它就非常有用了。

当必须要将过滤函数与大量目标要素类进行连接时,并且要素类名与输出端口名相同,使用AutoConnect就非常有效。

下图:

将AttributeFilter连接到大量的目标要素类,最理想的方法就是使用AutoConnect选项。

 

 

右图:

选择了AutoConnect后,就会打开这个对话框。

注意,Auto-connect是怎样使用源要素的模式定义来自动创建目标要素类的。

在这个例子中,要素类已经存在了,所以就不需要再创建新的。

 

左图:

AutoConnect将每个filter输出端口连接到相应的要素类。

 

自动连接函数还有:

AggregateFilter,SpatialFilter,GeometryFilter和FeatureTypeFilter。

 

如右图:

右击FeatureTypeFilter,就能够运行AutoConnect功能。

 

高级函数——Drag-and-Insert

这个函数拥有大量的高级功能.

 

多个连接

你可能知道,将函数拖到已有的连接中,然后松开鼠标,就能够将函数插入到一个管道中了,但是你又是否知道,通过标记一个函数输入/输出端口,而不是进行连接,就可以立即将函数插入到多个管道中呢?

下图:

这里,用户希望插入一个2DForcer函数,并且将它连接到输入流中…

…他将函数拖到Snapper输入端口(被标记为红色)…

...这样,就插入了这个函数。

 

ReversingtheInsertionPoint

有时候,将函数拖到指定的位置,并不是那么容易的,这是因为函数覆盖了要插入的连接或端口

当你拖动函数时,按ALT键就可以解决这个问题。

通过这个操作,就能将插入醒目点转换到函数的对角点,这样就能明确标记出要输入的端口了。

下图:

当醒目点在常用位置时,2DForcer就会阻碍用户的视野… …但是通过ALT键降低点命名,就不会出现上面的情况了。

 

插入一个已插入的函数

 你可能注意到了,拖动一个已经插入了的函数仍然会产生醒目点,并明确标记连接,这是因为能够将一个单一的函数连接到多重流,而这种方法能够轻松的帮到你。

下图:

用户希望插入一个Clipper函数,与前面多重连接不同的是,这里有多个要求进行单独连接的输入端口

…使用拖动和插入功能,可以很轻易地进行第一个连接…

...现在用户要进行第二个插入了,使用同样的函数,但是通过另一个连接…

...现在就正确地插入了Clipper

 

下图:

注意,不能将函数插入到一个可能引起工作流循环运行的位置—甚至不应该标记这种无用的连接 

 

连接一个函数

连接一个函数,而不是将它插入到一个已有的连接中,这并不是函数性的一部分,但是这是产品偶然获取的一种功能,当用户使用这种功能时,这种偶然性就变得非常明显了。

我们非常喜欢这个想法,所以有可能在将来的FME版本中开发这种功能

下图:

在这里,用户希望在现在使用的管道的末端添加一个函数,他将函数拖动到最后一个输出端口…

 

…放开鼠标,就按要求将这个函数连接到末端了。

 

例1:

使用Auto-Connect来创建一个目标模式 

Interopolis城市有一个数据集,它包含了这个城市的所以公园。

城市希望将数据集分为多个要素类,每个要素类表示一个公园。

启动Workbench,添加包含城市公园的数据集,并将它作为源数据集,它是MapInfoTAB格式。

源数据位于C:

\FMEData\Data\Parks\city_parks.tab

放置一个AttributeFilter函数,并将它连接到源要素类。

使用AttributeFilter.的输出功能。

选择公园数据集作为源数据集,并且使用属性”name”进行输入。

观察AttributeFilter函数现在是怎样包含这个城市的公园列表的。

添加一个MapInfoTAB目标数据集(与源文件夹不同)。

但是不要添加一个要素类,右击AttributeFilter,选择AutoConnect

在AutoConnect设置中,选择从源数据中复制属性,并且选择创建新要素类的选项。

观察,每个输入是怎样在值后对要素类进行特别命名的。

删除目标数据集以及要素类。

右击AttributeFilter,选择‘ConnectVisualizers’.,运行工作空间,确保AttributeFilter的每个输入发送到了一个单一的Visualizer

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

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2