组合数学工具的工作原理
组合数学工具用于将新的输出值赋给输入值的唯一组合。如何确定组合的唯一性取决于所使用的特定组合工具。共有三种工具可用于执行组合逻辑运算:组合与、组合或和组合异或。
从概念上讲,组合算法的一般过程如下:
-
分析中不考虑 NoData 像元,所以在两个输入中为 NoData 的像元在输出栅格中仍为 NoData。
-
两个输入的其余像元按从左到右、从上到下的顺序进行扫描。一张内部表会追踪遇到输入值的唯一组合的任何时间。
-
在输入值的所有唯一组合均已确定后,对特定工具应用逻辑条件。
- 对于组合与,条件为“真”指两个输入都是非 0 值。
- 对于组合或,条件为“真”指一个输入为 0 或两个输入均为 0。
- 对于组合异或,条件为“真”指一个输入为 0 值,而另一个输入则为非 0 值。
-
将根据逻辑条件生成输出。
条件为“假”将返回 0 值。每个唯一的“真”条件都将被作为所遇到的第一个此类条件的有序数返回。
-
在输出栅格的属性表中,添加显示输入栅格中构成唯一组合的像元值的两个项目。可将其视为来源。
示例
考虑插图中显示的组合工具的输入栅格。它们将显示两个 16 像元 (4x4) 栅格,值范围是 0 到 4,并有一些栅格是 NoData。为简化此论述,此处的输入像元值均以纵向列表形式按顺序列出。
- 排除 NoData 像元:
由于不考虑 NoData,所以第一步是忽略输入中的这些像元。
- 唯一组合:
对输入中的其余像元按从左到右、从上到下的顺序进行扫描,然后记录唯一组合。
Input Values => NoData Excluded => Unique Combinations ============== =============== ====================== InRas1 InRas2 InRas1 InRas2 InRas1 InRas2 Count ------ ------ ------ ------ ------ ------ ----- 1 0 1 0 1 0 ( 2 ) 1 1 1 1 1 1 ( 2 ) 0 1 0 1 0 1 ( 1 ) 0 0 0 0 0 0 ( 3 ) nodata 3 1 3 1 3 ( 1 ) 1 3 2 1 2 1 ( 1 ) 2 1 2 2 2 2 ( 2 ) 2 2 0 0 4 3 ( 1 ) 4 nodata 0 0 0 2 ( 1 ) 0 0 2 2 0 0 4 3 2 2 0 2 4 3 1 1 0 2 1 0 1 1 1 0
- 真/假状态:
在输入值的所有唯一组合均已确定后,对特定工具应用真/假逻辑条件。
- 返回值:
每个工具的“假”条件将返回值 0。每个唯一的“真”条件将返回该条件的有序数。
Combinations => True/False State => Returned Value ============== ================ =============== InRas1 InRas2 And Or XOr And Or XOr ------ ------ --- --- --- --- --- --- 1 0 F T T 0 1 1 1 1 T T F 1 2 0 0 1 F T T 0 3 2 0 0 F F F 0 0 0 1 3 T T F 2 4 0 2 1 T T F 3 5 0 2 2 T T F 4 6 0 4 3 T T F 5 7 0 0 2 F T T 0 8 3
- 为输出栅格的属性表追加用于定义唯一条件的输入栅格的值。相关示例可在组合工具的参考帮助的“插图”部分中看到。
相关主题
5/10/2014