Chemin de coût (Spatial Analyst)
Récapitulatif
Calcule le chemin de moindre coût entre une source et une destination.
Pour en savoir plus sur la création d'un chemin de moindre coût
Utilisation
-
L'outil Chemin de coût permet d'obtenir un raster en sortie qui enregistre le chemin de plus faible coût ou les chemins correspondant aux emplacements sélectionnés par rapport à la cellule de la source la plus proche que vous avez définie dans la surface de coûts cumulés (nous tenons compte des distances de coût).
-
Il existe un ou plusieurs outils de calcul de coûts pondérés (notamment Distance de coût, Antécédence de coût ou Allocation de coût) que vous devez généralement activer avant l'outil Chemin de coût pour pouvoir créer une distance de coût en entrée et des rasters d'antécédence. Ces rasters en entrée sont obligatoires si vous souhaitez utiliser l'outil Chemin de coût.
-
Chaque chemin de plus faible coût est attribué à une valeur issue du processus d'analyse. La dernière cellule dans le raster source initial (celui qui a permis de calculer la distance de coût et l'antécédence) dans un chemin de coût est associée à la valeur un. Le premier chemin est associé à la valeur trois, le deuxième à la valeur quatre, et ainsi de suite. La valeur deux est réservée pour la portion combinée des chemins qui ont des portions d'un chemin de coût en commun.
-
Lorsque les données de destination en entrée correspondent à un raster, l'ensemble des cellules de destination englobe toutes les cellules du raster en entrée ou les entités de destination comprenant des valeurs autorisées. Les cellules associées à la valeur NoData ne figurent pas dans la source. La valeur zéro est une destination pertinente. Vous pouvez facilement créer un raster de destination à l'aide des outils d'extraction.
Lorsque l'entrée source est une entité, par défaut, le premier champ disponible valide est utilisé. Si aucun champ valide n'existe, le champ ObjectID (par exemple, OID ou FID, selon le type de l'entité entrée) est utilisé.
Lorsque vous utilisez des données d'entité surfacique pour les destinations d'entité en entrée, vous devez traiter la taille de cellule en sortie avec prudence si elle est grossière par rapport au détail dans l'entrée. Dans le processus de tramage interne utilisé par l'outil Polygone vers raster, le paramètre par défaut de la méthode Type d'attribution de cellule est CELL_CENTER. Cela signifie que les données ne figurant pas au centre de la cellule ne seront pas incluses dans la sortie de destination tramée intermédiaire ; elles ne seront donc pas représentées dans les calculs de distance. Par exemple, si vos destinations sont représentées par une série de petits polygones, tels que des emprises de bâtiments, dont la taille est petite par rapport à la taille de cellule en sortie, il se peut que quelques-uns d'entre eux seulement apparaissent aux centres des cellules raster en sortie et que, vraisemblablement, la plupart des autres polygones soient perdus et exclus de l'analyse.
Pour éviter cette situation, vous pouvez entre-temps effectuer le tramage des entités en entrée directement avec l'outil Polygone vers raster et définir un champ Priorité, puis utiliser le résultat obtenu en entrée dans l'outil Distance. Vous pouvez également sélectionner une taille de cellule suffisamment petite pour capturer le nombre de détails approprié à partir des entités en entrée.
-
Lorsque plusieurs chemins sont fusionnés et sont conformes à la distance source sur le même trajet, le segment qui comprend les deux chemins est associé à la valeur 2. Vous ne pouvez pas attribuer la partie fusionnée du chemin à la valeur de l'un de ces chemins, car la portion fusionnée dépend des deux routes.
-
L'outil Chemin de coût n'est pas compatible avec le paramètre d'environnement Masque. L'étendue de l'analyse ne doit pas être différente de la distance de coût et des rasters d'antécédence de coût.
-
L'outil Chemin de coût ne tient pas compte des paramètres d'environnement Taille de cellule. Il utilise la taille de cellule du raster d'antécédence de coût en entrée dans le raster en sortie. Vous risquez de modifier considérablement la configuration du raster d'antécédence en sortie si vous modifiez la résolution. Pour éviter toute confusion, la taille de cellule ne doit pas être définie lors de l'utilisation de cet outil.
-
Vous pouvez également utiliser l'outil Chemin de coût pour modifier le chemin offrant le moins de résistance et le ramener à un modèle numérique de terrain. Dans ce cas, utilisez le MNA avec le raster de distance de coût en entrée et les résultats obtenus via l'outil Direction de flux pour traiter le raster d'antécédence de coût en entrée. Les valeurs d'un raster de direction de flux autorisées sont les suivantes : 1, 2, 4, 8, 16, 32, 64 et 128. Les valeurs autorisées pour les rasters d'antécédence sont les suivantes : 1, 2, 3, 4, 5, 6, 7 et 8. Ces deux rasters sont admis.
-
Lorsque les données de destination en entrée sont une entité, vous devez pouvoir utiliser au moins un champ.
Syntaxe
Paramètre | Explication | Type de données |
in_destination_data |
Jeu de données d'entité ou raster identifiant les cellules à partir desquelles le chemin de plus faible coût est déterminé par rapport à la source de plus faible coût. Si l'entrée est un raster, elle comporte des cellules qui ont des valeurs admises (zéro est une valeur autorisée) et les cellules restantes doivent avoir la valeur NoData. | Raster Layer | Feature Layer |
in_cost_distance_raster |
Nom du raster de distance de coût à utiliser pour déterminer le chemin de plus faible coût entre les emplacements cibles par rapport aux sources. En général, vous pouvez créer un raster de distance de coût grâce aux outils Distance de coût, Allocation de coût ou Antécédence de coût. Pour chaque cellule, le raster de distance de coût cumulée minimale sur une surface de coût entre chaque cellule et un ensemble de cellules source. | Raster Layer |
in_cost_backlink_raster |
Nom du raster d'antécédence de coût utilisé pour déterminer le chemin afin de revenir vers une source via le chemin de plus faible coût. Pour chaque cellule contenue dans le raster d'antécédence, une valeur identifie la voisine, à savoir la cellule sur le chemin de plus faible coût cumulé à partir de la cellule vers une seule cellule ou un jeu de cellules sources. | Raster Layer |
path_type (Facultatif) |
Mot-clé définissant la façon dont les valeurs et les zones de l'entrée de destination sont interprétées dans les calculs du chemin de coût.
| String |
destination_field (Facultatif) |
Champ permettant d'obtenir des valeurs relatives aux emplacements de destination. Les données d'entité en entrée doivent contenir au moins un champ autorisé. | Field |
Valeur renvoyée
Nom | Explication | Type de données |
out_raster |
Raster de chemin de coût en sortie. Le raster en sortie est de type entier. | Raster |
Exemple de code
Le script dans la fenêtre Python ci-après explique comment utiliser l'outil CostPath.
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outCostPath = CostPath("observers", "costraster", "backlink2", "EACH_CELL")
outCostPath.save("c:/sapyexamples/output/costpath")
Calcule le chemin de moindre coût entre une source et une destination.
# Name: CostPath_Ex_02.py
# Description: Calculates the least-cost path from a source to
# a destination.
# 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
inDestination = "observers.shp"
costRaster = "costraster"
backLink = "backlink2"
method = "EACH_CELL"
destField = "FID"
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute CostPath
outCostPath = CostPath(inDestination, costRaster, backLink, method,
destField)
# Save the output
outCostPath.save("c:/sapyexamples/output/costpath02")