使用FME Single Merged Feature Type读取器时如何动态输出带后缀的独立图层
解决FME中Single Merged Feature Type读取后动态输出带后缀要素类的问题
问题核心
使用Single Merged Feature Type读取多要素类后,所有要素的fme_feature_type会被统一覆盖为合并后的类型名,导致直接修改该属性添加后缀时,动态Writer无法识别目标要素类定义,抛出Esri Geodatabase Writer: Feature Type Definition 'xxx_buffer' was requested, but not defined错误。
解决方案步骤
1. 读取阶段捕获原始要素类名称
在启用Single Merged Feature Type的Reader之后,立即添加AttributeCreator或AttributeManager转换器,创建新属性(例如original_ft),赋值为:
@Value(fme_feature_type)
这一步必须在任何修改fme_feature_type的操作前执行,此时该属性还保留着要素所属的原始要素类名称。
2. 构造输出要素类名称
在靠近Writer的位置,用AttributeManager转换器修改fme_feature_type属性,拼接后缀:
@Value(original_ft)_buffer
通过存储的原始名称构造出目标输出要素类的名称(如Rivers_buffer)。
3. 确认Writer动态配置
确保Esri Geodatabase Writer处于完全动态模式(Full Dynamic),并在Writer参数中:
- 找到
Feature Type Name选项,选择Use Attribute Value,指定属性为fme_feature_type - 也可直接在Writer动态设置里,将输出要素类名设为
@Value(original_ft)_buffer,跳过步骤2直接完成构造
额外注意事项
- 确保拼接后的要素类名称符合Esri地理数据库的命名规范(无特殊字符、长度合规等)
- 完全动态模式下无需手动预定义要素类结构,Writer会自动根据属性创建
内容的提问来源于stack exchange,提问作者Mitra
相关产品推荐
相关产品推荐

