Извлечь по атрибутам (Spatial Analyst)

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

Сводка

Извлекает ячейки растра на основе логического запроса.

Иллюстрация

Иллюстрация инструмента Извлечь по атрибутам
OutRas = ExtractByAttributes(InRas1, "Value > 0")

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

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

  • Если для параметра Входной растр (in_raster в Python) указан многоканальный растр, будет обработаны все каналы.

    Чтобы обработать выбранные каналы входного многоканального растра, сначала создайте новый набор растровых данных, состоящий только из необходимых каналов, с помощью инструмента Объединить каналы. Затем используйте полученный результат как Входной растр (in_raster в Python).

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

  • Если в ответ на условие Where (Where clause) получен ответ Истинно, исходное значение ячейки присваивается соответствующей ячейке выходного растра. Если получен ответ Ложно, ячейке выходного растра присваивается значение NoData.

  • Условие Where использует SQL-запрос. Более подробно о создании запросов см. в следующих разделах:

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

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

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

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

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

Синтаксис

ExtractByAttributes(in_raster, where_clause)
ParameterОбъяснениеТип данных
in_raster

Входной растр, ячейки которого извлекаются.

Raster Layer
where_clause

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

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

SQL Expression

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

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

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

Raster

Пример кода

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

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

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
attExtract = ExtractByAttributes("elevation", "VALUE > 1000") 
attExtract.save("c:/sapyexamples/output/attextract")
ExtractByAttributes пример 2 (автономный скрипт)

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

# Name: ExtractByAttributes_Ex_02.py
# Description: Extracts the cells of a raster based on a logical query. 
# 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 = "elevation"
inSQLClause = "VALUE > 1000"

# Execute ExtractByAttributes
attExtract = ExtractByAttributes(inRaster, inSQLClause) 

# Save the output 
attExtract.save("c:/sapyexamples/output/attextract02")

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

  • Basic: Требуется Spatial Analyst
  • Standard: Требуется Spatial Analyst
  • Advanced: Требуется Spatial Analyst

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