Доступно с лицензией Spatial Analyst.
Сводка
Создает таблицу, содержащую значения ячеек растра или набора растров, для конкретных местоположений. Местоположения определяются ячейками растра или набором точек.
Входные растры могут быть двумерными или многомерными. Структура выходной таблицы изменяется, когда входные растры являются многомерными.
Более подробно о том, как работает инструмент Извлечь по образцу
Использование
Значения ячеек будут извлекаться из всех входных растров в каждом местоположении. Будет создана таблица со значениями ячеек каждого входного растра.
Дополнительные атрибуты из таблицы входного растра, если есть, не будут включены в входную таблицу.
Входные растры не будут пересчитываться с учетом параметра среды. Вместо этого, значения ячеек извлекаются из всех входных растров со своим оригинальным разрешением и пространственной привязкой с помощью проекции входных местоположений в пространственную привязку растра, по которому извлекаются значения.
Однако параметр среды анализа применяется ко входным местоположениям.
Местоположениям, которые извлекают значения из ячеек NoData во входном растре, в выходной таблице будет присвоено значение <null>. Для шейп-файлов, поскольку поля null не поддерживаются, ячейки NoData записываются в таблицу со значениями -9999.
В качестве Входных растров могут быть заданы любые комбинации растров (одноканальные или многоканальные растры) (in_rasters в Python).
Если многоканальный растр указан как один из входных для параметра Входной растр (in_rasters в Python), будут обработаны все каналы.
Чтобы обработать выбранные каналы входного многоканального растра, сначала создайте новый набор растровых данных, состоящий только из необходимых каналов, с помощью инструмента Объединить каналы. Затем укажите полученный набор в списке входных растров.
Если входные данные местоположений являются растровыми, центр каждой ячейки, содержащей допустимые значения (не NoData), используется для извлечения значений ячеек из всех входных растров для данного местоположения.
Если входные данные местоположений являются классом точечных объектов и у него нет пространственного индекса, появится предупреждение. Чтобы повысить производительность инструмента для крупных входных точечных объектов, создайте пространственный индекс.
Инструмент не сможет работать с мультиточечными объектами. Для выполнения анализа с мультиточечными объектами, сначала конвертируйте их в точечные объекты, перед запуском инструмента извлечения. Дополнительные сведения см. в разделе, касающемся обработки мультиточечных данных.
Пространственная привязка координат x,y в выходной таблице выборок соответствует привязке Входного растра местоположений или точечных объектов (in_location_data в Python), если только она не указана в параметре среды Выходная система координат. Если пространственная привязка входных местоположений неизвестна, пространственная привязка координат x,y также останется неизвестной.
Пространственная привязка координат x,y определяется в конце работы инструмента, в виде сообщения геообработки.
Опция Методы изменения разрешения (resampling_type в Python) определяет порядок получения значений из растра. По умолчанию используется Ближайшее, что позволяет извлечь значение ячейки во входных местоположениях. Для извлечения интерполированных значений, выберите опцию Билинейная или Кубическая.
Тип поля, содержащий значения ячеек, соответствует типу растра для опции Ближайшее. Однако чтобы сохранить точность интерполированных значений, для опций Билинейная или Кубическая тип поля всегда будет с плавающей точкой. Если используется опция изменения разрешения Ближайшее, поле в выходной таблице будет соответствовать типу растра. Однако чтобы сохранить точность интерполированных значений, для опций Билинейная или Кубическая тип поля всегда будет с плавающей точкой.
В выходную таблицу добавляется поле Sample_point для хранения значений, заданных в поле Unique ID (unique_id_field в Python). Рекомендуется использовать поле, содержащее уникальные значения, как идентификатор каждого местоположения для последующего анализа.
Если в качестве входного задан многомерный растр, а параметр Обработать как многомерный не включен (ALL_SLICES для параметра process_as_multidimensional в Python), будет обработан только текущий срез многомерного растра.
Чтобы извлечь значения из всех срезов входного многомерного набора данных, включите параметр Обработать как многомерный.
Если параметр Обработать как многомерный включен (ALL_SLICES для параметра process_as_multidimensional в Python), происходит следующее.
Инструмент обработает только один многомерный растр. Если задано несколько многомерных растров, будет обработан только первый.
Извлеченные значения сохраняются в поле с тем же именем, что и переменная. Создаются дополнительные поля для хранения значений непространственных размерностей, с тем же именем, что и размерность.
Если в многомерном растре есть несколько каналов, для каждого из них дополнительные поля не создаются. Вместо этого, значения извлеченные из каналов, сохраняются в поле переменной. Дополнительное поле создается для размерности, использованной для указания канала, для хранения значений размерности.
В данный момент для многомерной обработки этим инструментом поддерживаются следующие растры: растровые слои netCDF и многомерные наборы данных мозаики. Сервисы изображений, состоящие из многомерных данных, также могут использоваться, если сервис позволяет это.
Если объект указан в параметре среды Маска, внутренний растр создается с использованием минимального размера ячейки входных растров. Во время извлечения, внутрениий растр маски снова пересчитывается в размер ячейки входного растра.
См. раздел Среда анализа и Spatial Analyst для получения дополнительной информации о среде геообработки данного инструмента.
Синтаксис
Sample(in_rasters, in_location_data, out_table, {resampling_type}, {unique_id_field}, {process_as_multidimensional})
Параметр | Объяснение | Тип данных |
in_rasters [in_raster,...] | Перечень растров, значения которых будут отобраны в качестве образцов на основании входных данных местоположений. | Raster Layer |
in_location_data | Данные, определяющие позиции, в которых вы хотите отобрать образец. Эти данные могут быть представлены растром или точечным набором классов объектов. | Raster Layer; Feature Layer |
out_table | Выходная таблица, в которой содержатся значения отобранных в качестве образцов ячеек. Формат таблицы определяется выходным местоположением и путем к ней. По умолчанию выходными данными будет таблица базы геоданных. Если путь указывает не на базу геоданных, формат будет определяется расширением. Если выбрано расширение .dbf, данные будут в формате dBASE. Если расширение не указано, это будет таблица INFO. | Table |
resampling_type (Дополнительный) | Алгоритм передискретизации, используемый при отборе образцов на растре.
| String |
unique_id_field (Дополнительный) | Поле, содержащее отличное значение для каждого местоположения или объекта во входном растре или среди точечных объектов местоположений. | Field |
process_as_multidimensional (Дополнительный) | Определяет, как обрабатываются входные растры.
| Boolean |
Пример кода
Sample, пример 1 (окно Python)
Извлекает значения ячеек из нескольких растров в таблицу, основанную на входных местоположениях.
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
Sample(["elevation", "costraster"], "observers.shp",
"c:/sapyexamples/output/samptable","NEAREST")
Sample, пример 2 (автономный скрипт)
Извлекает значения ячеек из нескольких растров в таблицу, основанную на входных местоположениях.
# Name: Sample_Ex_02.py
# Description: Creates a table that shows the values of cells from
# a raster, or set of rasters, for defined locations.
# The locations are defined by raster cells or by a set
# of points.
# 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
inRasters = ["elevation",
"costraster"]
locations = "observers.shp"
outTable = "c:/sapyexamples/output/samptable02"
sampMethod = "NEAREST"
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute Sample
Sample(inRasters, locations, outTable, sampMethod)
Параметры среды
Информация о лицензиях
- Basic: Требуется Spatial Analyst
- Standard: Требуется Spatial Analyst
- Advanced: Требуется Spatial Analyst