FME模板兴趣班第十八期(面遮挡处理) 任务小结

本文总结了FME模板兴趣班第十八期的任务——面遮挡处理,详细解析了处理要求、关键步骤及作业分析。作业中强调了在处理压盖时确保Level最高者保留并正确赋值属性的重要性,同时提出了对AreaOnAreaOverlayer工具属性设置的疑问,邀请读者探讨。
摘要由CSDN通过智能技术生成

班长欣欣

 

一、题目说明

对面进行遮挡处理,处理要求如下:

多个面之间存在压盖,要求压盖区域用Level高的遮挡Level低的,并将压盖区域从Level低的面中擦除。如下图所示:

    

面1、面2、面3 的Level分别是 80、90、100。

面1和面3的压盖区域为面4,则面4的Level为100,面4应从面1中擦除;

面2和面3的压盖区域为面5,则面5的Level为100,面5应从面2擦出;

最终得到的面1、2、3结果如下:

    

 

二、题目分析

按照本题目的要求,对数据进行遮挡处理时,重点在于两个方面:

1)当面有压盖时,要判断面重叠部分最大的Level级别,并将该级别作为重叠部分的Level

2)将重叠部分从Level级别低的面中擦除,只保留在Level级别最高的面中。

 

三、作业情况

本次一共收到26份作业,作业概括和分析如下:

序号

作者

主要方法

小结

转换器个数

推荐

1

刘足建

  1. 读入要素AreaOnAreaOverlayer进行面面压盖分析,并设置列表保存重叠面的所有属性;
  2. ListRangeExtractor提取列表中的最大Level值,将最大Level值作为重叠面的Level
  3. 使用DissolverLevel相同的进行融合

ListRangeExtractor只取最大的Level值,重叠部分的其他属性无法确保跟Level最大的面相同。Dissolver后得到的面属性可能有误。

4

 

2

努力的和尚哥

  1. 先用Sorter对所有要素按照Level级别升序排序;
  2. 使用AreaOnAreaOverlayer进行面面压盖分析;
  3. 使用DissolverLevel相同的进行融合

1)没有写模块,注意模板完整性。

2)利用FME要素处理机制,排序后让要素按照Level级别从低到高进入面面压盖,在面面压盖的时候直接让重叠部分带上最后一个要素的属性。即Level级别最高的面的属性。然后通过Dissolver

3

推荐有一定FME基础的人学习

3

伸手摘星

  1. 使用AreaOnAreaOverlayer进行面面压盖分析,并设置列表保存重叠面的所有属性;
  2. TestFilter分析了list列表中0-2的三个要素分别最大的情况,再根据不同的情况使用AttributeCreator进行Level赋值;
  3. 使用DissolverLevel相同的进行融合

TestFilter分析列表具有特殊性,如果重叠面的压盖计数超过3,则不再适用。做模板的时候要考虑一下通用性。

可以了解一下List相关的转换器进行操作。

7

 

4

向左向右

  1. 使用AreaOnAreaOverlayer进行面面压盖分析,并设置列表保存重叠面的所有属性;
  2. 使用ListSorter按照Level最高进行排序,确保Level最大的为列表中的第1个元素
  3. 使用DissolverLevel相同的进行融合。Level值取列表第1
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值