FME教程

FME 起步
安装 FME
FME Suite 安装包只有一个单一的应用程序。所有 FME Suite 许可级别都使
用同一个安装包。
1 FME Suite 的安装要求有管理员权限,这个可以从系统管理员那里得到帮
助。
2 双击 setup.exe 。(也可能是后缀名为 .exe 的其它可执行程序)
3 回答安装向导所提出的问题。
授权 FME
为了获得 FME Suite 许可,运行 FME Licensing Wizard (依次点击
Start>Program Files>FME Suite 打开),并回答向导提出的问题。
注意:该教程的设计用于 FME2008 ,这里所描述的一些功能在 FME 以前
的版本中可能没有。
安装 FME Sample Dataset
1 www.safe.com/support/onlinelearning/fmesampledata.php 上下载 FME
Sample Dataset ,并把它安装在 C:\FMEData
注意:可以通过 www.safe.com/tutorial 访问此教程。
获取帮助
FME 产品包括广泛的、上下文相关的帮助。任何时候,如果你需要某个工
具或者格式的帮助,选择该项并按 F1 启动帮助系统。
假如你有许可或者安装方面的问题, 请发邮件至 [email protected] 。国内
发至 [email protected] FME 教程( 2008 版)
2
第一章 Viewing Data FME Universal Viewer
本章内容
查看数据
不同格式的数据叠加
Viewer 中导出数据
目的
有多种格式的数据,希望熟悉这些数据。
查看数据
本练习中,使用 Viewer 来浏览各文件的图形、属性和坐标系信息。你也将
学习如何在 Viewer 中过滤要素。
1 启动 Universal Viewer
2 单击“ File>Open Dataset (文件 打开数据集)”。这样,将打开 Select
Dataset to View (选择要查看的数据集)对话框。
3 现在,你必须指定你要读取的文件的格式。这个通过 Format Gallery (格
式列表)来完成。通过单击格式浏览按钮
打开 Format 框。
4 向下滚动格式列表直到你看到 MapInfo MIF/MID
提示:你可以通过输入格式的名称的起始几个字母快速过滤 Format Gallery
(格式列表)中显示的格式。这种情况下,你可以输入 MIF
5 点击 OK 接受这一格式。随即返回 Select data (选择数据)对话框。
6 现在你必须选择要查看的 MIF 数据。通过点击 Dataset Browse (数据集 FME 教程( 2008 版)
3
浏览)按钮选择,打开文件浏览窗口。转至文件 flood_plains.mif (位于
\tutorial\sampledata )。
7 点击 OK 在视图中显示该 MIF 文件。
浏览图形和属性数据
现在 MIF 文件显示在视图中。图形数据是可见的,但是属性数据并没有显
示出来。
1 如果还没有选择信息工具
,点击它使视图处于 Inform 模式。现在,
点击任何要素,属性显示在 Information 窗口中。
提示:比起一次只选择一个要素,你可以通过对多个要素拉框创建它们的
一个选择集。通过点击前进按钮
和后退按钮
在选择集中的多个要素
中进行循环。 FME 教程( 2008 版)
4
获取坐标系信息
注意坐标系的简略信息显示在 Information 对话框中。
1 为了查看该坐标系的参数描述,点击位于 Coord Sys: text box (文本框)
旁边的浏览按钮
。打开 Coord Sys Info 对话框,可以看到到坐标系的详
细信息。
2 点击关闭按钮关闭 Coord Sys Info 对话框。
过滤要素
Universal Viewer 也可以基于属性值进行显示过滤。
1 点击工具条上的 Filter Feature 按钮
,打开 Filter Features 对话框。
2 选中 Filtered Status 部分的 Enabled 复选框。
3 Test Expression 部分,在 Left Side 文本框中输入 &community Operator
设为 = ,设定 Right Side 文本框为 1026
注意: Left Side 文本框中的值包含 & ,这是 Filter 指定 community 属性的值
而非字符串“ community ”的方式。
4 点击 OK 接受该值并在视图中过滤数据。注意“ community ”的值不等于
1026 ”的所有要素不再显示。而 community=1026 的要素依然显示在屏
幕上。 FME 教程( 2008 版)
5
5 点击 Filter Feature 按钮,打开 Filter Features 对话框。取消对 Enabled check
的选择以使要素再次全部显示。
不同格式的数据叠加
现在,你已经使用 Universal Viewer 读取一个单一的 MIF 数据集。 Universal
Viewer 最有力的特点之一是它可以在一个窗口中叠加不同格式的多个数
据集。下面的练习中,我们将多个的 Intergraph MGE 文件添加到该 MIF
据中。
1 右键单击 View0 结点(在 Viewspace 节点下),选择 Add Dataset
2 打开 Select Dataset to Add 对话框。选择 Format 文本框输入 mge 。这样起
到一个过滤的作用,产生一个下拉框,该框中 Intergraph MGE 是一种可选
格式。选择 Intergraph MGE 格式。
提示:当选择属于某个指定厂家的格式时过滤列表是非常有用的。例如,
输入 ESRI ,将创建一个显示所有 ESRI 格式的过滤列表。
3 现在选择数据集。单击浏览按钮,转至
C:\FMEData\Data\Properties\MGELandParcels MGE 文件的典型的扩展名
.dgn 。可是,此时已自动指定了一个不同的文件扩展名。把“ Files of Types
设置为“ All Files ”以关闭文件过滤功能,然后选择四个 .par 文件。 FME 教程( 2008 版)
6
单击 Open 按钮选择这些文件。同时返回到 Select Data to Add 对话框。
4 下一步,你必须指定包括 MGE 属性的数据库的位置和类型。点击 Setting
按钮,打开 Intergraph MGE Input Setting 对话框,指定数据库类型为 Access
MDB 。单击 Access MDB File 文本框中的浏览按钮,找到在 MGELandParcels
目录下的文件 parcel_attrs.mdb
单击 OK 接受缺省设置。再次返回到 Select Data to Add 对话框。再次点击
OK 将数据加载到视图中。
5 注意, MGE 数据位于先前加载的 MIF 数据的上面。这样的叠加正是我
们想要的。然而,在某些情况下,你或许想要改变你的数据集的显示顺序,
为了使得 MIF 数据显示在上面,将与 MGE 数据集对应的地球仪图标 拖
到与 MIF 对应的地球仪图标的上面,这样给予 MIF 数据集优先显示权,
MGE 数据集因为显示在 MIF 数据集下面而变得模糊。
当然,我们的目的是希望 parcels 数据显示在最上面。一旦你完成上面的试
验,改变显示顺序,使得 MGE 数据再次显示在顶层。这时,来自于两个
数据集的属性都可以被查看。
Viewer 中导出数据
现在在视图中有两个数据集,下一步的任务中将它们写入一个单独的 GML
文件中。然而,对于导出特殊,仅要求一小部分数据。 FME 教程( 2008 版)
7
1 使用 Zoom In 工具
,放大到包含 MGE MIF 文件中的要素的一个小
区域。在该区域被重画后,选择 File>Save Data As (文件 > 数据另存为)。
2 此时, Select Destination Format and Dataset 对话框打开。选择 Geography
Markup Language GML )作为目标格式,转到
C:\FMEData\Output\TutorialOutput 目录下。将输出文件命名为
flood_parcels.gml 。点击 Coordinate System 文本框输入 TX83-CF ,以确定
输出的 GML 文件的坐标系。
3 点击 OK 写出 GML 文件。这一步可能要花费几分钟时间。
4 现在将该 GML 数据集加载到 Viewer 中。只有数据导出时窗口中可见的
那一小块区域被进行了转换。右键单击 View0 ,选择 Add Dataset 。将 Source
框中的格式设置为 Geography Markup Language GML ),浏览找到你刚才
所创建的 flood_parcels.gml 文件。
5 为了排除 MIF MGE 文件引起的混乱,更好的浏览 GML 数据,最简单 FME 教程( 2008 版)
8
的方法就是通过取消对它们的地球仪图标
前面的选择框
的选择以关
闭它们的显示。使用缩小工具
,扩大显示范围以保证先前数据导出时指
定的范围的显示。因为你导出的只是整个数据集的一小部分,所以初 始的
一些要素现在丢失了:
注意:这种类型的转换是 Universal Viewer 最有力的特点之一。它允许你导
出数据的一小部分,而这个使用 Workbench 是复杂的。可以帮助你缩小文
件大小,只关注数据集的一个特定的空间现象。
6 选择 File>Exit (文件 > 退出)关闭 Viewer
你已经完成了 Viewing Data- FME Universal Viewer 章。下一章,我们将使
FME Universal Translator 来进行快速转换。 FME 教程( 2008 版)
9
第二章 FME Universal Translator
本章内容
自动转换
简单要素处理
投影数据
目的
前面的练习中,你使用 FME Universal Viewer 读取数据。你也学习了如何
使用视图简单转换数据的一小部分。本章,你将使用 Universal Translator
它在不需要浏览数据的情况下是有用的。你仅仅需要从一种格式转达化为
另一种格式,可能是在处理中转换和投影数据。
FME Universal Translator 在数据的转换中不需要改变其结构和形状的情况
下是非常有用的。尽管 Universal Translator 可以用来对数据集做较小的调
整,但是对数据的的推荐的工具是 FME Workbench ,这个将在第三章中探
讨。
自动转换
将数据从一种格式转化为另一种格式的最快速的方法就是使用 FME
Universal Translator 。操作界面简单,可是,使用者对于转换不能有太多控
制。 Universal Translator 主要用于要求相对较少转换的简单转换。
1 启动 FME Universal Translator
2 单击 Translate 按钮
打开 Set Translation Parameters 对话框。
3 Source 部分,指定 Source 格式为 Geography Markup Language GML )。
Dataset 文本框中,单击浏览按钮
打开文件浏览。浏览至 FME 教程( 2008 版)
10
C:\FMEData\Data\Zones ,选择 zoning.gml
4 Destination 部分,将输出格式指定为 ESRI Shape ,点击 DataSet 文本
框中的浏览按钮,在文件浏览窗口中,浏览至
C:\FMEData\Output\TutorialOutput 。点击 Open ,把它选择为 Destination
Directory
注意:一些格式要求你指定输出文件名称,而另一些(包括 shape )要求 FME 教程( 2008 版)
11
指定一个输出文件夹。
5 点击 OK 运行转化。
6 为了证实转化给出了你所期望的结果,在 Windows Explorer 中打开
TutorialOutput 文件夹。
7 右键单击 zoning_area.shp ,选择 View with FME Viewer
这样打开一个 Viewer 。点击 OK 接受缺省参数, shape 文件被加载。保持
shape 文件在 Viewer 中打开以备下一个练习中使用。
注意:现在目标 shape 文件的名称是 zoning_area 。这是因为 shape 格式(像
一些其它格式)要求每一种图形类型有一个单独的文件。假如你要导出区
域和点,将创建 shape 文件的两个数据集,并且每个都在其名称后面加入
了图形类型。
简单要素处理
Universal Translator 包含一些基本要素处理函数。下一个例子中,再次导出
这个 shape 文件,但是数据要被旋转 25 °。
1 Universal Translator 中,点击 Translate 按钮
,打开 Parameters 对话
框。假如没有关闭上节使用的 Universal Translator ,则上节练习所使用的所
有设置都将保留下来,否则,按照上面的 Automated Translations 练习重复
一次。
2 参数对话框的底部, Feature Processing Functions 部分,点击 Browse
钮。打开 Function Builder 对话框,点击 Rotate 标签页,它允许我们旋转导
出的 shape 文件。设置旋转角度为 25 °。 FME 教程( 2008 版)
12
3 点击 OK 接受输入的值,返回 Parameters 对话框。
4 点击 OK 运行转化。上一次练习导出的数据集将被这一次产生的新旋转
的数据集覆盖。
5 返回到 Viewer 。如果你已经关闭 Viewer ,使用 Windows Explorer 再次打
Shape 文件。如果你没有关闭它,前一次练习的数据集已经加载。因为
你已经改变了对应的数据,简单的重新加载允许你查看新的数据。点击
Viewer 中的 Refresh View 按钮
注意数据集已经顺时针旋转了 25 °。在 Function Builder 对话框中还有许
多其它有用的函数。但是进行更复杂的转换, Workbench 能更好地为您服
务。
投影数据
本练习中,你将进行 zoning.gml 文件的投影,同时不改变它的结构或者形
状。这是 Universal Translations 的最普通的功能之一。
1 Universal Translator 中,单击 Translate 按钮
。打开 Parameters 对话
框。如果上次没有关闭 Universal Translator ,前一练习中的所有设置都将保
留。如果已经关闭,则重复练习 Automated Translations 的步骤。
2 点击 Feature Processing Function 部分的 Browse 按钮,之后打开 Function
Builder 对话框,点击 rotation 标签页,将旋转角度改回为 0 。点击 OK
Function Builder 对话框,返回 Parameters 对话框。
3 点击 Destination 部分的 Coordinate System Browse 按钮,打开 Coordinate
System Gallery FME 教程( 2008 版)
13
4 Contains 文本框中输入 LL-83 。这样将过滤坐标系,仅显示含有 LL-83
字符串的那些坐标系。这里,仅出现一个坐标系。
5 选择 LL-83 坐标系点击 OK Coordinate System Gallery 关闭,返回到
Parameters 对话框。
6 Parameters 对话框现在应该将源数据坐标系显示为 Read from Source ,而
将目标坐标系显示为 LL-83
注意:此例中,源数据的 Coordinate System 显示为 ”Read from Source” 。意
味着格式中带有坐标系信息。换句话说,坐标系被当作格式的一部分存储。
对于许多格式并不是这样的,包括许多 CAD 格式。当读取一个不包含坐 FME 教程( 2008 版)
14
标系信息的格式时, Coordinate System 文本框显示“ Unknown ”。如果使用
者知道源数据的坐标系,那么可以通过打开 Source Coordinate System
Gallery ,然后手动指定坐标系。如果使用者不知道不带有坐标系信息的格
式的坐标系,那么源数据的投影将不可靠。
7 点击 OK 运行转换。
8 返回到 Viewer 。如果你已经关闭,再次打开它,并且按练习 Automated
Translations 中的第六步重新进行设置。如果你没有关闭它,前一次练习的
数据集仍然已经加载。点击 Refresh 按钮 刷新。
9 点击 Info 按钮
选择一个要素。你将会看到 Coord Sys 文本框(在
Information Pane 中)中显示“ LL-83 ”。
现在完成了 The Universal Translator 章。你已经知道了如何进行自动转化,
基本转化和简单投影。
下一章,探索 Workbench ,它才是 FME 的最有力的组成部分。 FME 教程( 2008 版)
15
第三章 自定义数据转换 FME Workbench
本章内容
创建工作区
使用 Transformers
解决工作区中的问题
创建自定义格式和转换
目标
目前为止我们所介绍的工具提供了一种快速简单的执行转换的方式。但是
如果要改变数据的结构或者形状时,我们该怎么做呢?这时就要使用
Workbench
本练习中,使用 Workbench 建立一个工作区,操作数据以形成线。把线关
联到数据库以得到更多属性,然后对结果进行质量评价。在这个过程中,
将要创建和使用一个 Custom Format Custom Transformers
我们的案例是给你是由 GPS 采集来的数据。数据是一系列的点,将这些点
连起来,建立道路。当你在一个文本阅读器中查看这些数据是,它的格式
例如:
你也会得到描述 CSV 文件中每个域所代表的意思的元数据。 Road_Id 是每
一条不同道路的唯一 ID 号,使用它来关联来自 Access 数据库的属性。
Vertex_num 是顺序 id ,告诉你要连接成道路的这些点的连接顺序,幸运的
是,这些点是有序的。最后,点的 X Y 坐标分别存储在 X Y 域中。
创建工作区
开始之前,你应该花一些的时间熟悉一下 Workbench 的界面。附件 A 对本
练习中要使用的所有工具进行了详细的描述。
1 先打开 FME Workbench 。在 FME Workbench 对话框中选择“ Open the
Workspace Dialog ”(缺省选项)。(你可以在任何时间通过 File>New 访问
FME Workbench 对话框)。 FME 教程( 2008 版)
16
2 点击 OK 。将打开 New Workspace 对话框。这里,我们需要选择 Source
Format Source Dataset Destination Format 。将源数据的格式选择为
Comma Separated Value
3 点击源数据集后面的 Browse 按钮。打开文件浏览器。因为源数据的格
式是 CSV ,所以文件浏览器仅仅寻找扩展名为 .csv 的文件。可是,此例中,
CSV 文件的扩展名为 .gps 。我们可以通过将 Files of Type 菜单改为“ All
Files ”来移除原来的 CSV 过滤器。在这里,我们可以浏览到
C:\FMEData\Data\GPS\GPSRoads ,点击 major_roads.gps
4 单击 Open 按钮接受选择并关闭对话框。
5 现在,必须进行设置。点击 New Workspace 对话框的 Source Settings
钮,打开 Comma Separted Value CSV Input Setting 对话框。选中 Field
Names Before Header box 。这样将使用 CSV 的第一行作为 Workbench 中要
素属性的名称。 FME 教程( 2008 版)
17
6 点击 OK 接受选择,返回到 New Workspace 对话框。
7 选择 MapInfo TAB MIFTAB )作为目标格式。
8 点击 OK ,关闭 New Workspace 对话框 , ,产生一个 Workspace 界面。点
击 来扩展源类型和目标类型。 FME 教程( 2008 版)
18
转换工具介绍
你已经创建一个基本的工作区,可以开始操作数据了。这一部分,你将使
CSV 点创建线要素并且给线要素从一个对应的 MS Access 数据库中添加
相应的道路属性。这时如果你快速浏览一下附件 A ,对 Workbench 界面有
一个大体的了解将是有益的。
转换工具是用于操作数据的图形和属性的工具。他们被有序连接起来,数
据从源数据流向目标数据,每一步都要应用转换工具。一系列的转换工具
连接起来就如同一条管道。
1 就是你在本章中目标部分了解到的, CSV 格式是一个文本文件。第一步
是从文本中的值创建点图形,本质上是用 CSV 文本文件中包含的 X Y
标绘图。通过添加一个 2DpointReplacer Transformer 完成。在 Navigator
板的 Gallery 标签页中,在 Search 文本框中输入 2DPoint 来过滤转换工具。
在过滤查找结果中,双击 2DpointReplacer 。这样它就被添加到工作区中。
2 FME 2008 允许你把 Transformer 放在两个先前已连接的 Feature Types
Transformers 之间。这个节省时间的要素让你快速放置一个 Transformer
而不必删除已存在的要素连接。首先点击 Transformer (这里,指
2DPointReplacer ),按下鼠标左键。注意出现在左上角的粉红色点:
3 接着将 Transformer 拖至已经存在的 Feature Types 的要素连接上,一旦
建立一个连接,要素连接线将变成粉红色:
4 这时,释放鼠标左键, 2DPointReplacer 已经被成功地放置在 Source
Destination Feature Types 之间。 FME 教程( 2008 版)
19
注意:通过点击工具条上的按钮
,实现在任意时刻快速插入功能的打开
和关闭。
5 注意 2DPointReplacer 上的属性按钮带有一个感叹号并且是红色的。这暗
示着一个必要的参数被忽略了。点击属性按钮打开属性对话框。你会注意
2DPointReplacer 需要知道哪些属性包含 X Y 值。从列表中选择,将
X Vaule 的值设置为 x Y Vaule 的值设置为 y (这些小写字母是 CSV 文件
X Y 列的精确名称—查看文本文件在本章第一节)。
6 点击 OK 接受变更,注意此时属性按钮已不再是红色。
7 为了证实 2DPointReplacer 的结果,你可以插入一个 Visualizer 转换工具,
Visualizer 允许你在 Universal Viewer 中查看数据。你可以在管线的任意一
点上连接一个 Visualizer 。点击工具条上的 Visualizer 按钮
,这样将在
工作区上添加一个 VisualizerTransformer 。将 2DPointReplacer Point 作为
输出连接到 Visualizer ,并且删除到 MapInfo TAB 目标要素类型的连接(这
样以保证不会创建输出文件)。 FME 教程( 2008 版)
20
8 点击 Run 按钮
运行 Workspace 。将会提示你指定目标数据的输出路
径。点击 Browse 按钮,浏览至 C:\FMEData\Output\TutorialOutput 。(因为
没有什么连接到 Destination Feature Types ,因此将没有输出。然而,这里
指定的文件夹将被设置为 Workspace Destination Directory 。这个位置可
以通过 Navigation Pane 的结点时常进行改变)。点击 OK ,当 Viewer 打开
时,它将包括点数据。
9 点击 File>Exit 关闭 Viewer 。你也可以从你的 Workbench 工作区中删除
Visualizer
10 下一步,你需要从点创建线。在 Transformer Gallery 中搜索 pointconnect
并在工作区上添加一个 PointConnector 。尽管 2DPointReplacer 没有输出要
素连接,你仍然可以使用 FME2008 的快速插入方法将 PointConnector 连接
到它上面。通过拽拉 PointConnector 2DPointReplacer Point 输出。一
旦建立连接,将出现在一个大的粉红色点: FME 教程( 2008 版)
21
11 释放 PointConnector 以完成连接。
12 打开 PointConnector 的属性(注意它是黄色的)。指定 road_id 作为
Connection Break Attribute 。这样每当 road_id 改变一次,将引出一条新线。
理解它的一个好的方式是想象用一支铅笔连接一个点集;通过指定 road_id
作为 Connection Break Attribute ,“ pencil ”( PointConnector )将“ lift ”( Break
仅当完成一个单一的连续的道路之后(如同通过道路的名称定义)。
注意: Properties 框的 Color Definitions 的详细讨论见附录 A.
13 点击 OK 接受更改。
14 建立从 PointConnector Line Visualizer 的连接,再次运行工作区。
这一次,输出显示线。 FME 教程( 2008 版)
22
15 关闭 Viewer ,删除 Workbench 中的 Visualizer
16 插入一个 Joiner Transformer ,建立从 PointConnector Line Joiner
的连接。 Joiner 用于从 Access 数据库读取属性,并把它们添加到道路线上。
这时你也许想要清理你的工作区,你可以通过在工作区中点击拖动以重新
安排要素类型和转换工具。你也可以通过在一个连接上右键点击选择
Insert Vertex on Link ”插入结点。
17 点击 Joiner 上的属性按钮。打开 Joiner Wizard
a 点击 Next 略过 Welcome 屏幕。
b 当提示你输入数据库类型时,选择 Access MDB 文件( *.mdb )。当提示
选择文件位置时,浏览至 C:\FMEData\Data\GPS ,选择。不需要输入用户
名称和密码。 FME 教程( 2008 版)
23
c 点击 Next 。提示指定数据库的主键。选择 road_id ,点击按钮
,把它
移动到 Keys 框中。
d 点击 Next 。提示进行主键匹配,从数据库框中选择 ROAD_ID Feature
Attrs 框中选择 road_id 。然后点击按钮
,把它们一起移动到 Key Pairs
框中。
e 点击 Next 按钮接受设置。然后,你必须指定你要使用数据库的哪些属性。
点击按钮
将所有的属性移动到 Added Attributes 框中。 FME 教程( 2008 版)
24
f 继续点击 Next 按钮接受下来几步的缺省设置,一直到最后一步,点击
Finish 关闭向导返回 Workbench
18 点击 Joiner Joined output 前面的标记
,这样新添加的属性名称就
会显示出来。
19 这时你可以通过选择 File>Save 存储你的工作区。将工作区命名为
CSVRoads.fmw 把它存在 My Documents\My FME Workspaces 下。
20 添加一个 AttributeFilter ,并建立从 Joiner Joiner 到它的连接。
AttributeFilter 将允许我们根据某个属性值对道路进行分类。在运行之前,
也许你需要再次重新调整一下你的工作区。 FME 教程( 2008 版)
25
21 点击 AttributeFilter 上的属性按钮,选择 ROAD_CATEGORY 作为
Attribute to Filter by ”。对于 Possible Attribute Values ,在第一行中输入
RURAL ,在第二行中输入 MAJOR ,在第三行中输入 MINOR
提示:你对你对 Road_Category 的所有可能的属性值并不确定,你可以使
用右下方的 Import 按钮,这将提示你找到源数据集(这里是 Microsoft
Access Database )以读取属性结构。并找到包含数据的文件(这里是
road_attrs.mdb )。 Workbench 将读取文件,搜索指定属性的所有不同属性值,
并自动计算 Possible Attribute Values
22 点击 OK 。你会注意到 AttributeFilter Rural Major Minor 输出。
建立从 AttributeFilter MAJOR Visualizer 的连接,运行工作区。 FME 教程( 2008 版)
26
这时就只显示 road_category 是“ MAJOR ”的道路。再次关闭 Viewer ,删
Workbench 中的 Visualizer
23 通过点击左边的
符号,扩展 Destination Feature Type ,你会注意到
Destination Feature Type 并不包含我们已经从数据库添加的任何属性的定
义。有几种方法进行改正,最快捷的方法是使用 roads_attrs.mdb 作为属性
结构的模板导入一个新的 Destination Feature Type 。首先要删除现存的
Destination Feature Type
注意:当提问你是否移除数据集,一定要选择 No
24 为了导入一个新的 Destination Feature Type ,选择 Destination
Data>Import Feature Type Definitions 。打一个源对话框,指定格式为
Microsoft Access Database Attribute Only ), 浏 览 至
C:\FMEData\Data\GPS\road_attrs ,点击 OK
注意:这时,我们读取 MDB 文件的结构,并使用这些属性来创建新的
Destination Feature Type 。尽管现在这些 Destination Feature Types MDB
文件有相同的属性,但是当创建工作区时它们仍将按你所指定的转化为
MapInfo Tab 文件。
25 当提示“ Select a Feature Type to Load ”,选择唯一的选项 major_roads
点击 OK ,一个命名为 major_roads Feature Type 将显示,它的属性是正
确的。
26 本练习涉及对于每一道路类型创建一个单独的 MapInfo TAB 数据集。
因此,你还需要两个 Destination Feature Types 来放 Rural Minor 道路。
选择新点 major_roads Destination Feature Type ,右键点击,在菜单中选择
Copy 。单击 canvas 上空白处的某个地方,再次右键点击,选择粘贴。再重 FME 教程( 2008 版)
27
复一次创建第三个 Destination Dataset 。(在右键点击产生的菜单中,除了
复制和粘贴,你也可以替换使用“ Duplicate ”)。
27 下一步是重命名 Destination Feature Types ,并把它们连接到
AttributeFilter 。在 Destination Feature Type 的顶部右键单击选择 Rename
28 把上面的 Destination Feature Type 命名为 Rural ,中间的命名为 Major
最下面的命名为 Minor 。将 AttributeFilter 对应的输出端和这些 Feature Types
连接起来。
25 为了保证每个写出的文件都正确,需进行最终的检测。你可以在
Universal Viewer 中打开所有的 Destination Feature Types 。这次,使用
Destination Redirect 结点将输出连至 Visualizer (这和插入一个 Visualizer
相类似—然而,它仅仅是最后的输出端。如果你有多于一个的 Destination
Feature Type ,它是最简单的可视化你的输出的方式。)点击 Navigation
板上的 Workspace Setting 标签页,双击 Destination Redirect 结点。这将打
开一个带有选择重新指定输出的位置的下拉列表的对话框,选择 Redirect
to Visualizer 选项,点击 OK 接受选择。(这一设置也可以通过点击
Destination Data>Redirect to Visualizer 实现。)
30 点击 Run 按钮,打开 Viewer FME 教程( 2008 版)
28
31 一旦你对结果满意,关闭 Viewer ,通过双击结点选择 No Redirect 关闭
Destination Redirect 。。
32 最终,为了创建输出,点击 Run 按钮。因为没有 Visualizer 选项打开,
数据将进行转换,输入 MapInfo TAB 文件将被创建。(目标路径列在
Navigation Pane 下的 Published Parameters —这里,它是 TutorialOutput 文件
夹,如同前面的说明。)如果你查看一下 Workbench 的日志文件窗口,就
能看到每一种类型所创建的要素的个数的解释。
注意:这个区域内的文本包含了转换过程的一些重要信息。如果你在输出
数据中得到了你不想看到的结果,查看日志内容。日志显示的统计和过程
信息有:
Reader being used
Writer being used
日志信息
警告信息
转换时间
内存使用
消息的显示一直到工作台的任务完成。从日志中,你可以查找文本,直接
复制窗口中的内容到另一个应用程序或者将内容保存为一个文本文件。
33 现在,在 Universal Viewer 中打开 Tab 文件证实结果。打开 Universal
Viewer ,选择 File>Open Dataset ,打开 Select Dataset 对话框,将格式设置
MapInfo TAB ,然后点击
Browse
按钮,浏览至
C:\FMEData\Output\TutorialOutput 。刚才所创建的三个 Tab 文件可以看到,
按住 Ctrl 选择它们。 FME 教程( 2008 版)
29
34 点击 Open 接受所选择的文件,然后再次点击 OK 打开三个 Tab 文件。
35 这样将在 Viewer 中加载三个 TAB 文件。
注意:这三个 TAB 文件都显示为同一种颜色,为了改变每一层的颜色,点
击层名旁边的色板,打开 Color 对话框,在这里,你可以选择想要的颜色,
重复此操作到所有层。
33 关闭 Viewer 如果你对结果满意。
34 保存你所创建的 Workspace ,因为我们要在下一节的练习中使用它。
创建自定义格式
本练习中,创建一个 Custom Format (自定义格式),改变相关的文件类型,
并在 Universal Viewer 中进行查看。
本例中,你有许多 .gps 文件(以及相关的 MDB 文件)。你希望可以将这些
文件当作完整的道路使用而不是 CSV 文件,但是你并不想给每一个文件都 FME 教程( 2008 版)
30
去创建一个独立的工作区。
保存一个工作区作为自定义类型
1 如果工作区还没有激活,打开 Workbench ,从菜单上选择 File>Open ,打
CSVRoads.fmw 。浏览到 My FME Workspaces ,选择文件,单击 Open
2 在你创建自定义格式之前,需要对工作区做一些改变。在上一个练习中,
创建了三个独立的输出写入了三个文件。在 Custom Formats 中,这样的过
程不起作用。一个 Custom Format 要求一个单独的输出,所以解决的方法
是将这些所有道路类型发送到同一个输出 AllRoads 。在工作区中,右键点
击“ Rural Destination Feature Type 选择 Delete ,重复上述步骤删除“ Major
Destination Feature Type
3 这时,仅有一个 Destination Feature Type 保留下来。 FME 教程( 2008 版)
31
建立从 AttributeFilter Rural Major Minor 到保留下来的 Destinatioon
Feature Type 的连接。然后,通过右键点击选择 Rename ,将 Destination
Feature Type 命名为 AllRoads
5 现在,你已经创建了 Custom Format 。选择 File>Export as Custom Format
打开一个对话框,提示输入 Custom Format 的名字和描述。在名字中输入
AllRoads ,在描述中输入 AllRoads CVS to MapInfo
6 点击 OK ,打开包含 Custom Format 工作区的另一个 Workbench 实例。
它也存储了 Custome Format 文件( AllRoads.fds )到 Formats 文件夹(缺省
位于 My Documents\FME )。
注意:在一个屏幕上同时显示两个 Workbenches 似乎有些奇怪,其实原因
很简单。 Workbench 必须将 Destination Feature Type MapInfo 改为另一种
可以被当作 Custom Format 使用的另一种不同的格式。
7 因为不再要求从源 CSV MapInfo 的工作区,因此在 File>Exit 点击之
后寻问是否保存改变时选择 No
将自定义格式和另一个不同扩展名的文件联合起来
因为开始使用的源读取器是 CSV ,所以 Custom Format 就会过滤掉所有文
件扩展名不为 .csv 的文件。下一步改变 Custom Format ,使其仅选择 .gps
件。
1 Navigator 面板上,扩展“ Major_Roads[CSV] ”结点以显示 Parameters
注意 Source CSV File s )结点为紫色;这暗示着参数已经发布( FME
省发布参数)。 FME 教程( 2008 版)
32
注意:关于发布参数的信息在 Published Parameters 结点(位于 Naviagotr
面板下)下也可以获取,注意它只包括一个单独的输入。
2 右键点击“ Source CSV File s )”结点选择 Edit Parameter 。打开 Edit
Published parameter 对话框。
就像你看到的,这个对话框允许你选择一个或多个新的 Source CSV 文件。
然而,这个和我们的目的不相符。因为我们创建一个自定义格式,我们希
望输入数据有最大的灵活性;一个好的自定义格式可以被多个系统的多个
用户共享。这种情况下,我们需要把我们的自定义格式和任意的 GPS 输入
—不仅仅是我们本地机上的存在的数据集的选择连接起来。为了建立这个
连接,我们必须首先 Unpublish our parameters
3 选择 Cancel ,关闭 Edit Published parameter 对话框,然后在 Source CSV
File s )结点上右键点击,选择 Unpublish Parameter 。注意结点变为绿色,
同时, Published Parameters 结点下的输入消失了。 FME 教程( 2008 版)
33
4 再次右键点击该结点,选择 Publish Parameter ,这样 Edit Published
Parameter 结点再次打开。
5 注意出现了几个新域;因为我们现在处理 Unpublished Parameters ,我们
有相当大的自由,例如编辑自定义格式的 File Filter
6 改变 Name Prompt 以匹配我们要提示的数据。将 Name 设置为
Sourcedataset_GPS Prompt 设置为 GPS Files s ):。现在,因为 Custome
format 使用 GPS 文件,而非 CSV 文件,因此你必需改变 File filter 。点击
File filter 的浏览按钮,打开 File Filter 对话框。 FME 教程( 2008 版)
34
7 移除所有存在的过滤器,通过在 Description 框中输入 GPS_Files *.gps ),
Filter 框中输入 *.gps 加入一个 GPS 过滤器
8 点击 OK 接受这些更改,关闭 File Filter 对话框,再点击 OK 关闭 Edit
Published Parameters 对话框。
这时,你会注意到 Source CSV File s )再次变为紫色,而 Published
Parameters 结点包含“ Source GPS File s )”输入。
9 保存工作区 FME 教程( 2008 版)
35
浏览自定义格式
既然已经创建了一个 Custom Format ,那么如何使用它呢?一个 Custom
Format 的使用和其它任何一种格式是一样的。它可以作为一个数据自动转
换或者工作区的源。它也可以像下面看到的那样在 Viewer 中直接打开。
1 打开 Universal Viewer
2 点击 File>Open Dataset
3 Source Format 文本框中输入 road ,过滤器将自动找到 AllRoads 格式。
4 点击浏览按钮,浏览至 C:\FMEData\Data\GPS\GPSRoads 。注意缺省情况
下,只有 .gps 文件可见。你编辑自定义格式的参数所做的工作可以起作用
了,文件选择过程变得简单快速。如果你计划把你的格式和那些不太清楚
它的独特的输入要求的人共享,这个尤其有价值。
5 选择 major_roads.gps ,点击 OK
6 点击 Select Dataset 对话框中的 OK 按钮,加载 .gps 数据。注意 CSV 文件
包括图形,也包括与之相联的 MS Access 数据库中的属性。 FME 教程( 2008 版)
36
自定义转换工具
本练习中,你将创建一个 Custom Transformer ,并学习如何把它分配给其
它的 Workbench 用户。
这个实例中,另一个办公室的一起工作的合作者听说你是一个 Workbench
高手。他联系你希望学习一样如何能够创建一个 CSV 文件工作流程。你肯
定一个 Custome Transformer 可以使他免除重复你所做的所有复杂工作。
创建自定义转换工具
1 打开 Workbench ,打开位于 My Documents\My FME Workspaces 的工作
CSVRoads.fmw
注意:这个练习建立在前面 Custome Formats 部分之上。如果你还没有完
成那个练习,在进行之前,你需要对你的工作区做几处细微的更改(按照
保存一个工作区作为自定义格式一节中的 1-4 步)。之后一定要存储你的工
作区。
2 因为你的合作者的文件名称和你的也许不同, Custom Transformer 必须
对任何改变的设置进行提示。这个通过发布参数完成。先在 Navigation
板上扩展 Transformer 结点。
3 现在扩展 Joiner 结点。通过在 Joiner 转换工具上右键点击选择 Publish
Parameter 发布它的 Joiner Source 参数。这样将打开 Edit Published Parameter
对话框。 FME 教程( 2008 版)
37
4 注意四个参数。当工作区运行时,缺省显示的 Default Value 域包括了数
据库的名称和位置。 File Filter 允许你指定被用作 Joiner 转换工具的源的所
有可能的文件类型—如果需要,你可以将这个限定为带有 MDB 扩展名的
MS Access 文件。 Name 内部使用, Prompt 文本将告诉用户输入的参数。
点击 OK 按钮,接受所以缺省值。
注意:这将引起工作区提示你的合作者道路关联的数据库的名称和位置。
如果这步跳过,数据库将和你创建工作区时使用的数据库的名称和位置相
同。
5 扩展 Published Parameters 结点查看新的发布参数。注意 Source
Destination 信息缺省发布。 FME 教程( 2008 版)
38
6 现在你将创建一个 Custom Transformer 。在工作区中,选择
2DPointReplacer 。然后,按上 Ctrl 键,点击 PointConnector Joiner 。这三
个转换工具现在都已选择。右键点击,选择 Creat Custom Transformer
7 这样将打开 Custom Transformer Properties 对话框。指定你的新的转换工
具的名称和类别以及描述信息。 FME 教程( 2008 版)
39
8 点击 OK 接受信息。你将注意到工作区窗口中创建了一个新的激活的标
签页,它显示了 Custom Transformer 的组成。
9 点击 Main 标签页,你将看到 2DpointReplacer PointConnector Joiner
被一个命名为 RoadBuilder 的单一转换工具替代。这就是你的 Custom
Transformer ,这时,过程完成。 FME 教程( 2008 版)
40
投递自定义转换工具
1 下一步是使得你的 Custom Transformer 成为一个可以发送给你的合作者
的格式。选择 RoadBuilder 标签页,转到 RoadBuidler 定义。选择 File>Export
as Custome Transformer
2 这样将打开另一个 Workbench 。使用 Custom Formats Workbench 你会看
到,输入和输出与一个常规的工作区不同。
3 源工作区现在可以关闭了。最后一步是把你的新的 Custom Transformer
发送给你的合作者。因为新的转换工具是一个文件。你可以把它放在 CD
上给他。然而,你想进一步加深你同时对你 Workbench 知识的印象,所以
你决定通过 Workbench 直接 E-mail 给它。点击 File>Send To FME 教程( 2008 版)
41
4 这样将打开你的缺省的 e-mail 客户端,并且 Custom Transformer 以文件
形式添加为附件(缺省情况下, Transformers 存储在
MyDocuments\FME\Transformers )。
为了安装它,你的合作者只需要把 RoadBuilder.fmx 文件保存到磁盘然后双
击它,就可以立即使用了。
你已经完成了第三章 Custom Translations-FME Workbench 的学习教程到此
也完成了。
到目前为止已经向你介绍了 Workbench 的功能。你已经了解了 Universal
Viewer 查看数据和创建工作区快照的方式。你也学习了如何创建和投递
Custom Transformers FME Suite 产品拥有多个格式和转换工具,为了更好
地满足自己的数据转换需要,这里所学习的基本知识有待提高。 42
附件 A —了解 Workbench
Workbench 界面
菜单条和工具条
Workbench 窗口顶部的下拉菜单包含改变整个工作区的命令;而各单个命
令菜单(通过在工作区中右键点击选择一个对象进行显示)在进行组成分
离时则是可用的。
增强工作区工具条
把光标放在一个工具上可以看到该工具的功能的一个简要描述。
文件工具允许你打开一个新的工作区,打开一个数据集,存储、打印、运
行和终止一个转换。
编辑工具条允许你剪切、复制、粘帖、撤消和恢复。
Viewer 工作条允许你漫游、放大和缩小范围。它也允许你 Toggle feature
count display 和快速插入。
Insert 工具允许你添加源数据集和目标数据集,要素类型,注释,它们也
允许你执行 Anto Layout
设计布局工具条
把光标放在一个工具上可以看到该工具的功能的一个简要描述。布局工具 43
允许你:
自动安排屏幕布局。
选择多个结点,使得它们上、下、右或左对齐。
水平垂直展开结点。
展开或折叠(显示或者隐藏)所有要素类型的属性。
注意:一些工具条,例如: Layout 工具条,并非 Workbench 工具条缺省的
一部分。为了使用附加工具条,在工具条上右键点击,选择 Customize
Toolbar 。在这里,你可以通过在列表中点击,并拖动一个命把它添加到工
具条上。
状态条
Workbench 窗口左下方区域显示过程信息以及选择菜单项或者工具的简要
描述。
Workbench 组成
Workbench 运行时,它从输入的数据中读取要素类型属性。它开始时给
输出数据显示和输入数据相同的要素类型和属性。所以,你经常会看到:
颜色定义
Properties 按钮在 Transformer 的右上方。它可以呈现为不同的颜色,显示
为感叹号或者省略号。 44
大多数情况下, Transformers 包含你运行 Workbench 时可以使用的缺省值。
然而,如果属性按钮是红色的,并且显示有感叹号时,操作的字段有一个
是未设置的,你必须输入一个值才能运行转换。
如果属性按钮是黄色的,并且显示为省略号,转换工具在使用缺省值并且
起作用。但是你还未确定缺省值是否是合适的。通过点击属性按钮,检查
值,做一些可能的更改,然后点击 Edit Properties 对话框中的 OK 来完成确
认。
如果属性按钮和背景颜色相同,并且显示为省略号,你已经存储了值。假
如你仍然想要编辑值,点击属性按钮打开 Edit 对话框。
输入箭头是红色的
红色的箭头意味着这个端口没有输入。如果这是
一个要素端口,没有要素进来;如果这是一个属性端口,没有设置值。这
并不被认为是一个错误,因为存在你不想给一个特殊的端口任何输入的情
况。然而,通常你双击红色箭头以保证任何丢失的输入是故意的。
输入箭头是绿色的
:连接已设置。
输出箭头是黄色的 :你不需要必须连接输出,但是如果未连接,运行
Workbench 时,它的值将丢失。
快速更改
重命名和创建新属性
重命名一个属性而不打开属性对话框的方法是,选择属性名称,在命令菜
单中点击 Rename 。你也可以按 F2
创建连续的新属性。选择整个目标类型,右键点击选择 Add Attribute 。在
对话框中输入新的名称,当它出现之后,跳过该域以接受缺省值完成输入。
点击 OK ,在 Workbench 工作区中出现属性: 45
之后可以退回并编辑属性。通过选择属性,从命令菜单中选择 Properties
编辑要素属性。
删除一个连接。直接点击连接线,按 Delete 键或右键点击,在命令菜单中
点击 Delete
为选择多个连接,选择下面两种方法之一:
按下 Ctrl 键,依次点击连接线。
按下鼠标左键,一个区域周围拽拉光标成框,之后释放鼠标,按 Delete
删除转换工具的连接
删除一个连接可以通过直接点击连接,然后按下 Delete 键,也可以通过右
键点击连接,在弹出的菜单中选择 Delete
按照下列方法之一选择多个加接:
按下 Ctrl 键,逐个点击每个连接。
按下鼠标左键,在一个区域周围拉动光标形成一个框,翻译鼠标左键,按
Delete
插入转换工具的连接
方法 1 :向导
这种方法帮助你保证连接的精确度,尤其是你在处理一个复杂的工作区时。
往工作区中拽入一个新的转换工具。
选择转换工具,右键点击,选择命令菜单中的 Insert Before
一个向导带领你完成连接设置,允许你快速容易地连接多个端口。
新的转换工具出现在工作区上。
方法 2 Quick Insertion
FME2008 允许你通过拖拽一个转换工具到合适的地方再释放它快速连接
一个转换工具。如果你使用一个相对简单的工作区而且要求效率和速度这
种方法则是有用的。
注意:关于 Quick Insertions 的更多信息,参照转换工具介绍一节。 46
在连接线上插入结点
选择一个连接,右键点击,选择命令菜单点击 Insert Vertex on Link 。这样
你可以在界面上的其它区域周围安排你的连接(你也可以仅通过在你希望
建立一个新的结点的连接上双击即可)。
发布了12 篇原创文章 · 获赞 9 · 访问量 1733

猜你喜欢

转载自blog.csdn.net/qq_37141536/article/details/105293490