FME技术咨询:移除重叠多边形并仅保留最新版本多边形
解决FME中保留最新日期重叠多边形的问题
我之前处理多源数字化多边形去重时也踩过类似的坑,你的思路方向是对的,但可能在几个关键配置细节上没到位。下面给你一套经过验证的流程,应该能帮你实现仅保留最新版本多边形的目标:
1. 正确配置Spatial Relator生成重叠要素列表
- 首先,将
Spatial Relator的Relationship设置为Overlaps(如果需要包含完全重合的情况,也可以选Intersects) - 务必勾选Generate List选项,指定一个列表名称(比如
overlapping_features),同时把需要比较的日期属性添加到Attributes to Include in List中——这一步很重要,只有这样每个要素的列表里才会包含所有重叠要素的日期信息
2. 用ListSorter+ListIndexer提取重叠组的最新日期
- 接上
ListSorter转换器,选择刚才创建的列表名overlapping_features,排序字段选你的日期属性,排序顺序设为Descending(降序),这样列表的第一个元素就是该重叠组里日期最新的要素 - 紧接着添加
ListIndexer,把列表索引设为0,提取出列表第一个元素的日期值,存到一个新属性(比如latest_group_date)中
3. 用Tester精准筛选保留最新要素
- 现在用
Tester转换器,测试条件设置为:[你的日期属性字段名] = [latest_group_date] - 这样只有那些自身日期等于所在重叠组最新日期的要素会通过测试被保留,所有旧的重叠多边形都会被过滤掉
额外注意事项
- 确保你的日期属性是日期类型,如果是字符串格式,FME无法正确排序,需要先用
AttributeConverter将其转换成日期格式 - 如果有大量完全重合的多边形,可以考虑用
AreaOnAreaOverlayer替代Spatial Relator,它在处理完全重叠要素的列表生成时更稳定 - 可以在流程中间插入
Inspector转换器,查看每个要素的列表内容和提取的latest_group_date,方便排查配置是否有误
内容的提问来源于stack exchange,提问作者chajamalka
相关产品推荐
相关产品推荐

