Доступно с лицензией 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)
Parameter | Объяснение | Тип данных |
in_raster | Входной растр, ячейки которого извлекаются. | Raster Layer |
where_clause | Логическое выражение, которое выбирает поднабор ячеек растра. Выражение следует за главной формой выражения SQL. Примером условия where_clause является условие "VALUE > 100". | SQL Expression |
Значение отраженного сигнала
Name | Объяснение | Тип данных |
out_raster | Выходной растр, содержащий значения ячеек, извлеченные из входного растра. | Raster |
Пример кода
В этом примере из растра извлекаются ячейки на основе логического запроса, где высота больше 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")
В этом примере из растра извлекаются ячейки на основе логического запроса, где высота больше 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")
Environments
Информация о лицензиях
- Basic: Требуется Spatial Analyst
- Standard: Требуется Spatial Analyst
- Advanced: Требуется Spatial Analyst