Используйте Блочную статистику .
Это работает как Фокальная статистика, вычисляя статистическую сводку (такую как желаемое среднее значение) в пределах определенного соседства ячеек (например, квадрат 8 на 8, где 8 = 240 м / 30 м), за исключением того, что это выполняется только для регулярное подразделение сетки, а не с набором перекрывающихся окрестностей, по одному в каждой ячейке.
Вы также можете использовать статистику фокуса, если действительно хотите: после вычисления среднего значения фокуса по 8 на 8 квадратов выполнить повторную выборку в сетку 240 м, используя повторную выборку ближайшего соседа . Когда сетки зарегистрированы друг для друга ( то есть имеют одинаковое происхождение), это должно дать тот же результат, что и block statistics
. (Я не гарантирую, что: когда выбор новых центров камер совпадает со старыми углами камер, как это будет происходить здесь, необходимо сделать произвольный выбор, и, если разные комитеты закодировали две процедуры, они могли бы сделать разные выборы: мало в ArcGIS действительно последовательна, боюсь.)
Другой подход состоит в том, чтобы создать сетку зон, по одной зоне на квадрат, где требуется среднее значение, и выполнить зональную сводку в виде сетки. Зоны могут быть вычислены математически из сеток координат строк и столбцов (с помощью функции floor
или int
, путем переклассификации или путем присоединения подходящей таблицы к таблице атрибутов).
Я закрою, отметив, что билинейная интерполяция, хотя она действительно даст значения в диапазоне 0..1, это не то, что вам нужно: она работает, находя не более четырех исходных (30 м) ячеек сетки, окружающих центр новой ( 240 м) ячейки и интерполяции только их значений. Таким образом, он будет игнорировать другие 8 * 8 - 4 = 60 исходных ячеек, попадающих в каждый новый блок. Я иллюстрирую билинейную интерполяцию на http://www.quantdec.com/SYSEN597/GTKAV/section9/map_algebra.htm : обсуждение начинается в середине страницы.
В ArcGIS, когда вы повторно измеряете данные с помощью билинейной повторной выборки, он просматривает только значения четырех центральных ячеек ( документация повторной выборки ). Таким образом, используя этот метод, вы все равно потеряете данные, если не компенсируете потерю данных.
Учитывая, что мы знаем, что для пересчитанных ячеек вы хотите получить долю клеток, которые покрыты лесом, мы можем думать об этом как о сумме 30-метровых ячеек, разделенных на 64 (в блоке 240 м есть 64 30-метровые ячейки).
Это означает, что если мы сможем создать новый растр со значениями центра в виде суммы окружающих значений при разрешении 30 м, снижение разрешения с помощью повторной выборки с ближайшим соседом или билинейной интерполяции даст нам 240-метровые ячейки, которые являются суммой 30-метровых ячеек, которые они обложка. Мы можем сделать это с помощью фокальной суммы инструмента над 30м растром.
Наконец, когда у нас есть растр с фокусной суммой 240 м, разделите его на 64, чтобы получить ответ.
В Idrisi я не уверен в алгоритмах сэмплирования изображений, также как и в QGIS, но я думаю, что есть нечто подобное. Конечно, в QGIS вы можете обработать растр в Python, используя scipy ndimage или подобное.
источник