Установить Null (Spatial Analyst)

Доступно с лицензией Spatial Analyst.

Доступно с лицензией Image Analyst.

Сводка

Инструмент Установить ноль (Set Null) устанавливает идентифицированные ячейки на NoData на основании заданного критерия. Выдает значение NoData, если при выполнении оценки условия получено значение Истина, и выдает значение, определяемое другим растром, если получено значение Ложь.

Более подробно о присвоении ячейкам значений NoData с помощью инструмента Установить Null

Иллюстрация

Иллюстрация инструмента Установить Null
OutRas = SetNull(InRas1, InRas2, "Value = 4")

Использование

  • Если оценка выражения запроса истинна, ячейке на выходном растре будет присвоено значение NoData. Если оценка условия ложна, значения на выходном растре будут определены значением входного ложного растра или постоянным значением.

  • Если выражение запроса не определено, в тех случаях, когда значения растра условия не равны 0, значения выходного растра будут NoData.

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

  • Выражение (Expression) использует SQL-запрос. Более подробно о создании запросов см. в следующих разделах:

  • Чтобы использовать в языке Python выражение условия {where_clause}, его следует заключить в кавычки. Например, "Value > 5000".

    Дополнительные сведения об указании запроса в Python см. в справке.

  • Максимальная длина логического выражения – 4096 символов.

  • См. раздел Среда анализа и Spatial Analyst для получения дополнительной информации о среде геообработки данного инструмента.

Синтаксис

SetNull(in_conditional_raster, in_false_raster_or_constant, {where_clause})
ParameterОбъяснениеТип данных
in_conditional_raster

Входной растр, представляющий истинный или ложный результат заданного условия.

Может быть целочисленным или с плавающей точкой.

Raster Layer
in_false_raster_or_constant

Входные данные, значения которых будут использоваться в качестве выходных значений ячеек, если условие – Ложь.

Это может быть целочисленный растр или растр с плавающей точкой или константное значение.

Raster Layer; Constant
where_clause
(Дополнительный)

Логическое выражение, которое определяет, какие из входных ячеек истинные, а какие ложные.

Выражение следует за главной формой выражения SQL. Примером условия where_clause является условие "VALUE > 100".

SQL Expression

Значение отраженного сигнала

NameОбъяснениеТип данных
out_raster

Выходной растр.

Если условная оценка – Истина, выдается значение NoData. Если Ложь, выдается значение второго входного растра.

Raster

Пример кода

SetNull. Пример 1 (окно Python)

В этом примере любой входной ячейке со значением меньше 0 будет присвоено значение NoData в выходном растре, при этом все остальные ячейки сохранят свое исходное значение.

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outSetNull = SetNull("elevation", "elevation", "VALUE < 0")
outSetNull.save("C:/sapyexamples/output/outsetnull.img")
SetNull, пример 2 (автономный скрипт)

В этом примере любой входной ячейке со значением, отличным от 7, будет присвоено значение NoData, а ячейкам со значением 7 будет присвоено значение 1 на выходном растре.

# Name: SetNull_Ex_02.py
# Description: Returns NoData if a conditional evaluation is 
#              true and returns the value specified by another
#              raster if it is false, on a cell-by-cell basis.
# Requirements: Spatial Analyst Extension

# Import system modules
import arcpy
from arcpy import env
from arcpy.sa import *

# Set environment settings
env.workspace = "C:/sapyexamples/data"

# Set local variables
inRaster = "landclass"
inFalseRaster = 1
whereClause = "VALUE <> 7"

# Execute SetNull
outSetNull = SetNull(inRaster, inFalseRaster, whereClause)

# Save the output 
outSetNull.save("C:/sapyexamples/output/outsetnull")

Информация о лицензиях

  • Basic: Требуется Дополнительный модуль Spatial Analyst или Image Analyst
  • Standard: Требуется Дополнительный модуль Spatial Analyst или Image Analyst
  • Advanced: Требуется Дополнительный модуль Spatial Analyst или Image Analyst

Связанные разделы