Connectivité de coût (Spatial Analyst)

Disponible avec une licence Spatial Analyst.

Résumé

Génère le réseau de connectivité de moindre coût entre deux régions en entrée ou plus.

Pour en savoir plus sur le fonctionnement de l'outil Connectivité de coût

Illustration

Entrée et sortie de l'outil Connectivité de coût
CostConnectivity(Regions, Cost_Ras, Cost_Connect)
Entrée et sortie de l'outil Connectivité de coût
Les deux entrées (régions et données de coût) figurent sur le côté gauche de l'image et le côté droit de l'image illustre le réseau de moindre coût en sortie visible sur les régions.

Utilisation

  • Les régions en entrée peuvent être des données raster ou d'entités.

  • Dans un raster, une région est un groupe de cellules de même valeur qui sont contiguës (adjacentes). Lorsque vos régions en entrée sont identifiées par un raster, si des zones (cellules de même valeur) sont constituées de plusieurs régions, exécutez d'abord l'outil Groupes par régions pour procéder à un prétraitement et affecter des valeurs uniques à chaque région. Utilisez le raster obtenu comme régions en entrée dans l'outil Connectivité de coût.

  • Lorsque les régions en entrée sont identifiées par des données surfaciques, linéaires ou ponctuelles, elles sont converties en raster à l'aide de l'identifiant d'entité pour s'assurer que les régions résultantes correspondent à des valeurs uniques. Par conséquent, les polygones multi-parties ne peuvent pas être utilisés en entrée. Lorsque des données multi-points sont entrées, l'outil Connectivité de coût sélectionne de manière aléatoire un des points à l'emplacement comme valeur de la région.

    Vous pouvez contrôler la résolution des régions des entités en entrée rasterisées avec l'environnement Taille de cellule. Par défaut, la résolution est définie sur la résolution du raster de coût en entrée.

  • Lorsque vous utilisez des données d'entité surfacique comme données de région en entrée, vous devez traiter la taille de cellule en sortie avec prudence si elle est grossière par rapport au détail des données en entrée. Le processus de tramage interne utilise la même méthode par défaut Type d'attribution de cellule que l'outil Polygones vers rasters, à savoir Centre de cellule. Cela signifie que les données ne figurant pas au centre de la cellule ne sont pas incluses dans la région rasterisée intermédiaire. Elles ne sont donc pas représentées dans les calculs de distance. Par exemple, si vos régions 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 à celle de la cellule en sortie, il se peut que certains d'entre eux uniquement apparaissent au centre 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 rastériser directement les entités en entrée à l’aide de l'outil Polygone vers raster, définir un Priority field (Champ de priorité) et utiliser le résultat obtenu en entrée de l'outil Connectivité de coût. Vous pouvez également sélectionner une taille de cellule suffisamment petite pour capturer le nombre de détails approprié à partir des entités en entrée.

  • Lorsque l’entrée de région est une entité, le champ ObjectID (par exemple, OID ou FID, selon le type d’entrée d’entité) est utilisé comme identifiant de la région.

  • Si les régions en entrée constituent un raster et que la plage des ID de ligne est très étendue (même s’il n’existe que quelques régions), la performance Cost Connectivity (Connectivité de coût) peut être ralentie.

  • Les emplacements de cellule ayant la valeur NoData dans le raster de coût en entrée agissent comme des interruptions.

  • L’étendue de traitement par défaut correspond à l’étendue de Input cost raster (Raster de coût en entrée).

  • Le raster de coût ne peut pas contenir de valeurs nulles, puisque l'algorithme est un processus multiplicatif. Si votre raster de coût contient des valeurs nulles et que ces valeurs représentent des zones de moindre coût, modifiez les valeurs nulles par une petite valeur positive (par exemple, 0,01) avant d’utiliser l’outil Connectivité de coût, en exécutant d’abord l’outil Con. Si des zones associées à une valeur nulle doivent être exclues de l'analyse, vous devez remplacer ces valeurs par la valeur NoData avant d'utiliser l'outil Connectivité de coût, en exécutant d'abord l'outil SetNull.

  • Pour Classe d’entités en sortie de connexions voisines, les voisins ne sont pas identifiés par la distance euclidienne, mais par la distance de coût. Ainsi, le voisin le plus proche d'une région est le moins coûteux à atteindre, mais pas le plus proche en termes de distance. Une opération d'allocation de coût permet d'identifier les régions voisines les unes des autres.

  • Le réseau en sortie optimal est généré à partir des chemins produits dans les connexions voisines facultatives en sortie. Les chemins des connexions voisines facultatives en sortie sont convertis en théorie des graphes. Les régions sont les sommets, les chemins sont les tronçons et les coûts cumulés sont les poids des tronçons. L'arbre couvrant de poids minimal est calculé à partir de la représentation du diagramme des chemins pour déterminer le réseau du chemin de moindre coût nécessaire pour se déplacer entre les régions.

  • Chaque chemin de moindre coût atteint d'abord la limite extérieure du polygone ou de la région multicellulaire. Du périmètre de la région, l'outil prolonge alors les chemins avec des segments de lignes supplémentaires pour créer des points d'entrée et de sortie entre les régions et permettre un déplacement au sein de ces dernières. Il n'existe aucun coût de déplacement supplémentaire le long de ces segments de lignes.

  • Les outils Distance de coût et Chemin de coût permettent de relier des régions qui ne sont pas directement connectées dans l'arbre couvrant de poids minimal, en fonction d'informations à priori. Par exemple, il est possible que vous deviez prévoir un autre chemin d'évacuation dans une région spécifique pour permettre aux pompiers d'évacuer la région. Puisque les chemins générés par l'outil Chemin de coût n'atteignent que la limite d'une région, si vous souhaitez utiliser ces chemins supplémentaires dans le réseau intégré pour effectuer des analyses de réseau supplémentaires, vous devrez prolonger ces chemins à l'intérieur de la région pour les connecter aux chemins du réseau de l'arbre couvrant de poids minimal.

  • Vous pouvez utiliser les connexions voisines facultatives en sortie en tant qu'alternative au réseau de l'arbre couvrant de poids minimal. Cette sortie connecte chaque région à ses régions de coût voisines, ce qui génère un réseau plus complexe comportant de nombreux chemins. La classe d'entités peut être utilisée telle quelle, ou en tant que base pour créer votre propre réseau. Pour cela, vous pouvez sélectionner les chemins spécifiques souhaités au sein du réseau à l'aide du bouton Select By Attributes (Sélectionner selon les attributs) ou du groupe Sélection de l'onglet Map (Carte), ou de l'outil de géotraitement Sélection. Le choix des chemins à sélectionner peut se baser sur la connaissance de la zone et sur les statistiques associées aux chemins dans la table attributaire obtenue.

  • Le réseau obtenu, que ce soit pour l'arbre couvrant de poids minimum ou les connexions voisines facultatives, peut être converti en réseau Network Analyst pour effectuer une analyse complémentaire du réseau.

  • 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

