Chemin de moindre coût (AllSource)

Synthèse

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 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 Classe d’entités du chemin en sortie à laquelle _start et _end sont ajoutés.

Paramètres

ÉtiquetteExplicationType de données
Input Cost Surface (Surface de coût en entrée)

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
Input Starting Point (Point de départ en entrée)

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

Feature Set
Input Ending Point (Point d’arrivée en entrée)

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
Output Path Feature Class (Classe d’entités du chemin en sortie)

Classe d’entités du chemin en sortie.

Feature Class
Zero Cost Handled As (Coût zéro géré comme)
(Facultatif)

Indique la manière dont les valeurs zéro du paramètre Surface de coût en entrée sont traitées.

  • Small positive (Faible positif)Tous 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.
  • Aucune donnéeTous les zéros sont modifiés en valeurs nulles. Les cellules ne sont pas traversées et sont évitées.
String

Sortie obtenue

ÉtiquetteExplicationType de données
Output Start Point (Point de départ en sortie)

Point de départ symbolisé.

Feature Class
Output End Point (Point d’arrivée en sortie)

Point d’arrivée symbolisé.

Feature Class

arcpy.intelligence.LeastCostPath(in_cost_surface, in_start_point, in_end_point, out_path_feature_class, {handle_zeros})
NomExplicationType 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 in_cost_surface sont traité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 obtenue

NomExplicationType de données
out_start_point

Point de départ symbolisé.

Feature Class
out_end_point

Point d’arrivée symbolisé.

Feature Class

Exemple de code

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

Le script ci-dessous pour la fenêtre Python 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 suivant illustre l’utilisation de la fonction 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"

# Run LeastCostPath
arcpy.intelligence.LeastCostPath(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.management.GetCount(out_path_feature_class)[0]))
else: 
    print("Empty output")

Environnements

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