Chemin optimal comme ligne (ArcGIS Spatial Analyst)

Disponible avec une licence Spatial Analyst.

Synthèse

Calcule le chemin optimal entre une source et une destination en tant que ligne.

En savoir plus sur la connexion d’emplacements à des chemins optimaux

Utilisation

  • L’outil Chemin optimal comme ligne produit une entité polyligne en sortie qui constitue le chemin optimal de la source à la destination.

  • Lorsque les données de destination en entrée correspondent à un raster, l’ensemble des cellules de destination englobe toutes les cellules de la valeur de paramètre Données de destination de raster ou d’entité en entrée comprenant des valeurs admises. 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 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 Polygon to Raster (Polygone vers raster) est appliqué avec un paramètre par défaut pour Cell assignment type (Type d’attribution de cellule) : Cell center (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 et qu’elles ne seront pas représentées dans les calculs de distance. Si, par exemple, les 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.

  • Avant de générer un chemin optimal, l’un des outils suivants est généralement utilisé pour créer un raster d’accumulation de distance et un raster de direction arrière : Accumulation de distance ou Allocation de distance. Il s’agit d’entrées obligatoires pour générer un chemin optimal.

  • Le chemin optimal créé peut être un chemin de flux basé sur la direction de flux D8. Pour générer un chemin optimal de cette manière, utilisez un raster de direction de flux D8 en entrée pour le raster de direction arrière ou de direction de flux en entrée (Input back direction or flow direction raster). Vous devez également renseigner le champ Input distance accumulation raster (Raster d’accumulation de distance en entrée). Si le paramètre Create network paths (Créer des chemins de réseau) n’est pas activé, le paramètre Input distance accumulation raster (Raster d’accumulation de distance en entrée) n’est pas utilisé pour déterminer le chemin. Ainsi, 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. Toutefois, si le paramètre Create network paths (Créer des chemins de réseau) est activé, le raster indiqué dans Input distance accumulation raster (Raster d’accumulation de distance en entrée) doit être un raster d’accumulation de flux en sortie. Reportez-vous à l’outil Direction de flux pour plus d’informations sur les rasters de direction de flux D8 et à l’outil Accumulation de flux pour créer le raster d’accumulation.

  • L’entité polyligne en sortie possède un champ nommé DestID et un champ nommé PathCost. Le champ DestID identifie la destination vers laquelle chaque ligne conduit. Le champ PathCost indique le coût cumulé total de chaque chemin. 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.

  • Pour générer un chemin optimal, le paramètre d’environnement Taille de cellule est ignoré et la taille de cellule de la valeur Raster d’antécédence de coût en entrée est utilisée pour calculer le raster en sortie. Vous risquez de changer la configuration du raster d’antécédence en sortie si vous modifiez la résolution. Pour éviter toute confusion, ne définissez pas la taille de cellule lorsque vous utilisez cet outil.

Paramètres

ÉtiquetteExplicationType de données
Données raster ou vecteur de destination en entrée

Entité ou raster d’entiers (point, ligne ou polygone) identifiant les emplacements à partir desquels le chemin optimal sera 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
Raster d’accumulation de distance en entrée

Le raster d’accumulation de distance sera utilisé pour déterminer le chemin optimal entre les sources et les destinations.

Le raster d’accumulation de distance est généralement créé avec l’outil Accumulation de distance ou Allocation de distance. Chaque cellule du raster d’accumulation de distance représente la distance de coût cumulée minimum sur une surface allant de chaque cellule à un ensemble de cellules source.

Raster Layer
Raster de direction d’antécédence ou de sens de circulation en entrée

Le raster de direction d’antécédence contient des directions calculées en degrés. La direction identifie la cellule suivante sur le chemin optimal de retour vers la source de plus faible coût cumulé, en évitant les interruptions.

La plage de valeurs s’étend de 0 à 360 degrés, 0 étant réservé aux cellules sources. La direction plein Est (droite) est de 90 et les valeurs augmentent dans le sens horaire (180, Sud ; 270, Ouest et 360, Nord).

Raster Layer
Chemin optimal en sortie comme entité

Classe d’entités en sortie constituant le ou les chemins optimaux.

Feature Class
Champ de destination
(Facultatif)

Champ d’entier à utiliser afin d’obtenir les valeurs des emplacements de destination.

Field
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.

  • Chaque zonePour chaque zone dans les données de destination en entrée, le système calculera le chemin de plus faible coût et l’enregistrera 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.
  • 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 cellulePour chaque cellule contenant des valeurs admises pour les données de destination en entrée, un chemin de plus faible coût sera déterminé et enregistré 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
Créer des chemins de réseau
(Facultatif)

Spécifie si des chemins complets, qui peuvent se superposer, depuis les destinations vers les sources, sont calculés, ou si des chemins de réseau non superposés sont créés.

  • Désactivé : des chemins complets depuis les destinations vers les sources sont calculés et peuvent se superposer. Il s’agit de l’option par défaut.
  • Activé : des chemins de réseau non superposés sont calculés.
Boolean

OptimalPathAsLine(in_destination_data, in_distance_accumulation_raster, in_back_direction_raster, out_polyline_features, {destination_field}, {path_type}, {create_network_paths})
NomExplicationType de données
in_destination_data

Entité ou raster d’entiers (point, ligne ou polygone) identifiant les emplacements à partir desquels le chemin optimal sera 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_distance_accumulation_raster

Le raster d’accumulation de distance sera utilisé pour déterminer le chemin optimal entre les sources et les destinations.

Le raster d’accumulation de distance est généralement créé avec l’outil Accumulation de distance ou Allocation de distance. Chaque cellule du raster d’accumulation de distance représente la distance de coût cumulée minimum sur une surface allant de chaque cellule à un ensemble de cellules source.

Raster Layer
in_back_direction_raster

Le raster de direction d’antécédence contient des directions calculées en degrés. La direction identifie la cellule suivante sur le chemin optimal de retour vers la source de plus faible coût cumulé, en évitant les interruptions.

La plage de valeurs s’étend de 0 à 360 degrés, 0 étant réservé aux cellules sources. La direction plein Est (droite) est de 90 et les valeurs augmentent dans le sens horaire (180, Sud ; 270, Ouest et 360, Nord).

Raster Layer
out_polyline_features

Classe d’entités en sortie constituant le ou les chemins optimaux.

Feature Class
destination_field
(Facultatif)

Champ d’entier à utiliser afin d’obtenir les valeurs des emplacements de destination.

Field
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.

  • EACH_ZONEPour chaque zone dans les données de destination en entrée, le système calculera le chemin de plus faible coût et l’enregistrera 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.
  • 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_CELLPour chaque cellule contenant des valeurs admises pour les données de destination en entrée, un chemin de plus faible coût sera déterminé et enregistré 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
create_network_paths
(Facultatif)

Spécifie si des chemins complets, qui peuvent se superposer, depuis les destinations vers les sources, sont calculés, ou si des chemins de réseau non superposés sont créés.

  • DESTINATIONS_TO_SOURCESDes chemins complets depuis les destinations vers les sources sont calculés et peuvent se superposer. Il s’agit de l’option par défaut.
  • NETWORK_PATHSDes chemins de réseau non superposés sont calculés.
Boolean

Exemple de code

Exemple 1 d’utilisation de l’outil OptimalPathAsLine (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"
OptimalPathAsLine("observers.shp", "distaccum.tif", "backdir.tif",
                  "c:/sapyexamples/output/outOptimalPath01.shp")
Exemple 2 d’utilisation de l’outil OptimalPathAsLine (script autonome)

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

# Name: OptimalPathAsLine_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"
inDistAccum = "accumraster.tif"
inBackDir = "backdir2.tif"
outPathFeat = "c:/sapyexamples/output.gdb/optimalfeaturepaths02"
destField = "FID"
method = "EACH_CELL"

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

# Execute
OptimalPathAsLine(inDestination, inDistAccum, inBackDir, 
                  outPathFeat, destField, method)