组合数学工具的工作原理

组合数学工具用于将新的输出值赋给输入值的唯一组合。如何确定组合的唯一性取决于所使用的特定组合工具。共有三种工具可用于执行组合逻辑运算:组合与组合或组合异或

从概念上讲,组合算法的一般过程如下:

  1. 分析中不考虑 NoData 像元,所以在两个输入中为 NoData 的像元在输出栅格中仍为 NoData。

  2. 两个输入的其余像元按从左到右、从上到下的顺序进行扫描。一张内部表会追踪遇到输入值的唯一组合的任何时间。

  3. 在输入值的所有唯一组合均已确定后,对特定工具应用逻辑条件。

    • 对于组合与,条件为“真”指两个输入都是非 0 值。
    • 对于组合或,条件为“真”指一个输入为 0 或两个输入均为 0。
    • 对于组合异或,条件为“真”指一个输入为 0 值,而另一个输入则为非 0 值。

  4. 将根据逻辑条件生成输出。

    条件为“假”将返回 0 值。每个唯一的“真”条件都将被作为所遇到的第一个此类条件的有序数返回。

  5. 在输出栅格的属性表中,添加显示输入栅格中构成唯一组合的像元值的两个项目。可将其视为来源。

示例

考虑插图中显示的组合工具的输入栅格。它们将显示两个 16 像元 (4x4) 栅格,值范围是 0 到 4,并有一些栅格是 NoData。为简化此论述,此处的输入像元值均以纵向列表形式按顺序列出。

  1. 排除 NoData 像元:

    由于不考虑 NoData,所以第一步是忽略输入中的这些像元。

  2. 唯一组合:

    对输入中的其余像元按从左到右、从上到下的顺序进行扫描,然后记录唯一组合。

     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       
  3. 真/假状态:

    在输入值的所有唯一组合均已确定后,对特定工具应用真/假逻辑条件。

  4. 返回值:

    每个工具的“假”条件将返回值 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. 为输出栅格的属性表追加用于定义唯一条件的输入栅格的值。相关示例可在组合工具的参考帮助的“插图”部分中看到。

相关主题

5/10/2014