Chemin de coût (Spatial Analyst)

Disponible avec une licence Spatial Analyst.

Synthèse

Calcule le chemin de moindre coût entre une source et une destination.

L’outil Chemin optimal comme raster fournit des fonctionnalités ou des performances améliorées.

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é, le premier champ valide disponible est utilisé par défaut. 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 Centre de cellule. Cela signifie que les données ne figurant pas au centre de la cellule ne seront pas incluses dans la sortie de destination rasterisé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 la rasterisation des entités en entrée directement avec l’outil Entité vers raster et définir le paramètre Champ. Ensuite, utilisez la sortie en entrée dans l'outil de distance que vous souhaitez utiliser. Vous pouvez également sélectionner une petite taille de cellule pour capturer le nombre de détails approprié à partir des entités en entrée.

  • Lorsque plusieurs chemins sont combiné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 combinée du chemin à la valeur de l'un de ces chemins, car la partie combinée dépend des deux itinéraires.

    Carte des chemins combinés
    Exemple d’utilisation de l’option Chaque zone avec des chemins combinés

  • 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.

  • L’outil Chemin de coût peut être utilisé pour déterminer le chemin de flux d'après la direction de flux D8. Pour utiliser l’outil Chemin de coût de cette façon, utilisez un raster de direction de flux D8 en entrée pour le Input cost backlink raster (Raster d’antécédence de coût en entrée). Vous devez également fournir un raster de distance de coût en entrée (Input cost distance raster) ; le raster de distance de coût en entrée (Input cost distance raster) n’est pas utilisé pour déterminer le chemin. Votre chemin sera le même que vous utilisiez un raster constant ou un modèle numérique de terrain (MNT) ; seule une valeur attributaire sur votre chemin sera différente. Reportez-vous à l’outil Direction de flux pour de plus amples informations sur les rasters de direction de flux D8.

  • Lorsque les données de destination en entrée sont une entité, vous devez pouvoir utiliser au moins un champ.

  • Pour plus d’informations sur les environnements de géotraitement qui s’appliquent à cet outil, reportez-vous à la rubrique Environnements d’analyse et Spatial Analyst.

Paramètres

ÉtiquetteExplicationType de données
Données raster ou d’entités de destination en entrée

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
Raster de distance de coût en entrée

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
Raster d'antécédence de coût en entrée

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
Type de chemin
(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.

  • Chaque celluleSi une cellule contient des entrées autorisées avec des données de destination, le système calcule le chemin du plus faible coût et l'enregistre dans le raster en sortie. Avec cette option, chaque cellule de l'entrée est traitée séparément et un chemin de plus faible coût est déterminé pour chaque cellule de départ.
  • Chaque zoneSi une zone contient des entrées autorisées avec des données de destination, le système calcule le chemin du plus faible coût et l'enregistre dans le raster en sortie. Avec cette option, pour chaque zone, le chemin de plus faible coût commence à la cellule avec la pondération de distance de plus faible coût dans la zone.
  • Le moins coûteuxPour toutes les cellules de l'entrée de destination, le chemin de plus faible coût est dérivé de la cellule contenant le chemin de plus faible coût minimal des chemins de coût vers les cellules source.
String
Champ de destination
(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
Force flow direction convention for backlink raster (Forcer la convention de sens de circulation pour les rasters d’antécédence)
(Facultatif)

Oblige l’outil à traiter le raster d’antécédence en entrée comme un raster de direction de flux. Les rasters de direction de flux peuvent être des entiers compris entre 0 et 255.

  • Désactivé : le raster d’antécédence de coût en entrée (Input cost backlink raster) sera interprété différemment en fonction de la plage de valeurs et du type de valeur (nombre entier ou à virgule flottante). Pour la plage de valeurs de 0 à 8, le raster d’antécédence de coût en entrée sera traité comme un raster d’antécédence. Pour les valeurs entières de 0 à 255, le raster d’antécédence de coût en entrée sera traité comme un raster de sens de circulation. Pour la plage de valeurs de 0 à 360 avec une virgule flottante, le raster d’antécédence de coût en entrée sera traité comme un raster de direction d’antécédence.
  • Activé : le raster fourni pour le raster d’antécédence de coût en entrée sera traité comme un raster de sens de circulation. Cela est nécessaire si le raster de sens de circulation présente une valeur maximale inférieure ou égale à 8.
Boolean

Valeur renvoyée

ÉtiquetteExplicationType de données
Raster en sortie

Raster de chemin de coût en sortie.

Le raster en sortie est un entier.

Raster

CostPath(in_destination_data, in_cost_distance_raster, in_cost_backlink_raster, {path_type}, {destination_field}, {force_flow_direction_convention})
NomExplicationType 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.

  • EACH_CELLSi une cellule contient des entrées autorisées avec des données de destination, le système calcule le chemin du plus faible coût et l'enregistre dans le raster en sortie. Avec cette option, chaque cellule de l'entrée est traitée séparément et un chemin de plus faible coût est déterminé pour chaque cellule de départ.
  • EACH_ZONESi une zone contient des entrées autorisées avec des données de destination, le système calcule le chemin du plus faible coût et l'enregistre dans le raster en sortie. Avec cette option, pour chaque zone, le chemin de plus faible coût commence à la cellule avec la pondération de distance de plus faible coût dans la zone.
  • BEST_SINGLEPour toutes les cellules de l'entrée de destination, le chemin de plus faible coût est dérivé de la cellule contenant le chemin de plus faible coût minimal des chemins de coût vers les cellules source.
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
force_flow_direction_convention
(Facultatif)

Oblige l’outil à traiter le raster d’antécédence en entrée comme un raster de direction de flux. Les rasters de direction de flux peuvent être des entiers compris entre 0 et 255.

  • INPUT_RANGELe in_cost_backlink_raster est interrompu différemment en fonction de la plage de valeurs et du type de valeur (nombre entier ou à virgule flottante). Pour la plage de valeurs de 0 à -8, le in_cost_backlink_raster est traité comme un raster d’antécédence. Pour les valeurs entières de 0 à -255, le in_cost_backlink_raster est traité comme un raster de sens de circulation. Pour la plage de valeurs de 0 à -360 avec une virgule flottante, le in_cost_backlink_raster est traité comme un raster de direction d’antécédence.
  • FLOW_DIRECTIONLe raster fourni pour le in_cost_backlink_raster est traité comme un raster de sens de circulation. Cela est nécessaire si le raster de sens de circulation présente une valeur maximale inférieure ou égale à 8.
Boolean

Valeur renvoyée

NomExplicationType de données
out_raster

Raster de chemin de coût en sortie.

Le raster en sortie est un entier.

Raster

Exemple de code

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

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")
Deuxième exemple d'utilisation de l'outil CostPath (script autonome)

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"
costDistanceRaster = "costdistraster"
backLink = "backlink2"
method = "EACH_CELL"
destField = "FID"

# Execute CostPath
outCostPath = CostPath(inDestination, costDistanceRaster, backLink, method,
                       destField)

# Save the output 
outCostPath.save("c:/sapyexamples/output/costpath02")

Informations de licence

  • Basic: Nécessite Spatial Analyst
  • Standard: Nécessite Spatial Analyst
  • Advanced: Nécessite Spatial Analyst

Rubriques connexes