Chemin de coût en polyligne (Spatial Analyst)

Disponible avec une licence Spatial Analyst.

Synthèse

Calcule le chemin de moindre coût entre une source et une destination comme entité linéaire.

Conseil :

L’outil Chemin optimal comme ligne 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 en polyligne permet d’obtenir une entité polyligne en sortie qui enregistre le ou les chemins de moindre coût depuis les sources jusqu’à la destination la plus proche définie dans la zone de coûts cumulés (en termes de distance 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 exécuter avant d’exécuter l’outil Chemin de coût en polyligne pour pouvoir créer la 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 en polyligne.

  • 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 (Input raster or feature destination data) 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 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, notamment si elle est grossière par rapport au détail dans l’entrée. Un processus de tramage interne employant l’outil Polygone vers raster est appliqué avec un paramètre par défaut pour Type d’attribution de cellule : 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. Si, par exemple, 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 rasteriser les 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.

  • L’entité polyligne en sortie comporte un champ nommé DestID identifiant la destination de chaque ligne. Un champ nommé shape_length existe si la sortie est écrite dans une géodatabase fichier. Ce champ contient la longueur totale du chemin de moindre coût.

  • L'outil Chemin de coût en polyligne ne tient pas compte du paramètre d'environnement Taille de cellule. Il utilise la taille de cellule du Input cost backlink raster (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 en polyligne 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 en polyligne de cette façon, utilisez un raster de direction de flux D8 en entrée pour le paramètre 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.

  • Le paramètre Cost Path as Polyline (Chemin de coût en polyligne) permet de déterminer un chemin autour des interruptions s’appuyant sur le paramètre Output back direction raster (Raster de direction arrière en sortie) généré à partir des outils euclidiens. Pour utiliser Cost Path as Polyline (Chemin de coût en polyligne) de cette manière, exécutez d’abord l’outil euclidien de votre choix avec le paramètre Input raster or feature barrier data (Données raster ou vecteur d’interruptions en entrée) défini pour générer les paramètres Output distance raster (Raster de distance en sortie) et Output back direction raster (Raster de direction arrière en sortie). Utilisez les sorties générées à partir des outils euclidiens comme entrées pour le paramètre Cost Path as Polyline (Chemin de coût en polyligne).

  • 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, il doit comporter des cellules qui ont des valeurs admises pour les destinations et les cellules restantes doivent avoir la valeur NoData. Zéro est une valeur autorisée.

Raster Layer; Feature Layer
Distance de coût en entrée ou raster de distance euclidienne

Le raster de distance de coût à utiliser pour déterminer le chemin de moindre coût entre les sources et les destinations.

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, de direction d’antécédence ou de direction de flux en entrée

Le raster d’antécédence de coût utilisé pour déterminer le chemin permettant de revenir vers une source par le chemin de moindre coût ou le chemin le plus court.

Pour chaque cellule dans un raster d’antécédence, de direction d’antécédence ou de direction de flux, la valeur identifie la voisine, à savoir la cellule suivante sur le chemin entre cette cellule et une cellule source.

Raster Layer
Entités polylignes en sortie

Classe d’entités en sortie contenant le chemin de moindre coût.

Feature Class
Type de chemin
(Facultatif)

Spécifie un 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.

  • 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.
  • 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.
  • 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 moindre coût est déterminé pour chaque cellule.
String
Champ de destination
(Facultatif)

Champ à utiliser pour obtenir 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)

Indique si le raster d’antécédence en entrée sera traité comme un raster de sens de circulation. Les rasters de direction de flux peuvent être des entiers compris entre 0 et 255.

  • Désactivé : la valeur Raster d’antécédence de coût en entrée sera interprétée 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, la valeur Raster d’antécédence de coût en entrée sera traitée comme un raster d’antécédence. Pour les valeurs entières de 0 à 255, la valeur Raster d’antécédence de coût en entrée sera traitée comme un raster de sens de circulation. Pour la plage de valeurs de 0 à 360 avec une virgule flottante, la valeur Raster d’antécédence de coût en entrée sera traitée comme un raster de direction arrière.
  • Activé : le raster fourni pour le paramètre 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

CostPathAsPolyline(in_destination_data, in_cost_distance_raster, in_cost_backlink_raster, out_polyline_features, {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, il doit comporter des cellules qui ont des valeurs admises pour les destinations et les cellules restantes doivent avoir la valeur NoData. Zéro est une valeur autorisée.

Raster Layer; Feature Layer
in_cost_distance_raster

Le raster de distance de coût à utiliser pour déterminer le chemin de moindre coût entre les sources et les destinations.

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

Le raster d’antécédence de coût utilisé pour déterminer le chemin permettant de revenir vers une source par le chemin de moindre coût ou le chemin le plus court.

Pour chaque cellule dans un raster d’antécédence, de direction d’antécédence ou de direction de flux, la valeur identifie la voisine, à savoir la cellule suivante sur le chemin entre cette cellule et une cellule source.

Raster Layer
out_polyline_features

Classe d’entités en sortie contenant le chemin de moindre coût.

Feature Class
path_type
(Facultatif)

Spécifie un 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.

  • 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.
  • 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.
  • 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 moindre coût est déterminé pour chaque cellule.
String
destination_field
(Facultatif)

Champ à utiliser pour obtenir 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)

Indique si le raster d’antécédence en entrée sera traité comme un raster de sens de circulation. Les rasters de direction de flux peuvent être des entiers compris entre 0 et 255.

  • INPUT_RANGELa valeur in_cost_backlink_raster sera interprétée 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, la valeur in_cost_backlink_raster sera traitée comme un raster d’antécédence. Pour les valeurs entières de 0 à 255, la valeur in_cost_backlink_raster sera traitée comme un raster de sens de circulation. Pour la plage de valeurs de 0 à 360 avec une virgule flottante, la valeur in_cost_backlink_raster sera traitée comme un raster de direction arrière.
  • FLOW_DIRECTIONLe raster fourni pour le paramètre in_cost_backlink_raster 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

Exemple de code

Exemple 1 d'utilisation de l'outil CostPathAsPolyline (fenêtre Python)

Le script ci-dessous pour la fenêtre Python illustre l'utilisation de cette fonction.

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
CostPathAsPolyline("observers", "costdistraster", "backlink2", "c:/sapyexamples/output/outcostpth01.shp")
Exemple 2 d'utilisation de l'outil CostPathAsPolyline (script autonome)

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

# Name: CostPathAsPolyline_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"
inCostDistRaster = "costdistraster"
inBacklink = "backlink2"
outCostPathFeat = "c:/sapyexamples/output.gdb/outcostpathfeat02"
method = "EACH_CELL"
destField = "FID"

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

# Execute
CostPathAsPolyline(inDestination, inCostDistRaster, inBacklink, 
                   outCostPathFeat, method, destField)

Informations de licence

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

Rubriques connexes