Доступно с лицензией Spatial Analyst.
Краткая информация
Извлекает ячейки растра на основе логического запроса.
Рисунок
Использование
Если в ответ на условие Where (Where clause) получен ответ Истинно, исходное значение ячейки присваивается соответствующей ячейке выходного растра. Если получен ответ Ложно, ячейке выходного растра присваивается значение NoData.
Условие Where (Where clause) использует SQL-запрос. Более подробно о создании запросов в Конструкторе запросов см. в следующих разделах:
Чтобы использовать в языке Python выражение условия {where_clause}, его следует заключить в кавычки. Например, "Value > 5000".
Дополнительные сведения об указании запроса в Python см. в справке.
Любые дополнительные поля (кроме Value и Count) входного растра не будут включены в выходной растр.
Если другое поле входного растра (не Value) фигурирует в запросе, исходное значение ячейки входного растра будет присвоено ячейке выходного растра.
Если в качестве входного указан многоканальный растр, на выходе будет создан новый многоканальный растр. Соответственно, будет анализироваться каждый канал входного многоканального растра.
Выходным форматом по умолчанию является растр базы геоданных. Если в качестве выходного формата указан Esri Grid stack, его название не должно начинаться с цифры, содержать пробелы и должно иметь длину не более девяти символов.
Если входные данные – это слой, созданный на основании многоканального растра, состоящего из более, чем трех каналов, в операции извлечения будут учитываться только те каналы, которые были загружены слоем (отображены символами). В результате выходной многоканальный растр может иметь лишь три канала – в соответствии с используемыми для входного слоя каналами.
Если входной растр целочисленный, выходной растр будет также целочисленным. Если входной растр с плавающей точкой, выходной растр также будет с плавающей точкой.
См. раздел Среда анализа и 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")
Параметры среды
- Автоподтверждение (Auto Commit)
- Размер ячейки (Cell size)
- Сжатие (Compression)
- Текущая рабочая область (Current Workspace)
- Экстент (Extent)
- Географические преобразования (Geographic Transformations)
- Маска (Mask)
- Выходное ключевое слово CONFIG (Output CONFIG Keyword)
- Выходная система координат (Output Coordinate System)
- Статистика растра (Raster Statistics)
- Временная рабочая область (Scratch Workspace)
- Растр привязки (Snap Raster)
- Размер листа (Tile Size)