均线...
如果您正在使用FME 2017.0+,该RasterMosaicker可以用来计算多带值的平均值,作为@jdh之前建议。一种可能的方式来获得在73个频带移动平均由24个频带的是各移动范围:
不过,我不明白为什么@if函数出现在表达式中的例子。我不认为有条件的操作是需要计算平均值。如果没有为用于所需要的条件的操作中一个具体的理由,上面的过程应该被修改(或者无法应用)。
亲爱的FME用户,
我在翻译过程中做了一个错误。对不起,我是德国人。:)))我需要的是不平均,但运行/移动平均线是希望我来计算。
现在我再次重复一遍:
我试着用变压器来计算的话RasterExpressionEvaluator。我认为它的工作原理,但表情都超载,因为所有的光栅有73条带。
下面是从我的第一行代码:
“@ if([23]([0] +[1] +[2] +[3] +[4] +[5] +[6] +[7] +[8] +[9] +[10] +[11] +[12] +[13] +[14] +[15] +[16] +[17] +[18] +[19] +[20] +[21] +[22] +[23]) / 24日[0])”
下面是从我的代码的最后一行:
“@ if([73],[50] +[51] +[52] +[53] +[54] +[55] +[56] +[57] +[58] +[59] +[60] +[61] +[62] +[63] +[64] +[65] +[66] +[67] +[68] +[69] +[70] +[71] +[72] +[73]) / 24日[50])”
是否有任何想法如何简化表述?这是可能的只有一个表情?
变压器后RasterExpressionEvaluator我已经连接在变压器RasterToPolygonCoercer以生成矢量数据。
非常感谢你和最诚挚的问候!
康拉德
你好@UBA_KP如果你需要计算的每个小区24个带值“中位数”,该RasterExpressionEvaluator不会帮你。因为,变压器不支持列表(阵列)操作,虽然这是必要的,以便计算“中位数”来创建一个包含24个值的列表,列表进行排序。例如
列表:[1,3,1,3,2,1] - >排列:[1,1,1,2,3,3] - >中值:(1 + 2)/ 2 = 1.5
看到这里,以更多了解“中间”:https://en.wikipedia.org/wiki/Median
如@jdh和@david_r建议,你可以得到单个网格点他们每个人都有24个波段值与强迫与RasterCellCoercer光栅列表属性。然后,您可以使用ListSorter和的ExpressionEvaluator计算列表上的中位数基地。最后,设置中间值z坐标与3DForcer每个点并重新创建一个NumericRasterizer光栅。
然而,胁迫的表现并不好。如果你不喜欢,胁迫的方法,Python脚本可能是一个更好的解决方案,如@david_r提及。
另外,这也可能是一个可行的办法。
通过@jdh可以帮你一起提到的RasterCellCoercer,要知道,大栅格处理时,它可能会很慢。显然,你现在可以强制光栅的点云,这应该是快了很多,但我有与没有经验。
如果你不陌生的Python,我建议你寻找到了fmeobjects API的新栅格功能。@takashi写到这里一些非常不错的示例代码,这可能是一个起点:
https://knowledge.亚搏在线safe.com/questions/38000/python-fme-objects-api-for-raster-manipulation.html
感谢您对您所有的投入@jdh和@gio。
我试着用变压器“RasterExpressionEvaluator”来计算。我认为它的工作原理,但表达过载。
以下是重复出现的代码的第一行:
“@if(A [23],(A [0] + A [1] + A [2] + A [3] + A [4] + A [5] + A [6] + A [7] +A[8]+A[9]+A[10]+A[11]+A[12]+A[13]+A[14]+A[15]+A[16]+A[17]+A[18]+A[19]+A[20]+A[21]+A[22]+A[23])/24,A[0])”
是否有任何想法如何简化表述?这是可能的只有一个表情?
我已经添加在附件中一些截图。
非常感谢你。:)
最好的祝福。康拉德
我上一次做这样的事情是在几年前,当时我强制光栅指向点,聚合col上的点,保持列表的行数,然后对列表进行排序和分析。
注意,这是针对24个1波段光栅的,如果您有一个具有24波段的光栅,您可以使用波段作为属性强制光栅,并跳过聚合步骤。
如果我现在要这么做,我将首先研究强制到点云,如果这不会导致任何结果,然后试验新的python光栅api。
请注意,如果您需要的是平均值而不是中间值,那么将重叠值设置为平均值的光栅镶嵌器将是最佳选择。
expressionevaluator只有一个en B输入。
B可以有多个栅格,但是它们是成对的,所以B不会在它们之间计算。
您可以使用wsc来顺序计算所有B输入,同时更新一个输入。
或者先提取重叠的位元,提取数据,处理数据,重建栅格。