Allocation de coût (Spatial Analyst)

Niveau de licence :De baseStandardAvancé

Récapitulatif

Calcule pour chaque cellule sa source la plus proche à partir du plus faible coût cumulé sur une surface de coût.

Pour en savoir plus sur le fonctionnement des outils de distance de coût

Illustration

Illustration de l'outil Allocation de coût
Cost_Alloc = CostAllocation(Source_Ras, Cost_Ras)

Utilisation

Syntaxe

CostAllocation (in_source_data, in_cost_raster, {maximum_distance}, {in_value_raster}, {source_field}, {out_distance_raster}, {out_backlink_raster})
ParamètreExplicationType de données
in_source_data

Emplacement des sources en entrée.

Un jeu de données raster ou un jeu de classes d'entités identifie les cellules ou les emplacements par rapport auxquels la distance de plus faible coût cumulé est calculée pour chaque emplacement de cellule en sortie.

Pour les rasters, le type d'entrée peut être entier ou à virgule flottante.

Si le raster source en entrée est à virgule flottante, le paramètre {in_value_raster} doit être défini et il doit être de type entier. Le raster de valeurs est prioritaire sur tout paramètre de {source_field}.

Raster Layer | Feature Layer
in_cost_raster

Raster définissant l'impédance ou le coût de déplacement planimétrique à travers chaque cellule.

La valeur à chaque emplacement de cellule représente le coût par unité de distance pour le déplacement à travers chaque cellule. Chaque valeur d'emplacement de cellule est multipliée par la résolution de cellule (avec également une compensation simultanée pour mouvement diagonal) afin d'obtenir le coût total du passage à travers la cellule.

Les valeurs du raster de coût peuvent être des entiers ou valeurs à virgule flottante, mais elles ne peuvent pas être négatives ni nulles (un coût ne peut pas être négatif ou nul).

Raster Layer
maximum_distance
(Facultatif)

Définit le seuil que les valeurs de coût cumulé ne peuvent pas dépasser.

Si une valeur de distance de coût cumulé dépasse cette valeur, la valeur en sortie de l'emplacement de cellule est NoData. La distance maximale définit l'étendue pour laquelle les distances de coût cumulé sont calculées.

La distance par défaut va jusqu'à la bordure du raster en sortie.

Double
in_value_raster
(Facultatif)

Raster d'entiers en entrée qui identifie les valeurs de zone à utiliser pour chaque emplacement source en entrée.

Pour chaque emplacement source (cellule ou entité), la valeur définie par {in_value_raster} sera attribuée à toutes les cellules allouées à l'emplacement source pour le calcul. Le raster de valeurs est prioritaire sur tout paramètre de {source_field}.

Raster Layer
source_field
(Facultatif)

Champ permettant d'attribuer des valeurs aux emplacements source. Il doit être de type entier.

Si {in_value_raster} a été défini, les valeurs dans cette entrée auront priorité sur tout paramètre de {source_field}.

Field
out_distance_raster
(Facultatif)

Raster de distance de coût en sortie.

Le raster de distance de coût identifie, pour chaque cellule, la distance du plus faible coût cumulé sur une surface de coût vers le(s) emplacement(s) source(s) identifié(s).

Une source peut être une cellule, un jeu de cellules voire un ou plusieurs emplacements d'entités.

Le raster en sortie est de type virgule flottante.

Raster Dataset
out_backlink_raster
(Facultatif)

Raster d'antécédence de coût en sortie.

Le raster d'antécédence contient des valeurs de 0 à 8 qui définissent la direction ou identifient la cellule voisine suivante (la cellule suivante) le long du chemin de plus faible coût cumulé à partir d'une cellule pour atteindre sa source de plus faible coût.

Si le chemin doit passer à l'intérieur du voisin de droite, la cellule se voit attribuer la valeur 1, 2 pour la cellule dans la diagonale inférieure droite et ainsi de suite dans le sens des aiguilles d'une montre. La valeur 0 est réservée aux cellules sources.

Positions d'antécédence
Raster Dataset

Valeur renvoyée

NomExplicationType de données
out_allocation_raster

Le raster d'allocation de coût en sortie.

Raster identifiant la zone de chaque emplacement source (cellule ou entité) ayant pu être atteint avec le plus faible coût cumulé.

Le raster en sortie est un entier

Raster

Exemple de code

Premier exemple d'utilisation de l'outil CostAllocation (fenêtre Python)

Le script dans la fenêtre Python ci-après explique comment utiliser l'outil CostAllocation.

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
out = ()
costAllocOut = CostAllocation("observers.shp", "costraster", 25000,"elevation",
                               "FID", "c:/sapyexamples/output/distout", 
                               "c:/sapyexamples/output/backlinkout")
costAllocOut.save("c:/sapyexamples/output/costalloc")
Deuxième exemple d'utilisation de l'outil CostAllocation (script autonome)

Ce script utilise un raster de coût, une couche d'entité de points source, et plusieurs paramètres optionnels pour calculer un raster des cellules qui contiennent la valeur de la source la plus proche.

# Name: CostAllocation_Ex_02.py
# Description: Calculates for each cell its nearest source 
#              based on the least accumulative cost 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
inFeature = "observers.shp"
costRaster = "costraster"
maxDist = 25000
valRaster = "elevation"
featField = "FID"
outDistanceRaster = "c:/sapyexamples/output/distout"
outBacklink = "c:/sapyexamples/output/backlinkout"

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

# Execute CostAllocation
costAllocOut = CostAllocation(inFeature, costRaster, maxDist,
                              valRaster, featField, outDistanceRaster,
                              outBacklink)

# Save the output 
costAllocOut.save("c:/sapyexamples/output/costalloc01")

Environnements

Thèmes connexes

Informations de licence

ArcGIS for Desktop Basic : Requis ArcGIS Spatial Analyst
ArcGIS for Desktop Standard : Requis ArcGIS Spatial Analyst
ArcGIS for Desktop Advanced : Requis ArcGIS Spatial Analyst
9/13/2013