FME与数据转换
数据在不同格式和应用程序之间的迁移通常涉及到多种格式之间的转换,数据集通常包含
了各种复杂组件,这些组件很可能与目标系统需求并不匹配。为了保留数据的关键部分,
将其无损地加载到目标应用程序中, 你可能需要调整数据模型、内容、描述元素和/或坐标
系统,这就是数据转换,是FME的核心功能之一。
FME® 包含了500多个转换器,用以执行不同类型的数据转换。在FME Workbench中,转换
器存放在转换器库里,并按照各自功能和主要作用进行了分类。你也可以通过关键字查找
转换器。
本参考手册对FME Workbench, 数据检查和每个转换器的功能进行了概括总结。
可以通过FME Workbench帮助菜单、画布中转换器的帮助菜单找到帮助文档,
或是访问support.safe.com/KnowledgeDocumentation获取更多详细信息。
FME Workbench概览
FME Workbench 是一个强大的工具,可以进行数据变换、共享、转换、验证以及整合。
Workbench中的对象是以图形形式放置在画布中(可视化图形界面),并保存为工作空
间。默认情况下,工作流是从左向右进行读取:读模块(源数据)在左侧,转换器在中间,
写模块(目标数据)在右侧,将它们互相连接起来构成数据流——在不同的分支和不同的对
象之间也能建立连接。
1
3
2
4
1
2
3
4
导航窗口: 对工作空间中的对象分层显示。
转换器库: 包含500多个转换器,在源数据和目标数据之间进行数据重组。
画布:对代表数据和数据转换器的对象及连接,用图形化工作流的形式显示出来。
转换日志:包含关于工作空间转换的详细。
1
FME 转换器参考手册
FME Data Inspector概览
FME Data Inspector主要用于在转换前预览数据以及在转换后检查数据,它也能够用于检查
转换中某一点的数据。
FME的一个关键功能就是连接Workbench和Data Inspector – 一个Inspector转换器可以在工作
空间运行的任何点启动Data Inspector , 检查工具还可以进行要素到要素的分析。
1
2
3
4
1
2
3
4
显示控制: 显示打开的数据集及其要素类列表。
视图:同时显示单个数据集或多个数据集。
要素信息: 显示所选要素的信息,包括要素类、属性以及几何图形的详细信息。
表视图:以表格格式显示为终端用户展示的要素信息的值。
一个简单的FME工作空间有哪些组件
在工作空间中,转换组件以可视化的、层级结构进行表示。层级结构非常重要,因为它会影响到
组件如何被添加和转换,更会影响到如何控制被转换的各层组件。组件包括 (一部分):
• 读模块 (源格式和数据)
• 写模块 (目标格式和输出数据位置)
• 读模块和写模块要素类 (在FME中, 要素类表示记录的子集; 例如图层、表和电子表格
等)
• 属性
• 转换器
本手册主要是对转换器的介绍—— 同时也体现了为什么转换器是FME强大、多功能的关键所
在。在第4页中用一个简单的工作空间展示了转换器如何工作,其他内容说明了转换器具体能做
哪些处理。
2
基本操作:添加和编辑转换器
有多种方法可以在Workbench画布中添加转换器 ,首先你可以通过最简单的方法——在转
换器库中双击转换器的名称,它就会显示在工作空间中。
每一个转换器都有一个属性按钮,它的颜色代表了转换器参数的状态。
如果属性按钮颜色和转换器颜色相同,表示你可以使用当前参数
设置下的转换器。
黄色的属性按钮表示转换器包含默认设置,但你尚未确认参数
值。你可以使用这种状态下的转换器,但是工作空间可能会产生
意外结果。
红色属性按钮表示至少有一个必填参数没有提供有效值,你必须
在使用这个转换器之前为所有必填字段提供一个值。
当你点击属性按钮时,就会出现与以下对话框类似的参数设置框。对话框的具体内容取决
于转换器,有时还取决于连接到转换器的连线。但是,大多数转换器都会有一些共同的用
户界面元素,如下所示。
可以编辑默认转换
器名称
必填参数高亮显示
转换器参数菜单按
钮
3
默认菜单,提供使用
默认值的选项。
点击确定,确定设置
并关闭对话框。(如
果必填字段没有填
入,则该按钮不可
用。)
FME 转换器参考手册
设置转换器参数
大多数转换器参数可以结合到Workbench工作空间中的其它部分,这意味着这些参数,
包括工作空间的其他转换器参数,都能很容易进行配置以作用于源数据元素。转换器还
有更多高级功能,如文本编辑器和四则运算编辑器。
在大多数情况下,可以直接使用默认设置的转换器。
关于转换器参数的详细信息,参照FME Transformer帮助文档,或在workbench
画布上选择一个转换器,查看界面底部的帮助标签。
基本操作:创建并运行一个简单的工作空间
这个例子展示了如何创建一个新的工作空间。本例中源数据包含了80个城市公园的相关信
息。
通过点击“文件->新建->生成工作空间”
创建新的工作空间:
1. 选择源数据的格式和位置(读模块)
2. 指定目标数据的格式和位置(写模块)
3. 选择对话框中的默认设置
点击OK。工作空间读取数据,并生成初始工
作空间。
画布中的对象分别表示数据和数据流。读模块要素类显示了该数据包含一个DogPark属
性。
DogPark 属性
4
因为我们想要确定哪些公园允许遛狗,那么
需要添加这两个转换器:一个Tester转换器
(过滤数据),一个Inspector转换器(浏
览数据)。将Tester参数设置为仅过滤出允
许遛狗的公园,Inspector转换器打开Data
Inspector显示结果
点击运行工具
结果显示出有7个公园允许遛狗。这些结果通过Tester转换器的 端口发送到所添
加的命名为DogParks的写模块要素类。
工作空间显示出有73个公园不允许遛狗,这些结果通过Tester转换器的 端口输出
到原始Parks写模块要素类。
由于我们还加了一个Inspector转换器到Tester转换器的Passed端口,因此Data Inspector会
自动打开。
在这里,背景地图选项可以让我们看到这7个允许遛狗的公园的具体位置。
5
FME 转换器参考手册
Windows下Workbench 快捷键
连接Inspector
连接Logger
根据所选转换器或所选
书签创建自定义转换器
选择对象然后按住
Ctrl+Shift+I
选择对象然后
Ctrl+Shift+L
Ctrl+t
复制转换器
Ctrl+d
利用快速添加:
如果你有一个转换器
并想再添加一个相同
的转换器,点击 斜杠
“/” 键。快速添加框将
显示在最后选择的转
换器上。点击返回键
选中它,再点击返回
键编辑它的参数。
根据名称查找转换器 当鼠标光标放在画布
上时, 点击斜杠符 “/”
启动快速查找转换器
功能。点击箭头在名
称和关键字之间切
换。
其他工作空间编辑
添加书签
添加注释
添加概要注释
启用/禁用对象(包括连
接线和要素类)
运行工作空间
运行转换
提示并运行转换
带完全检查运行
带检查点运行
切换检查点
Ctrl+b
选中对象然后点击
Ctrl+k
选中对象然后点击
Ctrl+Shift+K
Ctrl+e
F5
Ctrl+r
Shift+F5
Ctrl+Shift+F5
F9
常用视图
新建
(创建一个新的工作
空间)
生成工作空间
打开(工作空间)
退出(工作界面)
关闭(工作空间)
切换到下一个标签
切换到上一个标签
选择标签索引
关闭当前标签
打开内容文件夹(数据
集)
将当前窗口在画布中
最大化显示
全屏显示
放大
Ctrl+n
Ctrl+g
Ctrl+o
Ctrl+q
Ctrl+w
Ctrl+Tab
Ctrl+Shift+Tab
Ctrl+数字键
Ctrl+F4
Ctrl+O
Shift+F11
F11
Ctrl+
Ctrl-
Ctrl+0
单击滚动条 (或鼠标中
间按钮) 并拖拽光标
返回光标到执行箭头 右键点击画布的任意
缩小
100%显示
漫游
位置
Ctrl+滚动条
Ctrl+f
F3
缩放
查找:
- 如果光标停留在工作
空间表示查找工作空间
- 如果光标停留在日志
窗口表示查找日志内容
常见编辑
剪切
复制
粘贴
重复
保存
全选
取消
灵活删除
(自动修复连接)
删除(不带修复)
Ctrl+x
Ctrl+c
Ctrl+v
Ctrl+Shift+L
Ctrl+s
Ctrl+a
Ctrl+z
Delete键
Shift+Delete键
读模块,写模块和转换器
添加读模块
Ctrl+Alt+r
Ctrl+Alt+w
添加写模块
6
转换器分类
3D类
CSGBuilder 19
CSGEvaluator 19
Extruder 22
FaceReplacer 22
MeshMerger 31
计算
AngularityCalculator 12
AreaCalculator 13
AttributePivoter 14
AttributeRounder 15
BaseConverter 15
BoundsExtractor 16
CenterPointExtractor 16
CircularityCalculator 17
CoordinateConcatenator 18
CoordinateCounter 18
CoordinateExtractor 18
Counter 19
CRCCalculator 19
DateFormatter 20
DecimalDegreesCalculator
20
DEMDistanceCalculator 20
DensityCalculator 20
DimensionExtractor 20
DMSCalculator 21
ElevationExtractor 22
ExpressionEvaluator 22
HoleCounter 26
LeftRightSpatialCalculator
29
LengthCalculator 29
ModuloCounter 32
OrientationExtractor 34
RandomNumberGenerator
36
SpatialRelator 43
StatisticsCalculator 44
TextureCoordinateSetter 46
VolumeCalculator 48
聚合体
2DGridAccumulator 11
Aggregator 12
AreaAmalgamator 13
BoundingBoxAccumulator
16
CommonSegmentFinder 18
Deaggregator 20
FeatureHolder 22
FeatureMerger 23
HullAccumulator 26
ListBasedFeatureMerger 30
NeighborFinder 33
NeighborhoodAggregator 33
NeighborPairFinder 33
Sorter 43
坐标系
AttributeReprojector 15
CommonLocalReprojector 18
CoordinateSystemDescriptio
CoordinateSystemDescription
Converter 19
CoordinateSystemExtractor
19
CoordinateSystemRemover
19
CoordinateSystemSetter 19
CsmapAttributeReprojector
19
CsmapReprojector 19
EsriReprojector 22
GridInQuestReprojector 25
GtransAttributeReprojector
26
GtransReprojector 26
LatLongToMGRSConverter
29
LocalCoordinateSystemSetter
31
MGRSToLatLongConverter
32
ReframeReprojector 40
ReprojectAngleCalculator 40
ReprojectLengthCalculator
40
Reprojector 41
数据库
ArcSDEQuerier 13
DatabaseDeleter 20
DatabaseUpdater 20
FeatureMerger 23
FeatureReader 23
InlineQuerier 27
Joiner 27
SchemaMapper 41
SQLCreator 43
SQLExecutor 44
过滤
AggregateFilter 12
AttributeFilter 14
AttributeRangeFilter 15
ChangeDetector 17
ClosedCurveFilter 18
ConvexityFilter 18
DuplicateFilter 21
FeatureTypeFilter 23
GeometryFilter 24
LicenseChecker 29
Matcher 31
MultipleGeometryFilter 32
PlanarityFilter 34
Sampler 41
SpatialFilter 43
Tester 46
TestFilter 46
几何操作
AffineWarper 11
AnchoredSnapper 12
AreaBuilder 13
AreaOnAreaOverlayer 14
Clipper 18
Dissolver 21
DonutBridgeBuilder 21
DonutBuilder 21
DonutHoleExtractor 21
GeometryValidator 25
Intersector 27
Labeller 28
LineJoiner 29
LineOnAreaOverlayer 30
LineOnLineOverlayer 30
PathBuilder 34
PointConnector 36
PointOnAreaOverlayer 36
PointOnLineOverlayer 36
PointOnPointOverlayer 36
RubberSheeter 41
SliverRemover 42
Snapper 42
SolidBuilder 43
SpikeRemover 43
SurfaceBuilder 45
SurfaceOnSurfaceOverlayer
45
Tiler 47
TopologyBuilder 47
Triangulator 47
IFC
IFCPropertySetDefinition
Creator 26
7
FME转换器参考手册
IFCQuantitySetDefinition
Creator 26
基本结构
2DGridCreator 11
AttributeCompressor 14
AttributeCopier 14
AttributeCreator 14
AttributeDecompressor 14
AttributeDereferencer 14
AttributeExposer 14
AttributeFileReader 14
AttributeFileWriter 14
AttributeManager 14
AttributeRenamer 15
AttributeValueMapper 15
Cloner 18
Creator 19
Emailer 22
EnvironmentVariableFetcher
22
FeatureColorSetter 22
FeatureTypeExtractor 23
FMEFunctionCaller 23
Inspector 27
JavaScriptCaller 27
Logger 31
LogMessageStreamer 31
MultipleGeometrySetter 32
NullAttributeMapper 33
ParameterFetcher 34
Player 34
PythonCaller 36
PythonCreator 36
RCaller 40
Recorder 40
SharedItemAdder 42
SharedItemIDExtractor 42
SharedItemIDSetter 42
SharedItemRetriever 42
SummaryReporter 45
SystemCaller 46
TclCaller 46
TCPIPReceiver 46
TCPIPSender 46
TempPathnameCreator 46
Terminator 46
TraitMerger 47
TransporterReceiver 47
TransporterSender 47
VariableRetriever 48
VariableSetter 48
JSON
JSONExtractor 27
8
JSONFlattener 28
JSONFormatter 28
JSONFragmenter 28
JSONTemplater 28
JSONUpdater 28
JSONValidator 28
KML
KMLPropertySetter 28
KMLRegionSetter 28
KMLStyler 28
KMLTimeSetter 28
KMLTourBuilder 28
KMLViewSetter 28
线性参考
LengthToPointCalculator 29
MeasureExtractor 31
MeasureGenerator 31
MeasureRemover 31
MeasureSetter 31
Snipper 42
列表
AttributeExploder 14
ListBasedFeatureMerger 30
ListBuilder 30
ListConcatenator 30
ListCopier 30
ListDuplicateRemover 30
ListElementCounter 30
ListExploder 30
ListExpressionPopulator 30
ListHistogrammer 30
ListIndexer 30
ListPopulator 30
ListRangeExtractor 30
ListRenamer 30
ListSearcher 30
ListSorter 31
ListSummer 31
操作
2DArcReplacer 11
2DBoxReplacer 11
2DEllipseReplacer 11
2DForcer 11
3DAffiner 11
3DArcReplacer 11
3DForcer 11
3DInterpolator 11
3DRotator 11
Affiner 11
AngleConverter 12
ArcEstimator 12
ArcPropertyExtractor 12
ArcPropertySetter 12
ArcSDEGridSnapper 13
ArcStroker 13
AttributeKeeper 14
AttributeRangeMapper 15
AttributeRemover 15
BoundingBoxReplacer 16
Bufferer 16
BulkAttributeRemover 16
BulkAttributeRenamer 16
CenterLineReplacer 16
CenterPointReplacer 17
Chopper 17
CoordinateRemover 18
CoordinateReplacer 18
CoordinateRounder 18
CoordinateSwapper 18
Curvefitter 19
Densifier 20
Displacer 21
EllipsePropertyExtractor 22
EllipsePropertySetter 22
Extender 22
FilenamePartExtractor 23
Generalizer 24
GeographicBufferer 24
GeometryCoercer 24
GeometryExtractor 24
GeometryInstantiator 24
GeometryPartExtractor 24
GeometryPropertyExtractor
24
GeometryPropertyRemover
24
GeometryPropertyRenamer
24
GeometryPropertySetter 24
GeometryRefiner 25
GeometryRemover 25
GeometryReplacer 25
HullReplacer 26
LabelPointReplacer 29
LineCloser 29
MinimumAreaForcer 32
MinimumSpanningCircle
Replacer 32
OffsetCurveGenerator 33
Offsetter 34
Orientor 34
PartCounter 34
PathSplitter 34
PointPropertyExtractor 36
PointPropertySetter 36
Rotator 41