Извлечь по образцу (Spatial Analyst)

Доступно с лицензией 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 для получения дополнительной информации о среде геообработки данного инструмента.

Параметры

ПодписьОписаниеТип данных
Входные растры

Растры, значения которых будут отобраны в качестве образцов на основании исходных данных местоположений.

Параметр Обработать как многомерный доступен только в том случае, если входные данные представляют собой один многомерный растр.

Raster Layer
Входной растр или объекты местоположений

Данные, идентифицирующие позиции, в которых будет взят образец.

Входными данными могут быть растр или класс объектов.

Raster Layer; Feature Layer
Выходная таблица или класс объектов

Выходная таблица или класс объектов, содержащая значения отобранных в качестве образцов ячеек.

Выходной формат определяется выходным местоположением и путем к ней. По умолчанию выходными данными будут таблица базы геоданных или класс объектов базы геоданных в рабочей области базы геоданных, таблица dBASE или класс объектов шейп-файла в рабочей области папок.

Тип выходных данных для создания таблицы или класса пространственных объектов управляется параметром Создать класс объектов.

Table; Point feature class
Методы изменения разрешения
(Дополнительный)

Алгоритм пересчета, который будет использоваться для выборки растра, чтобы определить, как будут получены значения из растра.

  • БлижайшийБудет использоваться присвоение ближайшего соседа. Это значение по умолчанию
  • БилинейныйБудет использоваться билинейная интерполяция.
  • Кубическая сверткаБудет использована кубическая свертка.
String
Поле уникального ID
(Дополнительный)

Поле, содержащее отличное значение для каждого местоположения или объекта во входном растре или среди объектов местоположений.

Field
Обработать как многомерный
(Дополнительный)

Задает способ обработки входных растров.

Этот параметр доступен только в том случае, если входные данные представляют собой один многомерный растр.

  • Не отмечено – образцы будут взяты из текущего среза многомерного растра. Это значение по умолчанию
  • Отмечено – образцы будут взяты для всех измерений (например, времени и глубины) многомерного растра.
Boolean
Информация о данных местоположений
(Дополнительный)

Указывает время, глубину или другие данные, связанные с объектами местоположений.

Поддерживаются только следующие комбинации:

  • Измерение + Поле начала или значение
  • Измерение + Поле начала или значение + Поле окончания или значение
  • Измерение + Поле начала или значение + Относительное значение или дней до + Относительное значение или дней после

Относительное значение или дней до и Относительное значение или дней после поддерживают только неотрицательные значения.

Статистика будет рассчитываться для переменных в пределах этого диапазона измерений с помощью параметра Тип статистики.

Value Table
Тип статистики
(Дополнительный)

Указывает тип вычисляемой статистики.

  • МинимумБудет вычислено минимальное значение в указанном диапазоне.
  • МаксимумБудет вычислено максимальное значение в указанном диапазоне.
  • МедианаБудет вычислено медианное значение в указанном диапазоне.
  • СреднееБудет вычислено среднее значение для указанного диапазона.
  • СуммаБудет вычислено общее значение переменных в указанном диапазоне.
  • БольшинствоБудет вычислено значение, которое встречается чаще всего.
  • МеньшинствоБудет вычислено значение, которое встречается реже всего.
  • Среднеквадратическое отклонениеБудет вычислено Среднеквадратическое отклонение.
  • ПроцентильБудет вычислен заданный процентиль в указанном диапазоне.
String
Значение процентиля
(Дополнительный)

Значение могут варьироваться от 0 до 100. Значение по умолчанию равно 90.

Double
Поле или значение буферного расстояния
(Дополнительный)

Расстояние вокруг объектов местоположений. Буферное расстояние указывается в линейной единице пространственной привязки объекта местоположения. Если объект использует географическую систему координат, единицами измерения будут градусы.

Статистика будет рассчитываться в пределах этой буферной области.

Double; Field
Компоновка по столбцам
(Дополнительный)

Указывает, будут ли отображены отобранные значения в строках или столбцах выходной таблицы.

  • Не отмечено – Отобранные значения будут отображены в отдельных строках выходной таблицы. Это значение по умолчанию
  • Отмечено – Отобранные значения будут отображены в отдельных столбцах выходной таблицы. Эта опция действительна, только когда входной многомерный растр содержит одну переменную и одно измерение, и каждый срез является одноканальным растром.
Boolean
Создать класс объектов
(Дополнительный)

Указывает, будет ли создан класс точечных объектов с отобранными значениями в атрибутивной таблице или будет сгенерирована таблица с отобранными значениями.

  • Не отмечено – будет создана таблица с отобранными значениями. Это значение по умолчанию
  • Отмечено – Будет создан класс точечных объектов с отобранными значениями в атрибутивной таблице.
