Как работает инструмент Фокальная статистика (Focal Statistics)
Инструмент Фокальная статистика (Focal Statistics) выполняет операцию окрестности, которая вычисляет выходной растр, где значением для каждой выходной ячейки является функция значений всех входных ячеек, которые находятся в заданной окрестности вокруг этого места. Выполняемая на входных данных функция – это статистика, например максимум, среднее или сумма всех значений, находящихся в этой окрестности.
Концептуально, после выполнения, алгоритм посещает каждую ячейку растра и рассчитывает заданную статистику с определением окрестности. Ячейка, для которой вычисляется статистика, называется обрабатываемой ячейкой. Значение обрабатываемой ячейки, а также все значения ячеек в определённой окрестности, участвует в вычисление статистики окрестности.
Окрестности могут накладываться, так что ячейки в одной окрестности также могут быть включены в окрестность другой обрабатываемой ячейки.
Пример
Чтобы проиллюстрировать обработку окрестности для инструмента Фокальная статистика (Focal Statistics) путем расчета суммарной статистики (Sum statistic), рассмотрим обработку ячейки со значением 5 на следующей диаграмме. Задаётся окрестность прямоугольной формы размером 3 на 3 ячейки. Сумма значений ячеек окрестности (3 + 2 + 3 + 4 + 2 + 1 + 4 = 19) плюс значение обрабатываемой ячейки (5) равняется 24 (19 + 5 = 24). Поэтому значение 24 даётся ячейке выходного растра в том же местоположении, что и обрабатываемая ячейка входного растра.
На диаграмме ниже показано, как выполняются вычисления на одной ячейке входного растра. На следующей диаграмме показаны результаты всех входных ячеек. Выделенные жёлтым ячейки определяют ту же обрабатываемую ячейку и окрестность, как в примере выше.
Окрестность может быть в форме кольца, окружности, прямоугольника и клина. В окрестности можно вычислить следующие статистические параметры – среднее, большинство, максимум, медиана, минимум, меньшинство, диапазон, стандартное отклонение, сумма и разнообразие..
Инструмент Фокальная статистика обеспечивает контроль над типом окрестности и вычисляемой статистикой.
Типы окрестностей
Окрестность может быть в форме кольца, окружности, прямоугольника и клина. Используя керн-файл, вы можете определить пользовательскую форму окрестности, а также присвоить различные веса конкретной ячейке в окрестности до вычисления статистики.
Ниже рассматриваются различные формы окрестности, и то, как они определяются:
- Кольцо
- Форма плоского кольца состоит из двух окружностей, одно внутри другого, формирующих форму бублика. В обрабатываемую окрестность будут включены ячейки, центры которых попадают за пределы круга меньшего радиуса, но внутрь круга большего радиуса. Поэтому, область между двумя окружностями становится окрестностью кольца.
- Радиус определяется в ячейках или единицах карты и измеряется перпендикулярно оси x или оси y. Если радиусы указаны в единицах карты, то они конвертируются в единицы ячеек. Итоговый радиус в единицах ячеек задаёт область, которая наиболее точно представляет область, определенную ранее в единицах карты. Все ячейки, центры которых попадают между окружностями, будут включены в обрабатываемую окрестность.
- Окружность кольца по умолчанию – внутренний радиус одной ячейки и внешний радиус трех ячеек.
- Пример вычисления кольцевой окрестности:
- Круг
- Окрестность в форме круга задаётся значением радиуса.
- Радиус определяется в единицах ячеек или карты и измеряется перпендикулярно оси x или оси y. Если радиус задан в единицах карты, применяется дополнительная логика, чтобы определить ячейки, задействованные в обрабатываемой окрестности. Сначала рассчитывается точная площадь круга, определенного заданным значением радиуса. Затем определяется площадь для двух дополнительных кругов, причем в одном случае значение заданного радиуса округляется в меньшую сторону, а в другом – в большую сторону. Эти две площади сопоставляются с величиной, полученной для заданного радиуса, и выбирается радиус, для которого получен более близкий результат.
- По умолчанию радиус окрестности круга равен 3 ячейкам.
- Пример вычисления окрестности круга:
- Прямоугольник
- Окрестность в форме прямоугольника задается путем указания ширины и высоты в ячейках или единицах измерения карты.
- В обработку окрестности в форме прямоугольника будут включены только те ячейки, чей центр заданной фигуры.
- По умолчанию прямоугольная окрестность является квадратом со стороной, равной трем ячейкам.
- Положение x,y для обрабатываемой ячейки в пределах окрестности, по отношению к верхнему левому углу окрестности, определяется следующими уравнениями:
x = (width of the neighborhood + 1)/2 y = (height of the neighborhood + 1)/2
Если число входных ячеек чётное, координаты x,y округляются в меньшую сторону. Например, при использовании окрестности 5 на 5 ячеек, значения x и y будут равны 3,3. При использовании окрестности 4 на 4 ячейки значения x и y будут равны 2,2.
- Примеры изображений двух прямоугольных окрестностей:
- Клин
- Клин – это окрестность в форме клина, определяемая радиусом, начальным и конечным углами.
- Клин строится в направлении против часовой стрелки от начального угла до конечного угла. Углы задаются в арифметических градусах от 0 до 360, где 0 находится на положительной x-оси (3.00 часа), и могут быть как целочисленными, так и с плавающей точкой. Можно использовать отрицательные значения углов.
- Радиус определяется в ячейках или единицах карты и измеряется перпендикулярно оси x или оси y. Если радиус указан в единицах карты, то они конвертируются в единицы ячеек. Итоговый радиус в единицах ячеек задаёт область, которая наиболее точно представляет область, определенную ранее в единицах карты. Все ячейки, центры которых попадают в клин, будут включены в обрабатываемую окрестность.
- Клиновидная окрестность по умолчанию имеет углы от 0 до 90 градусов, с радиусом, равным трем ячейкам.
- Пример вычисления клиновидной окрестности:
- Неправильная форма
- Используется для определения вокруг обрабатываемой ячейки окрестности неправильной формы.
- То, какие ячейки будут включены в окрестность, определяет керн-файл для окрестности неправильной формы.
- Положение x,y для обрабатываемой ячейки в пределах окрестности, по отношению к верхнему левому углу окрестности, определяется следующими уравнениями:
x = (width + 1)/2 y = (height + 1)/2
Если число входных ячеек чётное, координаты x,y округляются в меньшую сторону.
- Керн-файл в окрестности неправильной формы:
- Керн-файл для окрестности неправильной формы представляет собой текстовой ASCII-файл формата, который определяет значения и форму окрестности неправильной формы. Файл можно создать с помощью любого текстового редактора.
- Первая строка задаёт ширину высоту окрестности (количество ячеек в направлении x, затем пробел, затем количество ячеек в направлении y).
- Последующие строки содержат значения для каждого положения ячейки окрестности. Значения вводятся в той же конфигурации, в которой они появляются в представляемой ими окрестности. Пробел между значениями является обязательным.
- Значения в керн-файле должны быть равны 0 (нулю) или 1 (единице). При этом, любое значение, которое не равно 0, будет проинтерпретировано как 1.
- Нулевое значение (не пробел) для положения ячейки указывает на то, что ячейка не является частью окрестности, и что она не будет включена в обработку. Значение, равное 1, указывает на то, что соответствующая ему ячейка (и ее значение) является частью окрестности.
- Пример ASCII керн-файла и окрестности неправильной формы, которую он описывает:
- Вес
- Как и для типа окрестности неправильной формы, взвешенная окрестность позволяет вам определить окрестность неправильной формы вокруг обрабатываемой ячейки, и дополнительно позволяет вам применять веса для входных значений.
- Керн-файл весов задает, какие ячейки будут включены в окрестность, а также веса, на которые будут умножены значения ячеек.
- Окрестность "Вес" можно использовать только для типов статистики Среднее , Стандартное отклонение ) и Сумма.
- Положение x,y для обрабатываемой ячейки в пределах окрестности, по отношению к верхнему левому углу окрестности, определяется следующими уравнениями:
x = (width + 1)/2 y = (height + 1)/2
Если число входных ячеек чётное, координаты x,y округляются в меньшую сторону.
- Керн-файл в окрестности типа Вес:
- Керн-файл для окрестности типа Вес представляет собой текстовой ASCII-файл формата, который определяет значения и форму окрестности "Вес". Файл можно создать с помощью любого текстового редактора.
- Первая строка задаёт ширину высоту окрестности (количество ячеек в направлении x, затем пробел, затем количество ячеек в направлении y).
- Последующие строки содержат значения для каждого положения ячейки окрестности. Значения вводятся в той же конфигурации, в которой они появляются в представляемой ими окрестности. Положительные, отрицательные и десятичные значения являются корректными опциями в качестве весов. Пробел между значениями является обязательным.
- Для местоположений в окрестности, которые не участвуют в вычислениях, используйте для соответствующего местоположения в керн-файле значение, равное 0.
- Пример ASCII керн-файла весов и окрестности типа "Вес", которую он описывает:
Тип статистики
Доступная статистика: Большинство (Majority), Максимум (Maximum), Среднее (Mean), Медиана (Median), Минимум (Minimum), Меньшинство (Minority), Диапазон (Range), Стандартное (среднеквадратическое) отклонение (STD) и Сумма (Sum). Тип статистики, используемый по умолчанию – Среднее (Mean).
- Большинство (Majority)
- Входными данными могут быть только целочисленные растры.
- Если в окрестности больше одного значения большинства, в выходных данных обрабатываемой ячейке будет присвоено значение NoData.
- Максимум (Maximum)
- Если входной растр целочисленный, значения на выходном растре будут целочисленными; если значения на входном растре представлены числами с плавающей точкой, значения на выходном растре будут также представлены числами с плавающей точкой.
- Среднее (Mean)
- Выходной растр всегда будет представлен числами с плавающей точкой.
- Тип статистики Среднее может быть использован с типом окрестности Вес.
- Медиана (Median)
- Входными данными могут быть только целочисленные растры.
- Когда количество действительных значений ячеек в окрестности нечетное, значение медианы вычисляется путем ранжирования значений и выбора среднего значения. Если число значений в окрестности четное, значения будут ранжированы и будет усреднено два срединных значения.
- Минимум (Minimum)
- Если входной растр целочисленный, значения на выходном растре будут целочисленными; если значения на входном растре представлены числами с плавающей точкой, значения на выходном растре будут также представлены числами с плавающей точкой.
- Меньшинство (Minority)
- Входными данными могут быть только целочисленные растры.
- Если в окрестности больше одного значения меньшинства, на выходных данных обрабатываемой ячейке будет присвоено значение NoData.
- Диапазон
- Если входной растр целочисленный, значения на выходном растре будут целочисленными; если значения на входном растре представлены числами с плавающей точкой, значения на выходном растре будут также представлены числами с плавающей точкой.
- Значения для местоположения каждой ячейки на выходном растре определяются по принципу "ячейка-за-ячейкой" путем применения следующей формулы: Фокальный диапазон = фокальный максимум – фокальный минимум.
- Стандартное отклонение (STD)
- Выходной растр всегда будет представлен числами с плавающей точкой.
- Тип статистики Стандартное отклонение может быть использован с типом окрестности Вес.
- Сумма (Sum)
- Если входной растр целочисленный, значения на выходном растре будут целочисленными; если значения на входном растре представлены числами с плавающей точкой, значения на выходном растре будут также представлены числами с плавающей точкой.
- Разнообразие (Variety)
- Входными данными могут быть только целочисленные растры.
Обрабатываемые ячейки NoData
Параметр Игнорировать значение NoData при вычислениях (Ignore NoData in calculations) определяет, как в окне окрестности обрабатываются ячейки со значением NoData. Если эта опция включена (опция DATA) любые ячейки NoData в окрестности будут игнорироваться в вычислениях выходного значения ячейки. Если опция не включена (опция NODATA), то при наличии в окрестности ячейки NoData выходная ячейка также будет NoData.
Если обрабатываемая ячейка имеет значение NoData и при этом включена опция Игнорировать NoData (Ignore NoData), выходное значение ячейки будет рассчитываться на основании значений других ячеек окрестности, имеющих допустимые значения. Конечно, если все ячейки в окрестности имеют значение NoData, в выходных данных будет указано значение NoData, независимо от настройки этого параметра.