班长欣欣
一、题目说明
对面进行遮挡处理,处理要求如下:
多个面之间存在压盖,要求压盖区域用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 |
刘足建 |
|
ListRangeExtractor只取最大的Level值,重叠部分的其他属性无法确保跟Level最大的面相同。Dissolver后得到的面属性可能有误。 |
4 |
|
2 |
努力的和尚哥 |
|
1)没有写模块,注意模板完整性。 2)利用FME要素处理机制,排序后让要素按照Level级别从低到高进入面面压盖,在面面压盖的时候直接让重叠部分带上最后一个要素的属性。即Level级别最高的面的属性。然后通过Dissolver |
3 |
★推荐有一定FME基础的人学习 |
3 |
伸手摘星 |
|
用TestFilter分析列表具有特殊性,如果重叠面的压盖计数超过3,则不再适用。做模板的时候要考虑一下通用性。 可以了解一下List相关的转换器进行操作。 |
7 |
|
4 |
向左向右 |
|