Boolean

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})
ИмяОписаниеТип данных
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
(Дополнительный)

Алгоритм пересчета, который будет использоваться для выборки растра, чтобы определить, как будут получены значения из растра.

  • NEARESTБудет использоваться присвоение ближайшего соседа. Это значение по умолчанию
  • BILINEARБудет использоваться билинейная интерполяция.
  • CUBICБудет использована кубическая свертка.
String
unique_id_field
(Дополнительный)

Поле, содержащее отличное значение для каждого местоположения или объекта во входном растре или среди объектов местоположений.

Field
process_as_multidimensional
(Дополнительный)

Задает способ обработки входных растров.

Этот параметр доступен только в том случае, если входные данные представляют собой один многомерный растр.

  • ALL_SLICESОбразцы будут взяты для всех измерений (например, времени и глубины) многомерного растра.
  • CURRENT_SLICEОбразцы будут взяты из текущего среза многомерного растра. Это значение по умолчанию
Boolean
acquisition_definition
[acquisition_definition,...]
(Дополнительный)

Указывает время, глубину или другие данные, связанные с объектами местоположений.

Поддерживаются только следующие комбинации:

  • Измерение + Поле начала или значение
  • Измерение + Поле начала или значение + Поле окончания или значение
  • Измерение + Поле начала или значение + Относительное значение или дней до + Относительное значение или дней после

Relative value or days before и Relative value or days after поддерживают только неотрицательные значения.

Статистика будет рассчитываться с помощью параметра statistics_type для переменных в пределах этого диапазона измерений.

Value Table
statistics_type
(Дополнительный)

Указывает тип вычисляемой статистики.

  • MINIMUMБудет вычислено минимальное значение в указанном диапазоне.
  • MAXIMUMБудет вычислено максимальное значение в указанном диапазоне.
  • MEDIANБудет вычислено медианное значение в указанном диапазоне.
  • MEANБудет вычислено среднее значение для указанного диапазона.
  • SUMБудет вычислено общее значение переменных в указанном диапазоне.
  • MAJORITYБудет вычислено значение, которое встречается чаще всего.
  • MINORITYБудет вычислено значение, которое встречается реже всего.
  • STDБудет вычислено Среднеквадратическое отклонение.
  • PERCENTILEБудет вычислен заданный процентиль в указанном диапазоне.
String
percentile_value
(Дополнительный)

Процентиль для вычисления, если параметр Тип статистики задан как Процентиль.

Процентиль для вычисления, если для параметра statistics_type задано PERCENTILE.

Значение могут варьироваться от 0 до 100. Значение по умолчанию равно 90.

Double
buffer_distance
(Дополнительный)

Расстояние вокруг объектов местоположений. Буферное расстояние указывается в линейной единице пространственной привязки объекта местоположения. Если объект использует географическую систему координат, единицами измерения будут градусы.

Статистика будет рассчитываться в пределах этой буферной области.

Double; Field
layout
(Дополнительный)

Указывает, будут ли отображены отобранные значения в строках или столбцах выходной таблицы.

  • ROW_WISEОтобранные значения будут отображены в отдельных строках выходной таблицы. Это значение по умолчанию
  • COLUMN_WISEОтобранные значения будут отображены в отдельных столбцах выходной таблицы. Эта опция действительна, только когда входной многомерный растр содержит одну переменную и одно измерение, и каждый срез является одноканальным растром.
Boolean
generate_feature_class
(Дополнительный)

Указывает, будет ли создан класс точечных объектов с отобранными значениями в атрибутивной таблице или будет сгенерирована таблица с отобранными значениями.

  • TABLEТаблица с отобранными значениями будет создана. Это значение по умолчанию
  • FEATURE_CLASSБудет создан класс точечных объектов с отобранными значениями в атрибутивной таблице.
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 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)
Sample, пример 3 (автономный скрипт)

Извлекает значения ячеек из нескольких растров в таблицу, основанную на входных местоположениях.

# Name: Sample_Ex_03.py
# Description: Creates a table that shows the temperature values from 
#              a multidimensional raster, for defined locations. 
#              The locations are defined 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 = "temperature_1990_2019.nc"
locations = "observers.shp"
outTable = "C:/sapyexamples/output/samptable_03"
sampMethod = ""
uniqueIDField = "FID"
process_as_multidimensional = True

# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")

# 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)
Sample, пример 4 (автономный скрипт)

Извлекает значения ячеек из нескольких растров в таблицу, основанную на входных местоположениях.

# 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)