Как работает инструмент Фокальный сток (Focal Flow)
Хотя инструмент Фокальный сток (Focal Flow), как и инструмент Фокальная статистика (Focal Statistics) тоже использует подход «движущееся окно» для обработки набора данных, вычисление выходных значений отличается.. Инструмент использует интерактивную окрестность 3 x 3 ячейки для определения того, какие из 8 соседей ячейки попадают в нее. Сток определяется ячейкой в окрестности, которая имеет большее значение, чем обрабатываемая ячейка. Многократные значения представляют движение жидкости, например, воды, текущей по склону, но стоком может быть любое определенное вами движение, например, путь загрязнений в место с более низкой их концентрацией.
Чтобы проверить, будет ли конкретная ячейка из окрестности перетекать в обрабатываемую ячейку, значение каждой ячейки из окрестности вычитается из значения обрабатываемой ячейки. Если разница положительная, соседняя ячейка не перетекает в обрабатываемую ячейку; если разница отрицательная, - перетекает. Если ячейки не перетекают в обрабатываемую ячейку, местоположению будет дано значение 0. Если было введено пороговое значение, для появления стока разница между значением соседней ячейки и значением обрабатываемой ячейки должна быть больше порогового значения. Если разница меньше или равна пороговому значению, стока из соседней ячейки нет.
Анализ совокупного стока из нескольких соседних ячеек выполняется через бинарное представление обрабатываемой ячейки. Каждый бит бинарного представления для обрабатываемой ячейки коррелирует с ячейкой окрестности. Ячейке, сразу справа от обрабатываемой ячейки, дается значение 1, соседу внизу справа - 2, соседу внизу - 4 и т.д., пока не будет достигнуто значение 128 (увеличение в два раза, т.к. представление - бинарное) для последнего соседа наверху справа.
Если соседняя ячейка перетекает в обрабатываемую ячейку, бит, который представляет положение соседней ячейки (см. рисунок вверху) включен, или ему присвоено значение 1. Если соседняя ячейка не перетекает в обрабатываемую ячейку, бит, который представляет местоположение, равен 0. После того, как все ячейки окрестности будут протестированы для потока, биты могут быть отключены или включены несколько или все (присваивается 1). Двоичное представление для всех битов конвертируется обратно в десятичное в соответствии с образцом стока битов. Затем обрабатываемой ячейке будет присвоено десятичное число. Кодирование присваивает уникальное число каждому возможному сочетанию значений, расположенных выше по течению. Общее число комбинаций стока в обрабатываемую ячейку равно 255.
Примеры
Некоторые примеры способов получения выходного значения:
- Ячейка, которая получает сток из левой верхней смежной ячейки
Сток из левой верхней смежной ячейки имеет битовое положение окрестности - 6 (см. предыдущую диаграмму кодирования направления Фокального стока). Десятичное значение, которое соответствует этому положению битов 32.
- Ячейка, получающая сток из нескольких ячеек
На следующем рисунке обрабатываемую ячейку окружают несколько ячеек, имеющих большее значение. Это ячейка сразу справа (первое положение битов), ячейка внизу слева (четвертое положение битов) и ячейка сверху (седьмое положение битов). Следовательно, первый, четвертый и седьмой биты включены, или установлены на 1. Этот образец битов оценивается до 73 в десятичных и записывается в местоположение обрабатываемой ячейки на выходном растре.
- Ячейка, получающая поток из восьми окружающих ячеек
Рассмотрим ячейку, в которую втекают все смежные соседи. Выходное значение получит значение суммы всех значений положений битов от 1 до 128. Результирующее значение (128 + 64 + 32 + 16 + 8 + 4 + 2 + 1) будет равняться 255.