SchemaMapper

根据外部查找表中定义的映射,将现有的功能模式(数据模型)转换为新的结构。

当映射可能很复杂或者需要由不熟悉FME的人维护时,这种技术非常有用。使用外部查找表来定义这些映射可以简化这些任务的完成。

SchemaMapper转换器使用的模式映射查找表定义了一系列要满足的条件(过滤器),以及在满足条件时将执行的一系列操作。

查找表可能有不同的格式,例如:逗号分隔的文件或纯文本文件;电子表格(Excel或谷歌);或数据库,如Oracle、PostGRES、Informix、SQL Server等。

如果传入的特性与表中任何一行中的规则匹配,则转换器对该特性的潜在操作按类型列出如下:

地图功能类型:

特性类型——由fme_feature_type定义——从其现有值映射到定义新特性类型的值。例如:

道路→中心线

映射属性:

特性上的一个或多个属性通过将其现有属性名称重命名为新属性来映射。例如:

Name_of_Road→RoadName

设置新属性:

将创建一个新属性,其名称和值在查找表中定义。

变压器端口

具有对其执行操作的功能部件通过映射端口。否则,它们将通过地图上未标明的端口。

除了特性类型之外,每个特性的几何形状都保持不变。

功能输出通过映射port将接收一个新属性,该属性指定将模式映射表中的哪些行应用到该特性。这些行被指定为逗号分隔的字符串(例如,'3,4,5')。属性指定选定行属性参数,并且只能在Navigator窗格中更改。将此参数设置为空值将阻止将属性添加到功能部件中。

SchemaMapper使用

你可以使用SchemaMapper:

域映射:可以根据定义良好的域或查找表重新映射属性值。例如:

  • 主要路线→美国高速公路
  • 次要路线→州际公路
  • 主要路线→县道

动态翻译:在哪里创建工作空间来处理任何数据结构

自动模式映射:其中,源模式和目标模式之间的手动连接是使用外部查找表自动完成的。

注意:模式映射表(domainSchema.csv)通常派生自数据库元数据文档,如Esri的XML数据库模式描述,可以从ArcCatalog导出任何选定的地理数据库(仅导出> XML工作空间文档>模式)。

示例:使用SchemaMapper变压器

下面的示例描述了一个典型的场景

功能类型映射

使用外部查找表(.csv文件),您可以通过将旧的功能部件类型映射到新功能部件类型来简化模式:

旧的功能类型 新功能类型
运河
运输
铁路 运输
机场 运输

属性映射

使用外部查找表,可以将属性映射到新名称:

旧的属性 新属性
River_Name WaterName
River_Alt_Name AltWaterName
River_Country WaterCountry
River_Length WaterSize
River_Owner WaterOwner

过滤器

您可以使用筛选器来设置映射规则。例如,如果你想将“旧管道类型”映射到“新管道类型”,你可以根据管道的大小设置规则(过滤器):

旧管类型 管大小属性 管的大小 新管类型
气体 PipeSize 6 GasSmall
气体 PipeSize 12 GasMedium
气体 PipeSize 24 GasLarge
直径 6 WaterSmall
直径 12 WaterMedium
直径 24 WaterLarge
污水 PipeDiam 6 SewageSmall
污水 PipeDiam 12 SewageMedium
污水 PipeDiam 24 SewageLarge

使用特征类型映射和过滤的例子

可以使用SchemaMapper向导定义所需的筛选器和映射类型。通过创建要在源模式上执行的操作来完成此任务。

要打开SchemaMapper向导,请单击transformer的Properties按钮。打开SchemaMapper参数对话框。

  1. 指定要使用的模式映射表(查找表)的格式和位置。您可能想要编辑格式参数,但是您可以使用Workbench提供的默认值。单击Next。
  2. 如果数据集有多个表,请指定要使用的表。单击Next。
  3. 在“创建操作”窗格中,单击“添加”并选择操作类型。对于本例,我们将选择Feature Type Map。
  1. 选择源和目标特性类型字段。可以显示/隐藏表列,并刷新内容。

  1. 单击OK返回到Create Actions窗格,该窗格现在显示您刚刚设置的功能类型映射操作。

注意:要将源模式转换为新模式,可以根据要应用于现有模式的映射规则创建多个操作。

  1. 要添加另一个操作,请从“添加”下拉菜单中选择。在本例中,我们将选择Filter来显示Create Filter对话框:

  1. 在属性名和值字段中选择表列。默认情况下,会忽略空白属性值,但是可以选择包含它们。
  2. 单击OK返回到创建操作对话框。Action列现在显示了两个操作:Map功能类型和Filter功能:

  1. 单击Finish设置SchemaMapper参数。

更多的信息

编辑变压器参数

使用一组菜单选项,可以通过引用工作空间中的其他元素来分配transformer参数。更高级的功能,如高级编辑器和算术编辑器,也可以在一些转换器中使用。要访问这些选项的菜单,请单击在可适用的参数旁边。有关更多信息,请参见变压器参数菜单选项

变压器的分类

亚搏在线工作流

FME授权级别

FME专业版及以上

FME社亚搏国际在线官网区

FME社区是演示亚搏国际在线官网、操作、文章、常见问题等的地方。获取问题的答案,向其他用户学习,并对新功能提出建议、投票和评论。

有关此变压器的示例和信息,请参阅FME社亚搏国际在线官网区