Доступно с лицензией Spatial Analyst.
Доступно с лицензией Image Analyst.
Сводка
Создает таблицу или класс точечных объектов, содержащую(-ий) значения ячеек растра или набора растров, для конкретных местоположений. Местоположения определяются ячейками растра, точками, полилиниями или полигонами.
Более подробно о том, как работает инструмент Извлечь по образцу
Использование
Значения ячеек будут извлекаться из всех Входных растров (in_rasters в Python) в каждом местоположении. Будет создана таблица или класс точечных объектов со значениями ячеек каждого входного растра.
Дополнительные атрибуты из таблицы входного растра, если есть, не будут включены в входную таблицу.
В качестве Входных растров могут быть заданы любые комбинации растров (одноканальные или многоканальные). Структура выходной таблицы изменяется автоматически, когда входные растры являются многомерными.
Если многоканальный растр указан как один из входных для параметра Входной растр, будут обработаны все каналы.
В качестве значений параметров Входного растра или объектов местоположений (in_location_data в Python) можно использовать следующие:
- Растр – ячейки, содержащие корректные значения (не NoData), будут использоваться для извлечения значений ячеек из всех входных растров, а центр ячейки будет использоваться в качестве точечных местоположений.
- Точка – значения будут отбираться в каждой точке местоположения.
- Полилиния или полигон – среднее значение всех ячеек, пересекающих каждую полилинию или полигон, будет вычислено, если входные данные представляют собой двумерный растр или несколько растров. Дополнительные типы статистики могут быть заданы, если входные данные являются многомерным растром и обрабатываются как многомерные.
Местоположениям, которые извлекают значения из ячеек NoData во входном растре, в выходной таблице будет присвоено значение <null>. Для шейп-файлов, поскольку поля null не поддерживаются, ячейки NoData записываются в таблицу со значениями -9999.
Входные растры отбираются в соответствии с их собственной пространственной привязкой и разрешением. Если имеется несколько входных растров с различными пространственными привязками, то входные местоположения сначала проецируются на пространственную привязку каждого растра в отдельности, а затем извлекаются значения. Это означает, что, хотя входные растры не будут учитывать никаких параметров среды анализа, соответствующие среды будут применены к входным местоположениям.
По умолчанию пространственная привязка координат x, y в параметре Выходная таблица или класс объектов (out_table в Python) будет такой же, как для значений параметра Входной растр или объекты местоположений, если только в среде Выходной системы координат не задана другая привязка. Если пространственная привязка входных местоположений неизвестна, пространственная привязка координат x,y также останется неизвестной.
Пространственная привязка координат x,y указывется в конце работы инструмента, в виде сообщения геообработки.
Если Входной растр местоположений или объектов является классом точечных объектов и у него нет пространственного индекса, появится предупреждение. Чтобы повысить производительность инструмента для крупных входных данных с большим количеством точек, создайте пространственный индекс. Дополнительные сведения см. в разделе Добавить пространственный индекс.
Инструмент не сможет работать с мультиточечными объектами. Для выполнения анализа с мультиточечными объектами, конвертируйте их в точечные объекты, перед запуском инструмента извлечения. Дополнительные сведения см. в разделе, касающемся обработки мультиточечных данных.
Если параметр Метод пересчета установлен на Ближайшее (resampling_type = "NEAREST" в Python), тип поля в выходной таблице будет соответствовать типу растра. Если используется опция пересчета Билинейная или Кубическая, тип поля всегда будет иметь плавающую точку, чтобы поддерживать точность интерполированных значений.
В выходную таблицу будет добавлено поле для хранения значений, указанных в параметре Поле уникального ID (unique_id_field в Python). Имя поля по умолчанию – то же имя, что и имя набора данных входного местоположения. Рекомендуется использовать поле, содержащее уникальные значения, как идентификатор каждого местоположения для последующего анализа.
Если параметр Обработать как многомерный выключен (process_as_multidimensional = "CURRENT_SLICE" в Python), будут применяться следующие условия:
- Если входные данные представляют собой многомерный растр, то в выборке будет только текущий срез.
- Если входные данные представляют собой многовариантный растр, то в выборке будет только текущая переменная.
Если параметр Обработать как многомерный включен (process_as_multidimensional = "ALL_SLICES" в Python), будут применяться следующие условия:
- Если входные данные представляют собой многомерный растр, то в выборке будут все срезы.
- Если входные данные представляют собой многовариантный растр, то в выборке будут все переменные.
- Если входные данные представляют собой многомерный растр с несколькими переменными, то в выборке будут все срезы из всех переменных. Переменные должны иметь одинаковую размерность.
Если параметр Обработать как многомерный включен (process_as_multidimensional = "ALL_SLICES" в Python), будет применяться соответствующий сценарий из следующих возможных:
Параметр Информация о получении данных местоположения (acquisition_definition в Python) будет использоваться для указания поднабора входного растра, используемого для выборки.
При указании размера, начального значения и конечного значения обрабатываются срезы в пределах начального и конечного значений. Конечное значение по умолчанию – это максимальное значение размера. Для измерения времени укажите значение в стандартном формате. Для других измерений укажите значение в той же единице измерения, что и для входного растра.
Когда заданы размер, начальное поле и конечное поле (начальное поле и конечное поле берутся из данных местоположения), значения из этих полей используются для указания подмножества входного растра при выборке значений в этом местоположении.
Значения Относительное значение или дней до и Относительное значение или дней после можно использовать для указания поднабора относительно начального значения, в котором значение до указывает начало подмножества, а значение после – конец подмножества. Значения времени задаются в днях, а другие значения измерений задаются в той же единице измерения, что и значения входного растра.
Параметр Тип статистики (statistics_type в Python) агрегирует значения параметра Входной растр, заданного поднабором в параметре Информация о данных местоположений.
Если параметр Компоновка столбца выключен (layout = "ROW_WISE" в Python), извлеченные значения сохраняются в поле с тем же именем, что и переменная. Для хранения значений не пространственных измерений создаются дополнительные поля, с тем же именем, что и измерение.
Если параметр Компоновка столбца включен (layout = "COLUMN_WISE" в Python), извлеченные значения сохраняются в полях с именами в формате <variable_name>_<dimension_name>_<dimension_value>. Обратите внимание, что параметр Компоновка столбца поддерживается, когда многомерный растр содержит только одну переменную, переменная имеет только одно измерение, а каждый срез имеет один канал. В противном случае будет сгенерировано сообщение об ошибке.
Если в многомерном растре есть несколько каналов, для каждого из них создается дополнительное поле, в котором хранится значение, извлеченное из этого канала.
Местоположениям, извлекающим значения из ячеек NoData, будет присвоено значение NoData из входного многомерного растра.
Многомерный растр может быть растровым слоем netCDF, многомерным растровым слоем, многомерным набором данных мозаики, многомерным CRF, многомерным сервисом изображений или файлом netCDF. Нельзя перейти к файлу netCDF из диалогового окна инструмента, но можно указать путь к файлу.
Если включен параметр Создать класс объектов (generate_feature_class = "FEATURE_CLASS" в Python), то на выходе будет точечный класс объектов с отобранными значениями в атрибутивной таблице. Ниже приведены возможные типы местоположений с описанием того, как будут отбираться значения:
- Растр – будут созданы точки с использованием местоположения центра ячейки.
- Точка – будет создана точка в каждом точечном местоположении.
- Полилиния или полигон – На каждом центроиде полигона или полилинии будет создана точка.
Пространственная привязка выходного класса объектов соответствует привязке Входного растра или объектов местоположений, если только она не указана в параметре среды Выходная система координат.
Параметр среды Коэффициент параллельной обработки поддерживается, только когда параметр Обработать как многомерный включен.
Если объект указан в параметре среды Маска, внутренний растр создается с использованием минимального размера ячейки входных растров. Во время извлечения, внутрениий растр маски снова пересчитывается в размер ячейки входного растра.
См. раздел Среда анализа и Spatial Analyst для получения дополнительной информации о среде геообработки данного инструмента.
Синтаксис
Sample(in_rasters, in_location_data, out_table, {resampling_type}, {unique_id_field}, {process_as_multidimensional}, {acquisition_definition}, {statistics_type}, {percentile_value}, {buffer_distance}, {layout}, {generate_feature_class})
Parameter | Объяснение | Тип данных |
in_rasters [in_raster,...] | Растры, значения которых будут отобраны в качестве образцов на основании исходных данных местоположений. Параметр process_as_multidimensional поддерживается только в том случае, если входные данные представляют собой один многомерный растр. | Raster Layer |
in_location_data | Данные, идентифицирующие позиции, в которых будет взят образец. Входными данными могут быть растр или класс объектов. | Raster Layer; Feature Layer |
out_table | Выходная таблица или класс объектов, содержащая значения отобранных в качестве образцов ячеек. Выходной формат определяется выходным местоположением и путем к ней. По умолчанию выходными данными будут таблица базы геоданных или класс объектов базы геоданных в рабочей области базы геоданных, таблица dBASE или класс объектов шейп-файла в рабочей области папок. Тип выходных данных для создания таблицы или класса пространственных объектов управляется параметром generate_feature_class. | Table; Point feature class |
resampling_type (Дополнительный) | Алгоритм пересчета, который будет использоваться для выборки растра, чтобы определить, как будут получены значения из растра.
| String |
unique_id_field (Дополнительный) | Поле, содержащее отличное значение для каждого местоположения или объекта во входном растре или среди объектов местоположений. | Field |
process_as_multidimensional (Дополнительный) | Задает способ обработки входных растров. Этот параметр доступен только в том случае, если входные данные представляют собой один многомерный растр.
| Boolean |
acquisition_definition [acquisition_definition,...] (Дополнительный) | Указывает время, глубину или другие данные, связанные с объектами местоположений. Поддерживаются только следующие комбинации:
Relative value or days before и Relative value or days after поддерживают только неотрицательные значения. Статистика будет рассчитываться с помощью параметра statistics_type для переменных в пределах этого диапазона измерений. | Value Table |
statistics_type (Дополнительный) | Указывает тип вычисляемой статистики.
| String |
percentile_value (Дополнительный) | Процентиль для вычисления, если параметр Тип статистики задан как Процентиль. Процентиль для вычисления, если параметр statistics_type задан как PERCENTILE. Значение могут варьироваться от 0 до 100. Значение по умолчанию равно 90. | Double |
buffer_distance (Дополнительный) | Расстояние вокруг объектов местоположений. Буферное расстояние указывается в линейной единице пространственной привязки объекта местоположения. Если объект использует географическую систему координат, единицами измерения будут градусы. Статистика будет рассчитываться в пределах этой буферной области. | Double; Field |
layout (Дополнительный) | Указывает, будут ли отображены отобранные значения в строках или столбцах выходной таблицы.
| Boolean |
generate_feature_class (Дополнительный) | Указывает, будет ли создан класс точечных объектов с отобранными значениями в атрибутивной таблице или будет сгенерирована таблица с отобранными значениями.
| Boolean |
Пример кода
Извлекает значения ячеек из нескольких растров в таблицу, основанную на входных местоположениях.
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
Sample(["elevation", "costraster"], "observers.shp",
"c:/sapyexamples/output/samptable.dbf")
Извлекает значения ячеек из нескольких растров в таблицу, основанную на входных местоположениях.
# Name: Sample_Ex_02.py
# Description: Creates a feature class that shows the values of cells from
# rasters, for defined locations.
# The locations are defined by a set of points.
# Sampling method is Bilinear.
# Requirements: Spatial Analyst Extension
# Import system modules
import arcpy
from arcpy import env
from arcpy.sa import *
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Set the analysis environments
env.workspace = "C:/sapyexamples/data"
# Set local variables
inRasters = ["elevation",
"costraster"]
locations = "observers.shp"
outFeatureClass = "c:/sapyexamples/output/samptable02.shp"
sampMethod = "BILINEAR"
generate_feature_class = "FEATURE_CLASS"
# Execute Sample
Sample(inRasters, locations, outFeatureClass, sampMethod, "", "", "", "", "", "", "", generate_feature_class)
Извлекает значения ячеек из нескольких растров в таблицу, основанную на входных местоположениях.
# Name: Sample_Ex_03.py
# Description: Creates a table that shows the temperature values from
# a multidimensional raster, for defined locations.
# Each temperature has a unique OBSERVATION_ID
# Sampling method is Bilinear
# Requirements: Spatial Analyst Extension
# Import system modules
import arcpy
from arcpy import env
from arcpy.sa import *
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Set the analysis environments
env.workspace = "C:/sapyexamples/data"
# Set local variables
inRasters = "temperature_1990_2019.nc"
locations = "observers.shp"
outTable = "C:/sapyexamples/output/samptable_03.dbf"
sampMethod = "BILINEAR"
uniqueIDField = "OBSERVATION_ID"
process_as_multidimensional = True
# Execute Sample
# the temperature value at each slice in temperature_1990_2019.nc will be extracted for each point
Sample(inRasters, locations, outTable, sampMethod, uniqueIDField, process_as_multidimensional)
Извлекает значения ячеек из нескольких растров в таблицу, основанную на входных местоположениях.
# Name: Sample_Ex_04.py
# Description: Creates a table that shows, for each polygon, the maximum temperature value within the period [1999-01-01T00:00:00 , 2019-01-01-T00:00:00]
# Requirements: Spatial Analyst Extension
# Import system modules
import arcpy
from arcpy import env
from arcpy.sa import *
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Set environment settings
env.workspace = "C:/sapyexamples/data"
# Set local variables
inRasters = "temperature_1990_2019.nc"
locations = "observers_polygons.shp"
outTable = "C:/sapyexamples/output/samptable_04.dbf"
sampMethod = "BILINEAR"
uniqueIDField = "OBSERVATIONID"
process_as_multidimensional = True
# StdTime in acquisition_definition is the name of the dimension in inRasters that are related with time
# 1999-01-01T00:00:00 in acquisition_definition is the start time of the period
# 2019-01-01-T00:00:00 in acquisition_definition is the end time of the period
acquisition_definition = "StdTime 1999-01-01T00:00:00 2019-01-01-T00:00:00"
statistic_method = "MAXIMUM"
# Execute Sample
# for each polygon in locations, the maximum temperature value within the period [1999-01-01T00:00:00 , 2019-01-01-T00:00:00] will be extracted
Sample(inRasters, locations, outTable, sampMethod, uniqueIDField, process_as_multidimensional, acquisition_definition, statistic_method)
Environments
Информация о лицензиях
- Basic: Требуется Дополнительный модуль Spatial Analyst или Image Analyst или
- Standard: Требуется Дополнительный модуль Spatial Analyst или Image Analyst или
- Advanced: Требуется Дополнительный модуль Spatial Analyst или Image Analyst или