Disponible con una licencia de Spatial Analyst.
Resumen
Calcula la asignación de distancia para cada celda a los orígenes proporcionados en función de la distancia en línea recta, coste-distancia, verdadera distancia de superficie y factores de coste vertical y horizontal.
Uso
Los datos de origen de entrada pueden ser un ráster o una clase de entidad.
Cuando los datos de origen de entrada son un ráster, el conjunto de celdas de origen consta de todas las celdas del ráster de origen que tengan valores válidos. Las celdas con valores NoData no se incluyen en el conjunto de origen. El valor 0 se considera un origen legítimo. Se puede crear un ráster de origen con las herramientas de extracción.
Cuando los datos de origen de entrada son una clase de entidad, las ubicaciones de origen se convierten internamente en un ráster antes de realizar el análisis. La resolución del ráster se puede controlar con el entorno Tamaño de celda. De forma predeterminada, si no se especifica ningún otro ráster en la herramienta, la resolución se determinará por medio del valor más bajo del ancho o la altura de la extensión de la entidad de entrada, en la referencia espacial de entrada, dividido entre 250.
Si existe NoData en alguna de estas entradas: Ráster de costes de entrada, Ráster de superficie de entrada, Ráster vertical de entrada o Ráster horizontal de entrada, en el cálculo se ignorarán las celdas de esas ubicaciones en todas las entradas. Se mantiene NoData en cualquiera de estos rásteres en todo el cálculo, por lo tanto, se presenta NoData en todas las salidas.
Si el origen se encuentra en NoData en alguno de los rásteres de entrada correspondientes, se ignora en el análisis y, por lo tanto, no se calculará la distancia desde ese origen.
Si no se especifica la configuración del entorno Extensión, la extensión de procesamiento se determina de esta manera:
Si solo se especifican los Datos de ráster de entrada o de origen de entidades y Datos de entidad o ráster de barrera de entrada, se utiliza la combinación de las entradas (expandida dos celdas de ancho a cada lado) como extensión de procesamiento. El motivo por el que se expande el ráster de salida dos filas y columnas es que las salidas se utilizan en Ruta óptima como línea y Ruta óptima como ráster y las rutas que se generan se pueden mover por las barreras. Para utilizar la extensión como barrera implícita, debe establecer de manera explícita la Extensión en la configuración del entorno.
Si se especifica alguno de los siguientes datasets ráster: Ráster de superficie de entrada, Ráster de costes de entrada, Ráster vertical de entrada o Ráster horizontal de entrada, la extensión de procesamiento será la intersección de dichos rásteres.
Si no se especifican las configuraciones del entorno Tamaño de celda ni Ráster de alineación y se especifican varios rásteres como entradas, el Tamaño de celda y el Ráster de alineación se definen en función de la prioridad: Ráster de costes de entrada, Ráster de superficie de entrada, Ráster vertical de entrada, Ráster horizontal de entrada, Datos de ráster de entrada o de origen de entidades y Datos de entidad o ráster de barrera de entrada.
Los valores predeterminados para los modificadores del Factor vertical son los siguientes:
Keyword Zero Low High Slope Power Cos Sec factor cut cut power power angle angle ------------------------ ------ ----- ----- ----- ----- ----- ----- Binary 1.0 -30 30 ~ ~ ~ ~ Linear 1.0 -90 90 1/90 ~ ~ ~ Symmetric linear 1.0 -90 90 1/90 ~ ~ ~ Inverse linear 1.0 -45 45 -1/45 ~ ~ ~ Symmetric inverse linear 1.0 -45 45 -1/45 ~ ~ ~ Cos ~ -90 90 ~ 1.0 ~ ~ Sec ~ -90 90 ~ 1.0 ~ ~ Cos_sec ~ -90 90 ~ ~ 1.0 1.0 Sec_cos ~ -90 90 ~ ~ 1.0 1.0
La salida de la herramienta Orientación se puede utilizar como entrada para el Ráster horizontal de entrada.
Los valores predeterminados para los modificadores del Factor horizontal son los siguientes:
Keywords Zero factor Cut angle Slope Side value -------------- ----------- ----------- ----- --------- Binary 1.0 45 ~ ~ Forward 0.5 45 (fixed) ~ 1.0 Linear 0.5 181 1/90 ~ Inverse linear 2.0 180 -1/90 ~
Las características del origen, o los elementos que se mueven desde o hasta un origen, se pueden controlar por medio de parámetros específicos.
- Acumulación inicial define el coste inicial antes de que se inicie el movimiento.
- Acumulación máxima especifica el coste que puede acumular un origen antes de alcanzar su límite.
- Multiplicador para aplicar a los costes especifica el modo de desplazamiento o la magnitud en el origen.
- Dirección del viaje identifica si el elemento en movimiento parte de un origen y se mueve a ubicaciones distintas del origen o parte de ubicaciones distintas del origen y regresa a un origen.
Si alguno de los parámetros de las características de origen se especifica usando un campo, la característica de origen se aplicará a cada origen en función de la información del campo correspondiente para los datos de origen. Cuando se especifica una palabra clave o un valor constante, se aplica a todos los orígenes.
Esta herramienta admite el procesamiento en paralelo. Si su equipo tiene varios procesadores o procesadores con varios núcleos, puede conseguir un mayor rendimiento, especialmente en los datasets mayores. El tema de ayuda Procesamiento en paralelo con Spatial Analyst contiene más detalles acerca de esta posibilidad y cómo configurarla.
Al utilizar el procesamiento en paralelo, se escriben datos temporales para administrar los lotes de datos a medida que se procesan. La ubicación de la carpeta temporal predeterminada será su unidad C: local. Es posible controlar la ubicación de esta carpeta cambiando el valor de una variable de entorno del sistema denominada TempFolders y especificando la ruta de la carpeta que se desea usar (por ejemplo, E:\RasterCache). Si tiene privilegios de administrador en su equipo, también puede usar una clave de registro (por ejemplo, [HKEY_CURRENT_USER\SOFTWARE\ESRI\ArcGISPro\Raster]).
De forma predeterminada, esta herramienta usará el 50 por ciento de los núcleos disponibles. Si los datos de entrada tienen un tamaño inferior a 5.000 x 5.000 celdas, es posible que se utilicen menos núcleos. Es posible controlar el número de núcleos empleados por la herramienta, a través de la configuración de entorno de Factor de procesamiento en paralelo.
Consulte Entornos de análisis y Spatial Analyst para obtener detalles adicionales sobre los entornos de geoprocesamiento que se aplican a esta herramienta.
Sintaxis
DistanceAllocation(in_source_data, {in_barrier_data}, {in_surface_raster}, {in_cost_raster}, {in_vertical_raster}, {vertical_factor}, {in_horizontal_raster}, {horizontal_factor}, {out_distance_accumulation_raster}, {out_back_direction_raster}, {out_source_direction_raster}, {out_source_location_raster}, {source_field}, {source_initial_accumulation}, {source_maximum_accumulation}, {source_cost_multiplier}, {source_direction}, {distance_method})
Parámetro | Explicación | Tipo de datos |
in_source_data | Ubicaciones de origen de entrada. Es un dataset de entidades o ráster que identifica las celdas o las ubicaciones desde o hasta las cuales se calcula el menor coste de distancia acumulado para cada ubicación de celda de salida. Para los rásteres, el tipo de entrada puede ser de tipo entero o punto flotante. | Raster Layer; Feature Layer |
in_barrier_data (Opcional) | El dataset que define las barreras. Las barreras pueden definirse mediante un ráster entero o de punto flotante, o mediante una capa de entidades. En el caso de una barrera de ráster, la barrera debe tener un valor válido, incluido cero, y las áreas que no son barreras deben ser NoData. | Raster Layer; Feature Layer |
in_surface_raster (Opcional) | Ráster que define los valores de elevación de cada ubicación de celda. Los valores se utilizan para calcular la distancia de la superficie actual cubierta al pasar entre las celdas. | Raster Layer |
in_cost_raster (Opcional) | Ráster que define la impedancia o el coste de hacer un movimiento planimétrico por medio de cada celda. El valor de cada ubicación de celda representa la distancia de coste por unidad para moverse a través de la celda. Cada valor de ubicación de celda se multiplica por la resolución de la celda mientras que también se compensa por el movimiento diagonal para obtener el coste total de pasar por medio de la celda. Los valores del ráster de coste pueden ser enteros o de punto flotante, pero no pueden ser negativos o cero (no puede tener un coste negativo o cero). | Raster Layer |
in_vertical_raster (Opcional) | Ráster que define los valores z de cada ubicación de celda. Los valores se utilizan para calcular la pendiente utilizada para identificar el factor vertical incurrido al realizar un movimiento de una celda a otra. | Raster Layer |
vertical_factor (Opcional) | El objeto Vertical factor define la relación entre el factor de coste vertical y el ángulo de movimiento relativo vertical (VRMA). Existen varios factores con modificadores que se pueden seleccionar que identifican un gráfico de factor vertical definido. Además, se puede utilizar una tabla para crear un gráfico personalizado. Los gráficos se utilizan para identificar el factor vertical utilizado para calcular el coste total de realizar el movimiento hacia una celda próxima. En las descripciones de abajo se utilizan dos acrónimos: VF, que significa factor vertical y define la dificultad vertical encontrada al realizar un movimiento desde una celda a la siguiente; y VRMA, que significa ángulo de movimiento relativo vertical e identifica el ángulo de pendiente entre la celda FROM o, celda de procesamiento, y la celda TO. El objeto se presenta de las siguientes maneras:
Sus definiciones y parámetros son los siguientes:
Los modificadores de los parámetros verticales son los siguientes:
| Vertical Factor |
in_horizontal_raster (Opcional) | Ráster que define la dirección horizontal de cada celda. Los valores del ráster deben ser números enteros comprendidos entre 0 y 360, con 0 grados al norte o hacia la parte superior de la pantalla y que aumentan en el sentido de las agujas del reloj. Las áreas llanas deben tener el valor -1. Los valores de cada ubicación se utilizarán en conjunto con el horizontal_factor para determinar el coste horizontal incurrido al realizar el movimiento de una celda hacia sus vecinos. | Raster Layer |
horizontal_factor (Opcional) | El objeto Horizontal Factor define la relación entre el factor de coste horizontal y el ángulo de movimiento relativo horizontal. Existen varios factores con modificadores que se pueden seleccionar que identifican un gráfico de factor horizontal definido. Además, se puede utilizar una tabla para crear un gráfico personalizado. Los gráficos se utilizan para identificar el factor horizontal utilizado para calcular el coste total de realizar el movimiento hacia una celda próxima. En las descripciones de abajo se utilizan dos acrónimos: HF, que significa factor horizontal y define la dificultad horizontal con la se encuentra al realizar un movimiento desde una celda a la siguiente; y HRMA, que significa ángulo de movimiento relativo horizontal y define el ángulo entre la dirección horizontal de una celda y la dirección del movimiento. El objeto se presenta de las siguientes maneras: Sus definiciones y parámetros son los siguientes:
Los modificadores para las palabras clave horizontales son los siguientes:
| Horizontal Factor |
out_distance_accumulation_raster (Opcional) | El ráster de distancia de salida. El ráster de acumulación de distancia contiene la distancia acumulativa de cada celda desde el origen de menor coste o hasta él. | Raster Dataset |
out_back_direction_raster (Opcional) | El ráster de dirección hacia atrás contiene la dirección calculada en grados. La dirección identifica la siguiente celda por la ruta más corta, de vuelta al origen más cercano, a la vez que evita las barreras. El rango de valores es de 0 grados hasta 360 grados, con el 0 reservado para las celdas de origen. Hacia el este (derecha) es 90 y los valores aumentan en el sentido de las agujas del reloj (180 es sur, 270 es oeste y 360 es norte). El ráster de salida es de tipo flotante. | Raster Dataset |
out_source_direction_raster (Opcional) | El ráster de dirección de origen identifica la dirección de la celda de origen de coste acumulado como acimut en grados. El rango de valores es de 0 grados hasta 360 grados, con el 0 reservado para las celdas de origen. Hacia el este (derecha) es 90 y los valores aumentan en el sentido de las agujas del reloj (180 es sur, 270 es oeste y 360 es norte). El ráster de salida es de tipo flotante. | Raster Dataset |
out_source_location_raster (Opcional) | El ráster de ubicación de origen es una salida multibanda. La primera banda contiene un índice de fila y la segunda banda contiene un índice de columna. Estos índices identifican la ubicación de la celda de origen más cercana al menor coste-distancia acumulado. | Raster Dataset |
source_field (Opcional) | El campo que se utiliza para asignar los valores a las ubicaciones de origen. Debe ser de tipo entero. | Field |
source_initial_accumulation (Opcional) | El coste acumulativo inicial con el que comenzar el cálculo de costes. Permite especificar el coste fijo asociado a un origen. En lugar de empezar con un coste cero, el algoritmo de coste empezarán con el valor establecido en el source_initial_accumulation. Los valores deben ser mayores o iguales que cero. El valor predeterminado es 0. | Double; Field |
source_maximum_accumulation (Opcional) | La acumulación máxima de la persona que viaja para un origen. Los cálculos de coste continúan para cada origen hasta que se alcanza la acumulación especificada. Los valores deben ser mayores que cero. La acumulación predeterminada es hasta el borde del ráster de salida. | Double; Field |
source_cost_multiplier (Opcional) | El multiplicador que se debe aplicar a los valores de coste. Permite controlar el modo de viaje o la magnitud en un origen. Cuanto mayor sea el multiplicador, mayor será el coste de moverse a través de cada celda. Los valores deben ser mayores que cero. El valor predeterminado es 1. | Double; Field |
source_direction (Opcional) | Especifica la dirección de la persona que viaja al aplicar factores horizontales y verticales.
Especifique la palabra clave FROM_SOURCE o TO_SOURCE, que se aplicará a todos los orígenes, o bien especifique un campo en los datos de origen que contenga las palabras clave para identificar la dirección de viaje para cada origen. Ese campo debe contener la cadena de caracteres FROM_SOURCE o TO_SOURCE. | String; Field |
distance_method (Opcional) | Especifica si la distancia se va a calcular basándose en un método planar (Tierra plana) o geodésico (elipsoide).
| String |
Valor de retorno
Nombre | Explicación | Tipo de datos |
out_distance_allocation_raster | El ráster de asignación de distancia de salida. | Raster |
Muestra de código
El siguiente script de la ventana de Python muestra cómo utilizar la herramienta DistanceAllocation.
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outDistAlloc = DistanceAllocation("insources.shp", "barriers.tif")
outDistAlloc.save("c:/sapyexamples/output/distalloc.tif")
Calcular para cada celda el menor coste-distancia acumulado respecto al origen más cercano a la vez que se tiene en cuenta la distancia de la superficie y los factores de coste vertical y horizontal.
# Name: DistanceAllocation_Ex_02.py
# Description: Calculates the distance allocation.
# 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
inSources = "insources.shp"
inBarrier = "barriers.tif"
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute EucDirections
outDistAlloc = DistanceAllocation(inSources, inBarrier)
# Save the output
outDistAlloc.save("c:/sapyexamples/output/distAllo2.tif")
Entornos
Información de licenciamiento
- Basic: Requiere Spatial Analyst
- Standard: Requiere Spatial Analyst
- Advanced: Requiere Spatial Analyst