CostConnectivity(in_regions, in_cost_raster, out_feature_class, {out_neighbor_paths})
ParamètreExplicationType de données
in_regions

Les régions en entrée qui doivent être connectées par le réseau de connectivité de moindre coût.

Les régions peuvent être définies par un raster ou un jeu de données d'entité.

Si la région en entrée est un raster, les régions sont définies par groupes de cellules contiguës (adjacentes) de même valeur. Un numéro unique doit être attribué à chaque région. Les cellules qui ne font pas partie d'une région doivent être de type NoData. Le type raster doit être un entier et les valeurs peuvent être positives ou négatives.

Si la région en entrée est un jeu de données d'entités, il peut s'agir de polygones, de lignes ou de points. Les régions d'entités surfaciques ne peuvent être constituées de polygones multi-parties.

Raster Layer; Feature Layer
in_cost_raster

Raster définissant l'impédance ou le coût de déplacement planimétrique à travers chaque cellule.

La valeur de chaque emplacement de cellule représente le coût par unité de distance du déplacement à travers la cellule. Chaque valeur d'emplacement de cellule est multipliée par la résolution de cellule (avec également une compensation simultanée pour mouvement diagonal) afin d'obtenir le coût total du passage à travers la cellule.

Les valeurs du raster de coût peuvent être des entiers ou valeurs à virgule flottante, mais elles ne peuvent pas être négatives ni nulles (un coût ne peut pas être négatif ou nul).

Raster Layer
out_feature_class

Classe d'entités polylinéaires en sortie du réseau de chemins optimal (moindre coût) nécessaire pour connecter chacune des régions en entrée.

Chaque chemin (ou ligne) est numéroté de manière unique et les champs supplémentaires dans la table attributaire stockent des informations spécifiques concernant le chemin. Parmi ces champs, on compte les suivants :

  • PATHID : identifiant unique du chemin
  • PATHCOST : coût cumulé total du chemin
  • REGION1 : première région à laquelle le chemin se connecte
  • REGION2 : autre région à laquelle le chemin se connecte

Ces informations vous permettent de mieux comprendre les chemins du réseau.

Comme chaque chemin est représenté par une ligne unique, plusieurs lignes seront présentes aux emplacements où les chemins empruntent le même itinéraire.

Feature Class
out_neighbor_paths
(Facultatif)

Classe d'entités polylinéaires en sortie qui identifie tous les chemins depuis chaque région jusqu'à ses voisins les plus proches en termes de coût.

Chaque chemin (ou ligne) est numéroté de manière unique et les champs supplémentaires dans la table attributaire stockent des informations spécifiques concernant le chemin. Parmi ces champs, on compte les suivants :

  • PATHID : identifiant unique du chemin
  • PATHCOST : coût cumulé total du chemin
  • REGION1 : première région à laquelle le chemin se connecte
  • REGION2 : autre région à laquelle le chemin se connecte

Ces informations vous permettent de mieux comprendre les chemins du réseau, et elles sont particulièrement utiles lorsque vous devez identifier les chemins à supprimer, le cas échéant.

Comme chaque chemin est représenté par une ligne unique, plusieurs lignes seront présentes aux emplacements où les chemins empruntent le même itinéraire.

Feature Class

Exemple de code

Exemple 1 d'utilisation de l'outil CostConnectivity (fenêtre Python)

Le script de la fenêtre Python ci-après explique comment utiliser l'outil CostConnectivity.

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outCostConn = CostConnectivity("source.shp", "elevation")
outCostConn.save("C:/sapyexamples/output/costdist")
Exemple 2 d'utilisation de l'outil CostConnectivity (script autonome)

Génère le réseau de chemins optimal de moindre coût connectant entre elles les régions en entrée.

# Name: CostConnectivity_Ex_02.py
# Description: Calculates for each cell ...
#
# 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
inSourceData = "source.shp"
inCostRaster = "elevation"
maxDistance = 20000000   
outBkLinkRaster = "C:/sapyexamples/output/outbklink"

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

# Execute CostDistance
outCostConnectivity = CostConnectivity(inSourceData, inCostRaster)

# Save the output 
outCostConnectivity.save("C:/sapyexamples/output/outcostconn")

Informations de licence

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

Rubriques connexes