Disponible avec une licence Spatial Analyst.
Résumé
Calcule le chemin de moindre coût entre une source et une destination comme entité linéaire.
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 disponible valide est utilisé par défaut. Si aucun champ valide n’existe, le champ IdObjet (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 Cell assignment type (Type d’attribution de cellule) : 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 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 effectuer la rasterisation des entités en entrée directement avec l’outil Entité vers raster et définir le paramètre Field (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 raster d’antécédence de coût en entrée (Input cost backlink raster) 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 raster d’antécédence de coût en entrée (Input cost backlink raster). 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 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 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 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.
Syntaxe
CostPathAsPolyline(in_destination_data, in_cost_distance_raster, in_cost_backlink_raster, out_polyline_features, {path_type}, {destination_field}, {force_flow_direction_convention})
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, 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.
| 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) | 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.
| Boolean |
Exemple de code
Exemple 1 d’utilisation de l’outil CostPathAsPolyline (fenêtre Python)
Le script de fenêtre Python ci-dessous illustre l'utilisation de cet outil.
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)
Environnements
- Validation automatique
- Espace de travail courant
- Valeur Z en sortie par défaut
- Résolution M
- Tolérance M
- Conserver un index spatial
- Mot-clé CONFIG en sortie
- Valeurs M en sortie
- Valeurs Z en sortie
- Domaine M en sortie
- Domaine XY en sortie
- Domaine Z en sortie
- Espace de travail temporaire
- Résolution XY
- Tolérance XY
- Résolution Z
- Tolérance Z
Informations de licence
- Basic: Requiert Spatial Analyst
- Standard: Requiert Spatial Analyst
- Advanced: Requiert Spatial Analyst