Доступно с лицензией Spatial Analyst.
Сводка
Извлекает ячейки растра на основе логического запроса.
Иллюстрация
Использование
Дополнительные атрибуты входного растра, если имеются, будут перенесены в атрибутивную таблицу выходного растра без изменений. В зависимости от природы записываемого параметра, для некоторых атрибутивных значений может потребоваться пересчет.
Если для параметра Входной растр (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)
Параметр | Объяснение | Тип данных |
in_raster | Входной растр, ячейки которого извлекаются. | Raster Layer |
where_clause | Логическое выражение, которое выбирает поднабор ячеек растра. Выражение следует за главной формой выражения SQL. Примером условия where_clause является условие "VALUE > 100". | SQL Expression |
Значение отраженного сигнала
Имя | Объяснение | Тип данных |
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"
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute ExtractByAttributes
attExtract = ExtractByAttributes(inRaster, inSQLClause)
# Save the output
attExtract.save("c:/sapyexamples/output/attextract02")
Параметры среды
Информация о лицензиях
- Basic: Требуется Spatial Analyst
- Standard: Требуется Spatial Analyst
- Advanced: Требуется Spatial Analyst