Обновление: ошибка была исправлена в выпуске ArcGIS 10.4
Я использую ArcGIS 10.2.2 для определения зональной статистики для ряда зон. Если в растре значений есть какие-либо NoData, я хочу, чтобы результаты зоны были «NoData», в точности так, как указано в описании инструментов. Это описание инструмента гласит:
ДАННЫЕ - В любой конкретной зоне только ячейки, имеющие значение в растре входного значения, будут использоваться при определении выходного значения для этой зоны. Ячейки NoData в растре Value будут игнорироваться при вычислении статистики.
NODATA - в какой-либо конкретной зоне, если в растре значений существуют какие-либо ячейки NoData, считается, что информации недостаточно для выполнения статистических вычислений для всех ячеек в этой зоне; следовательно, вся зона получит значение NoData в выходном растре.
Пожалуйста, посмотрите на мои настройки на этой картинке:
Я использую опцию NODATA с растром значений, который имеет один пиксель NoData, и поэтому ожидаю, что результирующее значение зоны (зона 61154) будет 'NoData'. Вместо этого я получаю значение 12,74 (округленное до 13 на изображении), что смущает меня на двух уровнях: во-первых, я ожидал «NoData», а во-вторых, результирующее значение 12,74 математически невозможно, поскольку среднее не может быть больше чем максимальное значение в значении растра, которое в данном случае равно 10.
Если я использую опцию DATA, я получаю значение около 9,1, что имеет смысл. Мы проверили это на разных наборах данных, компьютерах и версиях ArcGIS.
Что мне здесь не хватает?
Редактировать / Дополнительный комментарий: Я только что заметил, что атрибут «Количество» также не подходит для этой конкретной зоны. В этой зоне действительно 421 ячейка, но инструмент насчитал только 297. При подсчете 421 минус 297 получается 124 - как ни странно, это «позиция», в которой расположен пиксель NoData, если считать пиксели от левого верхнего до нижнего прямо в зоне. Инструментом может быть неправильное (слишком низкое) количество ячеек, что может объяснить увеличение среднего значения.
Изменить: Вот ссылка на данные, которые я использую.
Изменить: Дэн Паттерсон и я сделали дальнейшую отладку здесь, на форуме ESRI.
Ответы:
Существует ошибка, которая, по-видимому, соответствует тому, что вы испытываете - она зарегистрирована как BUG-000084883 - Опция «Игнорировать данные в расчетах» в инструменте «Зональная статистика как таблица» {и инструмент Зональная статистика} не отмечена, если отключена, неверные результаты.
Это происходит с 10.3 и 10.2.2, но не с 10.1. Вы пробовали инструмент с этой версией?
источник
Это ошибка. Что-то ужасно не так с количеством клеток.
Правильное среднее (9,0452380952381) умноженное на правильное количество непустых ячеек (420), деленное на 297 (то есть количество ячеек, сообщенных инструментом ), приводит к 12,7912457912458. Это неверное среднее значение, сообщаемое инструментом.
Результаты моего собственного теста игрушечных сеток:
источник
Подобно другому ответу , переместите растровые данные в маскированные массивы NumPy, чтобы вычислить статистику. Предполагая два наложенных растра одинаковой формы, это просто:
шоу:
источник