Coste de distancia (Spatial Analyst)

Nivel de licencia:BasicStandardAdvanced

Resumen

Calcula la distancia de menor coste acumulativo para cada celda al origen más cercano sobre una superficie de coste.

Más información sobre el funcionamiento de las herramientas de Distancia de coste

Ilustración

Cost Distance illustration
Cost_Dist = CostDistance(Source_Ras, Cost_Ras)

Uso

Sintaxis

CostDistance (in_source_data, in_cost_raster, {maximum_distance}, {out_backlink_raster})
ParámetroExplicaciónTipo de datos
in_source_data

Ubicaciones de origen de entrada.

Esto es un dataset de entidades o ráster que identifica las celdas o las ubicaciones para las cuales se calcula la distancia de menor coste acumulado de 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_cost_raster

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
maximum_distance
(Opcional)

Define el umbral que los valores de coste acumulado no pueden superar.

Si un valor de distancia de coste acumulado supera este valor, el valor de salida de la ubicación de la celda será NoData. La distancia máxima define la extensión por la cual se calculan las distancias de coste acumulado.

La distancia predeterminada es hasta el borde del ráster de salida.

Double
out_backlink_raster
(Opcional)

Ráster de vínculo anterior de coste de salida.

El ráster de vínculo anterior contiene valores de 0 a 8, que definen la dirección o identifican la celda próxima (la celda que sigue) a lo largo de la ruta con menor coste acumulativo desde una celda para alcanzar la fuente de menor coste.

Si la ruta es pasar al elemento próximo derecho, se le asignará a la celda el valor 1, 2 para la celda diagonal derecha inferior y continuando en el sentido de las agujas del reloj. El valor 0 se reserva para las celdas de origen.

Posiciones de vínculo
Raster Dataset

Valor de retorno

NombreExplicaciónTipo de datos
out_distance_raster

Ráster de distancia de coste de salida.

El ráster de distancia de coste identifica, para cada celda, la menor distancia de coste acumulado sobre una superficie de coste hacia las ubicaciones de origen identificadas.

Un origen puede ser una celda, un conjunto de celdas o una o más ubicaciones de entidades.

El ráster de salida es de tipo de punto flotante.

Raster

Ejemplo de código

Ejemplo 1 de CostDistance (ventana de Python)

La siguiente secuencia de comandos de la ventana de Python muestra cómo utilizar la herramienta CostDistance.

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outCostDist = CostDistance("source.shp", "elevation", 200000, "backlink")
outCostDist.save("C:/sapyexamples/output/costdist")
Ejemplo 2 de CostDistance (secuencia de comandos independiente)

Calcula el ráster de distancia de menor coste acumulado desde ubicaciones de origen del archivo de forma de puntos.

# Name: CostDistance_Ex_02.py
# Description: Calculates for each cell the least accumulative cost distance
#    to the nearest source over a cost  surface. 
# 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
inSourceData = "source.shp"
inCostRaster = "elevation"
maxDistance = 20000000   
outBkLinkRaster = "C:/sapyexamples/output/outbklink"

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

# Execute CostDistance
outCostDistance = CostDistance(inSourceData, inCostRaster, maxDistance, outBkLinkRaster)

# Save the output 
outCostDistance.save("C:/sapyexamples/output/outcostdist")

Entornos

Temas relacionados

Información sobre licencias

ArcGIS for Desktop Basic: Requiere Spatial Analyst
ArcGIS for Desktop Standard: Requiere Spatial Analyst
ArcGIS for Desktop Advanced: Requiere Spatial Analyst
9/11/2013