Работаете с NoData в ArcGIS Spatial Analyst?

10

При использовании Spatial Analyst у меня регулярно возникают проблемы со значениями NoData, возникающими в данных.

Различные инструменты появляются для регулярного представления значений NoData.

Эти значения затем вызывают проблемы с другими инструментами и должны быть устранены с помощью реклассификации, что обычно приводит к другим проблемам.

Как должны обрабатываться значения NoData? Есть ли простой способ заменить значения NoData нулями? Можно ли вообще избежать NoData?

Мэтью Снейп
источник
3
Обычно - но не всегда - значение NoData должно быть там. Это предотвращает сбой всей операции, когда она может произойти сбой по отдельности всего в нескольких ячейках. Хорошими примерами являются деление на ноль, журналы неположительных чисел и различные локальные операции, предпринимаемые вдоль границ сетки. Один из немногих хороших примеров, которые я знаю относительно того, где не следует вводить значения NoData, - это фокусное большинство / меньшинство, которое разрешает связи, устанавливая их в NoData!
whuber
1
Кроме того, существует различие между конечными NoData (например, -9999) и 1.#QNANNoData. В ArcGIS первый прозрачен, а 1.#QNANNoData - непрозрачный черный.
Майк Т

Ответы:

6

Я бы использовал растровый калькулятор со следующим выражением:

Con(IsNull([raster]), 0, [raster])

Предполагается, что ваш растр называется «растр».


Синтаксис инструмента 10.x Raster Calculator немного отличается. В этом примере «растр» - это слой на карте:

Con(IsNull("raster"), 0, "raster")
И один
источник
4

Вы можете установить значения NoData на любое значение, используя условный оператор Set Null ( ArcGIS 9.3 , ArcGIS 10 ). Однако я не знаю, как предотвратить появление NoData.


Я понял, что должен был написать / связать с оператором Con, как упомянул @AndOne.

Из документации, если вы используете Python:

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outCon = Con("elevation", "elevation", "", "VALUE > 2000")
outCon.save("C:/sapyexamples/output/outcon.img")
djq
источник
1
+1. Многие из операций имеют аргументы, которые ограничивают результаты NoData. Например , при вычислении статистики окрестности («фокусной») вы можете указать, что NoData во входных данных (которые должны появляться по краям) просто игнорируются, а не распространяются на выходные данные. Обратите внимание, что каждая плоская сетка имеет границу, за которой находятся NoData.
whuber
Может ли это быть использовано для преобразования NoData в ноль?
Мэтью Снейп
Да, какую версию ArcGIS вы используете?
djq
Верионы, которые я использую, это Arcgis 10.0
Мэтью Снейп,