Извлечь мультизначения в точки (Spatial Analyst)

Доступно с лицензией Spatial Analyst.

Краткая информация

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

Использование

  • Этот инструмент изменяет входные точечные объекты и может менять внутренний ID объекта, под именем ObjectID, FID или OID. Рекомендуется добавить поле уникального ID в атрибутивную таблицу перед выполнением анализа.

  • Значения ячеек будут извлекаться из всех входных растров в каждом местоположении. Новое поле, содержащее значения ячеек каждого входного растра, будет присоединено к входному классу точечных объектов.

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

  • Входные растры не будут пересчитываться в соответствии с настройками среды анализа. Вместо этого значения ячеек будут извлечены из всех входных растров в исходном разрешении и пространственной привязки путем проецирования входных местоположений в систему координат растра, из которого извлекаются значения.

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

  • Местоположениям, которые извлекают значения из ячеек NoData во входном растре, в выходной таблице будет присвоено значение <null>. Для шейп-файлов, поскольку они не поддерживают значения null, значения NoData в таблице содержат значения -9999.

  • Формат шейп-файла имеет ограничение на максимальную длину имени поля в 10 символов. В результате, имена всех полей, присоединяемых к атрибутивной таблице входного шейп-файла, будут по умолчанию сокращены и сделаны уникальными. Если имена длинные или похожие, это может затруднить различение таких полей. В этом случае рекомендуется конвертировать входной шейп-файл в класс объектов файловой базы геоданных, и использовать в анализе класс объектов.

  • Если значения Входных точечных объектов (in_point_features в Python) заданы слоем событий XY, связанная таблица события обновляется напрямую. Если таблица доступна только для чтения, инструмент не сработает.

  • Если значения Входных точечных объектов представлены классом точечных объектов, и у него нет пространственного индекса, появится предупреждение. Чтобы повысить производительность инструмента для крупных входных данных с большим количеством точек, создайте пространственный индекс. См. инструмент Добавить пространственный индекс для дополнительной информации.

  • Инструмент не сможет работать с мультиточечными объектами. Для выполнения анализа с мультиточечными объектами, сначала конвертируйте их в отдельные точечные объекты, перед тем, как использовать их в инструменте извлечения. Для получения подробной информации см. Обработка мультиточечных данных.

  • В качестве Входных растров могут быть заданы любые комбинации растров (одноканальные или многоканальные растры) (in_rasters в Python).

  • Если многоканальный растр указан как один из входных для параметра Входной растр (in_rasters в Python), будут обработаны все каналы.

    Чтобы обработать выбранные каналы входного многоканального растра, сначала создайте новый набор растровых данных, состоящий только из необходимых каналов, с помощью инструмента Объединить каналы. Затем укажите полученный набор в списке входных растров

  • Если входные данные – многоканальный растр, для всех каналов будет добавлено поле с префиксом b1_, b2_, …bn, добавляемым к имени выходного поля, содержащего число каналов.

  • Имена выходных полей по умолчанию создаются по имени входного растра; иначе вы можете указать уникальное имя для каждого поля, хранящего значения растра.

  • Параметр Билинейная интерполяция значений в местоположениях точек (bilinear_interpolate_values в Python) указывает, будет ли использоваться интерполяция для получения значений из растра. По умолчанию используется опция извлечения точного значения ячейки во входных местоположениях. Для извлечения значения с использованием метода билинейной интерполяции, отметьте этот параметр (bilinear_interpolate_values = "BILINEAR" в Python).

  • Если объект задан в среде Маска, внутренний растр создается с использованием минимального размера ячейки входных растров. Во время извлечения внутренний растр маски снова пересчитывается до размера ячейки каждого входного растра.

  • См. раздел Среда анализа и Spatial Analyst для получения дополнительной информации о среде геообработки данного инструмента.

Параметры

ПодписьОписаниеТип данных
Входные точечные объекты

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

Feature Layer
Входные растры

Значения входного растра (или растров), которые будут извлечены на основе местоположения входного точечного объекта.

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

Extract Values
Билинейная интерполяция значений в местоположениях точек
(Дополнительный)

Определяет, будет ли использоваться интерполяция.

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

Производные выходные данные

ПодписьОписаниеТип данных
Обновленные точечные объекты

Обновленные точечные объекты.

Feature Class

ExtractMultiValuesToPoints(in_point_features, in_rasters, {bilinear_interpolate_values})
ИмяОписаниеТип данных
in_point_features

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

Feature Layer
in_rasters
[Raster, {Output Field Name}]

Значения входного растра (или растров), которые будут извлечены на основе местоположения входного точечного объекта.

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

Extract Values
bilinear_interpolate_values
(Дополнительный)

Определяет, будет ли использоваться интерполяция.

  • NONEИнтерполяция не применяется, используется значение центра ячейки. Это значение по умолчанию
  • BILINEARИзвлекаемое значение вычисляется с использованием значений смежных ячеек с применением билинейной интерполяции. Значения NoData игнорируются при интерполяции, за исключением тех случаев, когда все смежные ячейки содержат значения NoData.
Boolean

Производные выходные данные

ИмяОписаниеТип данных
out_point_features

Обновленные точечные объекты.

Feature Class

Пример кода

ExtractMultiValuesToPoints, пример 1 (окно Python)

Значения ячеек извлекаются из нескольких растров в атрибуты класса точечных объектов шейп-файлов.

import arcpy
from arcpy.sa import *
from arcpy import env 
env.workspace = "c:/sapyexamples/data"
ExtractMultiValuesToPoints("observers.shp", [["elevation", "ELEV"], 
                           ["costraster", "COST"], ["flowdir", "DIR"]], "NONE")
ExtractMultiValuesToPoints, пример 2 (автономный скрипт)

Значения ячеек извлекаются из нескольких растров в атрибуты класса точечных объектов шейп-файлов, используя интерполяцию.

# Name: ExtractMultiValuesToPoints_Ex_02.py
# Description: Extracts the cells of multiple rasters as attributes in
#    an output point feature class.  This example takes a multiband IMG
#    and two GRID files as input.
# 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
inPointFeatures = "poi.shp"
inRasterList = [["doqq.img", "doqqval"], ["redstd", "focalstd"], 
                ["redmin", "focalmin"]]

# Execute ExtractValuesToPoints
ExtractMultiValuesToPoints(inPointFeatures, inRasterList, "BILINEAR")