Как работают комбинаторные математические инструменты
Комбинаторные математические инструменты присваивают новое число уникальным комбинациям входных значений. Как уникальность комбинации определяется в зависимости от того, какой конкретно комбинаторный инструмент используется. Для выполнения комбинаторных логических операций существует три инструмента: Комбинаторный оператор And (Сombinatorial And), Комбинаторный оператор Or (Сombinatorial Or) и Комбинаторный оператор XOr (Сombinatorial XOr).
Концептуально, общий процесс комбинаторного алгоритма следующий:
-
Ячейки со значением NoData не учитываются в анализе, поэтому ячейки со значением NoData во входных данных будут иметь значение NoData в выходном растре.
-
Остальные ячейки для двух входных данных проверяются последовательно слева-направо и сверху-вниз. Внутренняя таблица отслеживает, когда встречается уникальная комбинация входных значений.
-
После определения всех уникальных комбинаций входных значений применяется логическое условие для определенного инструмента.
- Для инструмента Комбинаторный оператор And (Combinatorial And) условие Истина будет там, где оба из входных данных имеют значение, отличное от 0.
- Для инструмента Комбинаторный оператор Or (Combinatorial Or) условие Истина будет там, где оба из входных данных имеют значение, равное 0.
- Для инструмента Комбинаторный оператор XOr (Combinatorial "XOr") условие Истина будет там, где оба из входных данных имеют значение, равное 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
- Таблица атрибутов выходного растра добавляется со значениями входных растров, что определено уникальным условием. Примеры этого можно увидеть в разделе базовой справки «Иллюстрации» для комбинаторных инструментов.