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ètre | Explication | Type 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.
| String |
Sortie dérivée
Nom | Explication | Type 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
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")
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
Informations de licence
- Basic: Requiert Spatial Analyst
- Standard: Requiert Spatial Analyst
- Advanced: Requiert Spatial Analyst
Rubriques connexes
Vous avez un commentaire à formuler concernant cette rubrique ?