Как работают комбинаторные математические инструменты

Доступно с лицензией Spatial Analyst.

Доступно с лицензией Image Analyst.

Комбинаторные математические инструменты присваивают новое число уникальным комбинациям входных значений. Как уникальность комбинации определяется в зависимости от того, какой конкретно комбинаторный инструмент используется. Для выполнения комбинаторных логических операций существует три инструмента: Комбинаторный оператор And, Комбинаторный оператор Or и Комбинаторный оператор XOr.

Концептуально, общий процесс комбинаторного алгоритма следующий:

  1. Ячейки со значением NoData не учитываются в анализе, поэтому ячейки со значением NoData во входных данных будут иметь значение NoData в выходном растре.

  2. Остальные ячейки для двух входных данных проверяются последовательно слева-направо и сверху-вниз. Внутренняя таблица отслеживает, когда встречается уникальная комбинация входных значений.

  3. После определения всех уникальных комбинаций входных значений применяется логическое условие для определенного инструмента.

    • Для инструмента Комбинаторный оператор And условие Истина будет там, где оба входных значения отличны от 0.
    • Для инструмента Комбинаторный оператор Or условие Истина будет там, где одно или оба входных значения не равны нулю.
    • Для инструмента Комбинаторный оператор XOr условие Истина будет там, где одно из входных значений равно 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. Таблица атрибутов выходного растра дополняется значениями входных растров, что определено уникальным условием. Примеры этого можно увидеть в разделе базовой справки «Иллюстрации» для комбинаторных инструментов.

Связанные разделы


В этом разделе
  1. Пример: