Disponible con una licencia de Spatial Analyst.
Disponible con licencia de Image Analyst.
Resumen
Crea una tabla o una clase de entidad de punto que muestrea los valores de las celdas de un ráster, o conjunto de rásteres, para detectar ubicaciones definidas. Las ubicaciones se definen por celdas ráster, puntos, polilíneas o polígonos.
Uso
Los valores de celda se extraerán de todos los Rásteres de entrada (in_rasters en Python) en cada ubicación. Se creará una tabla o una clase de entidad de punto con campos que contienen los valores de celda para cada ráster de entrada.
En caso de que la tabla del ráster de entrada contuviera atributos adicionales, estos no se incluirán en la tabla de salida.
Se puede especificar cualquier combinación de rásteres (de banda única o multibanda) como rásteres de entrada. La estructura de la tabla de salida cambia automáticamente cuando los rásteres de entrada son multidimensionales.
Cuando se especifica un ráster multibanda como uno de los Rásteres de entrada, se utilizarán todas las bandas de esa entrada.
Se puede usar lo siguiente como valores de los parámetros Ráster o entidades de ubicación de entrada (in_location_data en Python):
- Ráster: se usarán las celdas que contengan valores válidos (no NoData) para extraer los valores de celda de todos los rásteres de entrada, y se usará el centro de la celda como ubicaciones de punto.
- Punto: valores que se muestrearán en cada ubicación de punto.
- Polilínea o polígono: se calculará el valor medio de todas las celdas que se intersequen con cada polilínea o polígono si la entrada es un ráster bidimensional o varios rásteres. Es posible especificar tipos de estadísticas adicionales si la entrada es un ráster multidimensional y se procesa como multidimensional.
A las ubicaciones que extraen valores de celdas NoData en el ráster de entrada se les proporcionará un valor <null> en la tabla de salida. Para shapefiles, dado que los campos nulos no son compatibles, las celdas NoData se representan en la tabla con un valor de -9999.
Los Rásteres de entrada se muestrean en su referencia espacial y resolución nativas. Si existen varios rásteres de entrada con referencias espaciales diferentes, las ubicaciones de entrada se proyectan primero individualmente a la referencia espacial de cada ráster; a continuación, se extraen los valores. Significa que, aunque los rásteres de entrada no respeten ninguna configuración de entorno de análisis, se aplicarán los entornos adecuados a las ubicaciones de entrada.
De forma predeterminada, la referencia espacial de las coordenadas x,y en el parámetro Tabla o clase de entidad de salida (out_table en Python) será la misma que la de los valores del parámetro Ráster o entidades de ubicación de entrada, a menos que se especifique otra en el entorno Sistema de coordenadas de salida. Si no se conoce la referencia espacial de los datos de ubicación de entrada, la referencia espacial de las coordenadas x,y tampoco se conoce.
La referencia espacial de las coordenadas x,y se reporta al final de la ejecución de la herramienta como un mensaje de geoprocesamiento.
Si Ráster o entidades de ubicación de entrada es una clase de entidad de puntos sin ningún índice espacial, se emitirá una advertencia. Para mejorar el rendimiento de la herramienta para una entrada con un gran número de puntos, cree un índice espacial. Consulte Agregar índice espacial para obtener más información.
La herramienta no se podrá ejecutar con entidades multipunto. Para realizar un análisis con entidades multipunto, conviértalas a entidades de puntos sencillas antes de usarlas en la herramienta de extracción. Consulte Procesar datos multipunto para obtener más información.
Si el parámetro Técnica de remuestreo tiene el valor Más cercano (resampling_type = "NEAREST" en Python), el tipo de campo de la tabla de salida coincidirá con el del tipo de ráster. Si la opción de remuestreo es Bilineal o Cúbico, el tipo de campo siempre será de punto flotante para mantener la precisión de los valores interpolados.
Se agrega un campo a la tabla de salida para almacenar los valores especificados en el parámetro Campo de Id. único (unique_id_field en Python). De forma predeterminada, el nombre del campo es el mismo que el nombre del dataset de ubicaciones de entrada. Se recomienda usar un campo que contenga valores únicos como el identificador para cada ubicación, para realizar más análisis.
Si el parámetro Procesar como multidimensional está desactivado (process_as_multidimensional = "CURRENT_SLICE" en Python), se aplican las siguientes condiciones:
- Si la entrada es un ráster multidimensional, solo se muestrea la sección actual.
- Si la entrada es un ráster multivariante, solo se muestrea la variable actual.
Si el parámetro Procesar como multidimensional está activado (process_as_multidimensional = "ALL_SLICES" en Python), se aplican las siguientes condiciones:
- Si la entrada es un ráster multidimensional, se muestrean todas las secciones.
- Si la entrada es un ráster multivariante, se muestrean todas las variables actuales.
- Si la entrada es un ráster multidimensional con varias variables, se muestrean todas las secciones de todas las variables. Las variables deben tener las mismas dimensiones.
Si el parámetro Procesar como multidimensional está activado (process_as_multidimensional = "ALL_SLICES" en Python), se aplica el escenario adecuado de entre los siguientes:
Se utiliza el parámetro Información de adquisición de los datos de ubicación (acquisition_definition en Python) para especificar el subconjunto del ráster de entrada que se desea usar para el muestreo.
Si se especifican la dimensión, el valor de inicio y el valor final, se procesan las secciones existentes dentro de los valores inicial y final. El valor final predeterminado es el valor máximo de la dimensión. Para una dimensión de tiempo, especifique el valor en el formato estándar. Para otras dimensiones, especifique el valor en la misma unidad que el del ráster de entrada.
Si se especifican la dimensión, el campo inicial y el campo final (el campo inicial y final provienen de los datos de la ubicación), se utilizan valores de estos campos para especificar un subconjunto del ráster de entrada mientras se muestrean los valores de esa ubicación.
Es posible usar los valores Valor relativo o días anteriores y Valor relativo o días posteriores para especificar un subconjunto en relación con el valor inicial, en el que el valor anterior especifica el comienzo del subconjunto y el valor posterior especifica el final del subconjunto. Los valores de tiempo se especifican en días y los demás valores de dimensión se especifican en la misma unidad que la del ráster de entrada.
El parámetro Tipo estadístico (statistics_type en Python) agrega los valores del parámetro Ráster de entrada como se especifica en el subconjunto del parámetro Información de adquisición de los datos de ubicación.
Si el parámetro Diseño por columnas está desactivado (layout = "ROW_WISE" en Python), los valores extraídos se almacenan en un campo con el mismo nombre que el de la variable. Se crean campos adicionales para almacenar los valores de dimensión no espacial con el mismo nombre que la dimensión.
Si el parámetro Diseño por columnas está activado (layout = "COLUMN_WISE" en Python), los valores extraídos se almacenan en campos cuyos nombres siguen una convención <variable_name>_<dimension_name>_<dimension_value>. Tenga en cuenta que el parámetro Diseño por columnas se admite cuando el ráster multidimensional contiene solo una variable, la variable tiene solo una dimensión y cada porción tiene una banda única. De lo contrario, se generará un mensaje de error.
Si el ráster multidimensional tiene varias bandas, se crea un campo adicional para cada banda, el cual almacena el valor extraído de dicha banda.
A las ubicaciones que extraen valores de las celdas NoData se les asigna el valor NoData del ráster multidimensional de entrada.
Los rásteres multidimensionales pueden ser una capa ráster netCDF, una capa ráster multidimensional, un dataset de mosaico multidimensional, un CRF multidimensional, un servicio de imágenes multidimensional o un archivo netCDF. No es posible buscar un archivo netCDF desde el cuadro de diálogo de la herramienta, pero sí se puede especificar la ruta del archivo.
Si el parámetro Generar clase de entidad está activado (generate_feature_class = "FEATURE_CLASS" en Python), la salida es una clase de entidad de punto con valores muestreados en su tabla de atributos. A continuación, se presentan los posibles tipos de ubicación con descripciones de cómo se muestrean los valores:
- Ráster: se crean puntos a partir de la ubicación del centro de la celda.
- Punto: se crea un punto en cada una de las ubicaciones de punto.
- Polilínea o polígono: se crea un punto en cada polígono o centroide de polilínea.
La referencia espacial de la clase de entidad de salida es la misma que la de los Ráster o entidades de ubicación de entrada, salvo que se especifique en el entorno Sistema de coordenadas de salida.
El entorno Factor de procesamiento en paralelo solo se admite cuando el parámetro Procesar como multidimensional está activado.
Si se especifica una entidad en el entorno de Máscara, se crea un ráster interno con el tamaño de celda mínimo de los rásteres de entrada. Durante la extracción, el ráster de máscara interno se vuelve a remuestrear al tamaño de celda de cada ráster de entrada.
Consulte Entornos de análisis y Spatial Analyst para obtener detalles adicionales sobre los entornos de geoprocesamiento que se aplican a esta herramienta.
Sintaxis
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})
Parámetro | Explicación | Tipo de datos |
in_rasters [in_raster,...] | Los rásteres con valores que se muestrean partiendo de los datos de ubicaciones de entrada. El parámetro process_as_multidimensional solo se admite si la entrada es un único ráster multidimensional. | Raster Layer |
in_location_data | Los datos que identifican las posiciones donde se toma una muestra. La entrada puede ser un ráster o una clase de entidad. | Raster Layer; Feature Layer |
out_table | La tabla o clase de entidad de salida que contiene los valores de las celdas muestreadas. El formato de salida está determinado por la ubicación y la ruta de salida. De forma predeterminada, la salida será una tabla de geodatabase o una clase de entidad de geodatabase en un espacio de trabajo de geodatabase o una tabla de dBASE, o bien una clase de entidad de shapefile en un espacio de trabajo de carpeta. El tipo de datos de salida para generar una tabla o una clase de entidad se controla mediante el parámetro generate_feature_class. | Table; Point feature class |
resampling_type (Opcional) | El algoritmo de remuestreo que se utilizará para muestrear un ráster y determinar cómo se obtendrán los valores del ráster.
| String |
unique_id_field (Opcional) | Un campo que contiene un valor diferente para cada ubicación o entidad en el ráster de ubicación o entidades de entrada. | Field |
process_as_multidimensional (Opcional) | Especifica cómo se procesan los rásteres de entrada. Este parámetro solo está disponible si la entrada es un único ráster multidimensional.
| Boolean |
acquisition_definition [acquisition_definition,...] (Opcional) | Especifica la hora, profundidad y otros datos de adquisición asociados con las entidades de ubicación. Solo se admiten las siguientes combinaciones:
Relative value or days before y Relative value or days after solo admiten valores no negativos. Se calculan estadísticas con el parámetro statistics_type para las variables de este rango de dimensión. | Value Table |
statistics_type (Opcional) | Especifica el tipo de estadística que se calculará.
| String |
percentile_value (Opcional) | El percentil que se va a calcular cuando el parámetro Tipo de estadísticas está establecido en Percentil. El percentil que se va a calcular cuando el parámetro statistics_type tiene el valor PERCENTILE. El valor puede variar del 0 al 100. El valor predeterminado es 90. | Double |
buffer_distance (Opcional) | La distancia que rodea las entidades de datos de ubicación. La distancia de zona de influencia se especifica en la unidad lineal de la referencia espacial de la entidad de ubicación. Si la entidad utiliza una referencia geográfica, la unidad estará en grados. Se calcularán las estadísticas dentro de esta área de zona de influencia. | Double; Field |
layout (Opcional) | Especifica si los valores de muestra aparecen en filas o columnas en la tabla de salida.
| Boolean |
generate_feature_class (Opcional) | Especifica si se genera una clase de entidad de punto con valores muestreados en su tabla de atributos, o bien una tabla con valores muestreados.
| Boolean |
Muestra de código
Extraiga los valores de celda a de varios rásteres a una tabla basada en ubicaciones de entrada.
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")
Extraiga los valores de celda a de varios rásteres a una tabla basada en ubicaciones de entrada.
# 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)
Extraiga los valores de celda a de varios rásteres a una tabla basada en ubicaciones de entrada.
# 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)
Extraiga los valores de celda a de varios rásteres a una tabla basada en ubicaciones de entrada.
# 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)
Entornos
Información de licenciamiento
- Basic: Requiere Spatial Analyst o Image Analyst o
- Standard: Requiere Spatial Analyst o Image Analyst o
- Advanced: Requiere Spatial Analyst o Image Analyst o