span8号
斯潘4
注:如果您使用的是FME 2015.1或更低版本,请参阅:从列表属性派生的目标架构(2015.0及以下)
此类型的工作流使用列表属性亚搏在线在工作区内创建属性架构。列表属性是FME在一个属性中允许多个值的方法。处于动态模式的编写器检查每个传入功能类型的第一个功能是否存在特定的列表属性。如果在第一个功能上找到此列表,然后使用它为编写器生成输出模式。
在这个例子中,创建一个工作区来处理城市公园信息。要求将任何城市公园数据集转换为具有新模式的新mapinfo选项卡文件。这个新模式应该只包含风场名称信息,而其他所有内容都将被删除。如果使用了标准动态工作区,输出模式将镜像输入数据集,这不是这种情况下需要的。
截至FME 2015.1,FeatureReader现在可以使用特殊的“模式”输出端口生成此列表。也,属性投票变压器,SchemaSetter Transformer和一个名为“schema(any format)”的特殊阅读器都可以创建模式列表。
注:强烈建议您使用这些工具为您生成模式。请参阅下面的高级示例。
为了解释这个概念,下面是一个简单的例子。该示例将使用简单的属性转换器从头开始创建模式功能的不同组件。
简单属性列表:
列表元素的格式如下:
名单名称:
列表中的每个元素都有两个组件:
例如:attribute.name和attribute.fme _data _type
有效的FME数据类型包括:
类型 | 领域 |
性格 | fme_varchar(宽度)fme_char(宽度)故障模式与后果分析 |
整数 | FMEUUTIN 8,FMETIN 16故障模式与后果分析故障模式与后果分析Int32,故障模式与后果分析FMEIN 64FMEUUTIN 64 |
数字的 | fme_decimal(宽度,小数)故障模式与后果分析real32,FME-Real64 |
日期时间 | fme_日期时间,FME时间,FME日期 |
其他 | FME缓冲,费米布尔 |
使用特定格式的数据类型
如果要为属性(即非FME数据类型)还包括两个属性:
属性 | 描述 |
格式名 | 该类型所属的格式,使用短格式名称. |
属性{ 0 }。本机数据类型 | 格式化特定数据类型。 |
例子:
fme_format_short_name=“geodatabase_file”attribute 0.name=“myattribute”attribute 0.fme_data_type=“fme_buffer”attribute 0.native_data_type=“guid”
结果将是一个包含数据类型“guid”的属性“myattribute”的新geodatabase featureClass。
添加几何图形:如果要使用的格式要求每个要素类型(形状,geodatabase)然后需要定义几何类型。这是用
属性 | 描述 |
FMEX几何{} |
几何图形所属的格式,如果需要,可以定义多个几何图形。 |
例如:
FME 0点
将为地理数据库定义点几何特征类
注:当生成上面所示的自己的列表时,您应该将它合并到您的数据中,以便编写器在第一个特性进入时同时获得模式和数据。
1.将读卡器添加到空白工作区
2。定义新架构
使用属性创建器,定义新架构。
属性名称 | 价值 |
属性0.name | 公园名称 |
属性0.fme _数据类型 | 故障模式与后果分析(20) |
属性1.name | 名字命名 |
属性1.fme _数据类型 | 故障模式与后果分析(20) |
三。设置架构映射
添加一个attributeManager并更改三个属性的名称以匹配数据库模式。
4。添加动态编写器
将编写器添加到工作区
将编写器添加到工作区后,将其连接到attributeCreator并打开参数。将架构源更改为“架构中的架构功能”。
运行工作区并检查结果。
在下面的示例中,空间查询是对FeatureReader正在读取到工作区中的数据执行的。输出模式是通过使用FeatureReader转换器本身生成的列表属性来指定的。在这种情况下,列表属性是最好的选择,因为在运行工作区之前,这些信息是未知的。截至FME 2015.1,FeatureReader包含用于此目的的模式输出端口。
有关完整示例,请参阅本文:在剪切多边形中提取数据
本文将更深入地了解模式特性以及如何在工作区中编辑它。
参见:修改架构功能
几何误差:
如果使用此技术时存在未指定的几何体错误,尝试设置属性:fme_geometry_0_=
避免删除功能-FeatureReader:
如果使用FeatureReader创建模式功能,请注意,Transformer添加了一个特殊的属性和值:
fme_schema_handling='schema only'
此属性告诉编写器将该功能用作架构,然后将其从输出中移除。如果你做任何事,这可能是个问题数据和模式的合并在工作区中,与此架构功能合并的数据在写入时将被删除。例如,如果合并架构功能以便将其添加到工作区中的所有功能中。
为了确保不会发生这种情况,完全删除fme-schema-handling属性,这样编写器就不会删除第一个合并的数据功能。
?2019安全亚搏在线软件公司|合法的