Chemin de moindre coût (Renseignement)

Résumé

Recherche le chemin le plus court entre des points de départ et d’arrivée dans une surface de coût.

Utilisation

  • Les valeurs des paramètres Input Starting Point (Point de départ en entrée) et Input Ending Point (Point d’arrivée en entrée) doivent se trouver dans l’étendue du paramètre Input Cost Surface (Surface de coût en entrée). Les points situés en dehors de l’étendue de la surface renvoient une sortie vide.

  • L’utilisation de plusieurs points en tant que valeurs Input Starting Point (Point de départ en entrée) augmente de manière significative la durée du traitement.

  • L’utilisation de plusieurs points en tant que valeurs Input Ending Point (Point d’arrivée en entrée) est susceptible de générer plus de deux entités linéaires en sortie.

  • Les valeurs No Data dans le paramètre Input Cost Surface (Surface de coût en entrée) sont considérées comme des interruptions et le chemin obtenu contourne ces zones. Si aucun chemin ne peut être trouvé autour des cellules No Data dans la surface de coût, il se peut qu’aucune solution n’existe et qu’il faille effectuer des actions supplémentaires pour modifier la surface de coût.

  • Exécutez l’outil avec la valeur du paramètre Input Cost Surface (Surface de coût en entrée) dans un système de coordonnées projetées, comme Universal Transverse Mercator (UTM).

  • Les nouveaux champs StartID et DestID sont ajoutés au paramètre Output Path Feature Class (Classe d’entités du chemin en sortie). Ces champs représentent le point de départ et le point d’arrivée par lesquels les lignes passent.

  • Les points de départ et d’arrivée sont copiés dans l’emplacement en sortie et contiennent le nom de la valeur Output Path Feature Class (Classe d’entités du chemin en sortie), à laquelle _start et _end sont ajoutés.

Syntaxe

arcpy.intelligence.LeastCostPath(in_cost_surface, in_start_point, in_end_point, out_path_feature_class, {handle_zeros})
ParamètreExplicationType de données
in_cost_surface

Raster en entrée utilisé pour déterminer le coût du déplacement du point de départ au point d’arrivée. Les valeurs No Data (Aucune donnée) ne peuvent pas être croisées.

Raster Layer
in_start_point

Entité ponctuelle de départ en entrée. Plusieurs points de départ augmentent considérablement le temps de traitement.

Feature Set
in_end_point

Entité ponctuelle d’arrivée en entrée. Plusieurs points d’arrivée augmentent le nombre de lignes en sortie, car le chemin obtenu se sépare en différents chemins.

Feature Set
out_path_feature_class

Classe d’entités du chemin en sortie.

Feature Class
handle_zeros
(Facultatif)

Indique la manière dont les valeurs zéro du paramètre Input Cost Surface (Surface de coût en entrée) (paramètre in_cost_surface dans Python) sont gérées.

  • SMALL_POSITIVETous les zéros sont modifiés en une faible valeur positive. Cela permet de traverser les cellules. Il s’agit de l’option par défaut.
  • NO_DATATous les zéros sont modifiés en valeurs nulles. Les cellules ne sont pas traversées et sont évitées.
String

Sortie dérivée

NomExplicationType de données
out_start_point

Point de départ symbolisé.

Classe d’entités
out_end_point

Point d’arrivée symbolisé.

Classe d’entités

Exemple de code

Exemple 1 d’utilisation de la fonction LeastCostPath (fenêtre Python)

Le script de fenêtre Python ci-dessous illustre l'utilisation de la fonction LeastCostPath en mode immédiat.

import arcpy
import os
arcpy.LeastCostPath_intelligence(r"c:\workspace\terrain.gdb\mob_cost_surf", 
                                 r"c:\workspace\startinglocation.shp",
                                 r"c:\workspace\endinglocation.shp",
                                 os.path.join(arcpy.env.scratchWorkspace, "bestpath"),
                                 "SMALL_POSITIVE")
Exemple 2 d’utilisation de la fonction LeastCostPath (script autonome)

Le script Python ci-dessous illustre l'utilisation de l'outil LeastCostPath dans un script autonome.

# Name: LeastCostPath_Example2.py
# Description: Generate the least cost path between an input and output point 
#              based on a cost surface.
# Import system modules
import arcpy
import os
# Set local variables
in_cost_surface = r"c:\workspace\terrain.gdb\mob_cost_surf" 
in_start_point = r"c:\workspace\startinglocation.shp" 
in_end_point = r"c:\workspace\endinglocation.shp"
out_path_feature_class = os.path.join(arcpy.env.scratchWorkspace, "bestpath")
handle_zeros = "SMALL_POSITIVE"
# Execute LeastCostPath
arcpy.LeastCostPath_intelligence(in_cost_surface, in_start_point, 
                                 in_end_point, out_path_feature_class,
                                 handle_zeros)
# Report status
if arcpy.Exists(out_path_feature_class): 
    print("Path segments {}".format(arcpy.GetCount_management(out_path_feature_class)[0]))
else: 
    print("Empty output")

Environnements

Cet outil n'utilise pas d’environnement de géotraitement.

Informations de licence

  • Basic: Requiert Spatial Analyst
  • Standard: Requiert Spatial Analyst
  • Advanced: Requiert Spatial Analyst

Rubriques connexes