Allocation de coût (Spatial Analyst)

Disponible avec une licence Spatial Analyst.

Synthèse

Calcule, pour chaque cellule, sa source de moindre coût à partir du plus faible coût cumulé sur une surface de coût.

Conseil :

L’outil Allocation de distance fournit des fonctionnalités ou des performances améliorées.

Pour en savoir plus sur le fonctionnement des outils de distance de coût

Illustration

Illustration de l’outil Allocation de coût
Cost_Alloc = CostAllocation(Source_Ras, Cost_Ras)

Utilisation

  • Les données source en entrée peuvent être une classe d’entités ou un raster. La classe d’entités peut être ponctuelle, linéaire ou surfacique.

  • Lorsque les données source en entrée correspondent à un raster, l'ensemble des cellules source englobe toutes les cellules du raster source comprenant des valeurs valides. Les cellules associées à la valeur NoData ne figurent pas dans la source. La valeur 0 est considérée comme une source normale. Vous pouvez créer un raster source à l’aide des outils d’extraction.

  • Lorsque les données source en entrée correspondent à une classe d'entités, les emplacements source sont convertis en interne en raster avant l'analyse. La résolution du raster peut être contrôlée à l’aide du paramètre d’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é pour les données source en entrée, vous devez traiter la taille de cellule en sortie avec prudence si elle est grossière par rapport aux détails dans l’entrée. Le processus de tramage interne utilise la même valeur Type d’attribution de cellule par défaut que l’outil Entité vers raster, à savoir la méthode Centre de cellule. Cela signifie que les données ne figurant pas au centre de la cellule ne seront pas incluses dans la sortie source rasterisée intermédiaire ; elles ne seront donc pas représentées dans les calculs de distance. Par exemple, si vos sources 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 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.

  • Pour calculer l'allocation, les emplacements source peuvent avoir une valeur associée, qui peut être spécifiée par le paramètre Source field (Champ source). Si la source en entrée est un raster de type entier, le champ par défaut est VALUE. S'il s'agit d'une entité, ce sera le premier champ d'entier dans la table attributaire. Si les données source en entrée correspondent à un raster à virgule flottante, un paramètre de raster à valeurs entières doit être spécifié.

  • Lorsque l’entrée source est une entité, le premier champ valide disponible est utilisé par défaut. Si aucun champ valide n’existe, le champ ObjectID (par exemple, OID ou FID, selon le type de l’entité entrée) est utilisé.

  • Les emplacements de cellule ayant la valeur NoData dans la valeur de paramètre Raster de coût en entrée agissent comme des barrières dans les outils de surface de coût. Tout emplacement de cellule auquel la valeur NoData est attribuée sur la surface de coût en entrée recevra la valeur NoData sur tous les rasters en sortie (distance de coût, allocation et antécédence).

  • Le raster de valeurs en entrée est utile lorsque vous souhaitez utiliser des valeurs ou des zones en remplacement, ou lorsque la source provient d'une opération qui s'est soldée par un résultat binaire (0 ou 1) et que vous n'avez plus les valeurs initiales correspondant à ces emplacements. Le raster de valeurs peut restaurer ces valeurs ou permettre d'analyser les combinaisons supplémentaires de valeurs de zone dans les emplacements source.

    Si le raster de valeurs est utilisé, il peut modifier la configuration et les résultats de la sortie d'allocation de coût. Il n'a pas d'incidence sur la distance de coût facultative ou les résultats liés aux antécédences.

  • La valeur de paramètre Distance maximale est spécifiée dans les mêmes unités de coût que celles sur le raster de coût.

  • Pour le raster de distance en sortie, la distance de plus faible coût (ou distance de coût cumulée minimale) d'une cellule depuis ou vers un ensemble d'emplacements source correspond à la limite inférieure des distances de plus faible coût de la cellule à tous les emplacements source.

  • Les caractéristiques de la source, ou les sujets qui se déplacent à partir de ou vers une source, peuvent être contrôlés par des paramètres précis. Le paramètre Source cost multiplier (Multiplicateur de coût à la source) indique le mode de déplacement ou magnitude à la source, Source start cost (Coût initial à la source) définit le coût initial avant le mouvement, Source resistance rate (Taux de résistance à la source) est un ajustement dynamique tenant compte de l’impact du coût cumulé, simulant par exemple le degré de fatigue d’un randonneur et Source capacity (Capacité de la source) définit le coût pouvant être assimilé par une source avant d’atteindre sa limite. L’option Travel direction (Sens de déplacement) identifie si le sujet qui se déplace commence à une source et se déplace vers les emplacements non source ou s’il part des emplacements non source et retourne vers une source.

  • Si des paramètres des caractéristiques source sont spécifiés à l'aide d'un champ, les caractéristiques source sont appliquées source par source, selon les informations fournies dans le champ donné pour les données source. Lorsqu'un mot-clé ou une valeur constante sont donnés, ils sont appliqués à toutes les sources.

  • Si le coût initial à la source (Source start cost) est spécifié et que le sens de déplacement (Travel direction) est Travel from source (Déplacement depuis la source), les emplacements source sur la surface de distance de coût en sortie sont définis sur la valeur Source start cost (Coût initial à la source). Sinon, les emplacements source sur la distance de surface de coût en sortie sont définis sur zéro.

  • L’étendue de traitement par défaut pour cet outil correspond à l’étendue de la valeur de paramètre Raster de coût en entrée.

  • Cet outil prend en charge le traitement parallèle. Il est possible d’obtenir de meilleures performances, en particulier sur les jeux de données volumineux, si votre ordinateur est doté de plusieurs processeurs ou de processeurs multicœurs. Reportez-vous à la rubrique d’aide Traitement parallèle avec Spatial Analyst pour des détails sur cette fonctionnalité et comment la configurer.

    Lorsque vous utilisez le traitement parallèle, des données temporaires sont écrites afin de gérer les blocs de données en cours de traitement. L’emplacement par défaut du dossier temporaire se trouve sur votre disque C:. Vous pouvez contrôler l’emplacement de ce répertoire en définissant une variable d’environnement système appelée TempFolders et en spécifiant le chemin d’accès du répertoire à utiliser (par exemple, E:\RasterCache). Si vous disposez de privilèges administrateur sur votre ordinateur, vous pouvez également utiliser une clé de Registre (par exemple, [HKEY_CURRENT_USER\SOFTWARE\ESRI\ArcGISPro\Raster]).

    Par défaut, cet outil utilise 50 pourcent des cœurs disponibles. Si les données en entrée sont inférieures à 5 000 par 5 000 cellules en taille, le nombre de cœurs utilisé peut être moindre. Vous pouvez contrôler le nombre de cœurs que l’outil utilise à l’aide de l'environnement Facteur de traitement parallèle.

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

Paramètres

ÉtiquetteExplicationType de données
Données raster ou d’entités sources en entrée

Emplacement des sources en entrée.

Il s’agit d’un raster ou d’une entité (point, ligne ou polygone) identifiant les cellules ou les emplacements qui seront utilisés afin de calculer la distance de plus faible coût cumulé pour chaque emplacement de cellule en sortie.

Pour les rasters, le type d'entrée peut être entier ou à virgule flottante.

Si le raster source en entrée est à virgule flottante, le paramètre Input value raster (Raster de valeurs en entrée) doit être défini et doit être entier. Le raster de valeurs est prioritaire sur toute configuration du paramètre Source field (Champ source).

Raster Layer; Feature Layer
Raster de coût en entrée

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
Distance maximale
(Facultatif)

Le seuil que les valeurs de coût cumulé ne peuvent pas dépasser.

Si une valeur de distance de coût cumulé dépasse cette valeur, la valeur en sortie de l'emplacement de cellule est NoData. La distance maximale désigne l’étendue pour laquelle les distances de coût cumulé sont calculées.

La distance par défaut va jusqu'à la bordure du raster en sortie.

Double
Raster de valeurs en entrée
(Facultatif)

Raster d’entiers en entrée qui identifie les valeurs de zone à utiliser pour chaque emplacement source en entrée.

Pour chaque emplacement source (cellule ou entité), la valeur Input value raster (Raster de valeurs en entrée) sera attribuée à toutes les cellules allouées à l’emplacement source pour le calcul. Le raster de valeurs est prioritaire sur toute configuration du paramètre Source field (Champ source).

Raster Layer
Champ source
(Facultatif)

Champ permettant d’attribuer des valeurs aux emplacements source. Il doit être de type entier.

Si le paramètre Input value raster (Raster de valeurs en entrée) a été défini, les valeurs dans cette entrée auront priorité sur toute configuration du paramètre Source field (Champ source).

Field
Raster de distance en sortie
(Facultatif)

Raster de distance de coût en sortie.

Le raster de distance de coût identifie, pour chaque cellule, la distance du plus faible coût cumulé sur une surface de coût vers le(s) emplacement(s) source(s) identifié(s).

Une source peut être une cellule, un jeu de cellules voire un ou plusieurs emplacements d'entités.

Le raster en sortie est de type virgule flottante.

Raster Dataset
Raster d’antécédence en sortie
(Facultatif)

Raster d'antécédence de coût en sortie.

Le raster d’antécédence contient des valeurs de 0 à 8 qui définissent la direction ou identifient la cellule voisine suivante (la cellule suivante) le long du chemin de plus faible coût cumulé à partir d’une cellule pour atteindre sa source de plus faible coût.

Si le chemin doit passer à l’intérieur du voisin de droite, la cellule se voit attribuer la valeur 1, 2 pour la cellule dans la diagonale inférieure droite et ainsi de suite dans le sens des aiguilles d’une montre. La valeur 0 est réservée aux cellules sources.

Positions d’antécédence
Raster Dataset
Multiplicateur à appliquer aux coûts
(Facultatif)

Multiplicateur qui sera appliqué aux valeurs de coût.

Il permet de contrôler le mode de déplacement ou la magnitude à une source. Plus le multiplicateur est élevé, plus le coût de déplacement d’une cellule à une autre est important.

Les valeurs doivent être supérieures à zéro. La valeur par défaut est 1.

Double; Field
Coût de début
(Facultatif)

Coût de départ qui sera utilisé pour commencer le calcul du coût.

Permet de spécifier le coût fixe associé à une source. Plutôt que de commencer avec un coût égal à zéro, l’algorithme de coût commence avec une valeur définie par le paramètre Start Cost (Coût de début).

Les valeurs doivent être égales ou supérieures à zéro. La valeur par défaut est 0.

Double; Field
Taux de résistance du coût cumulé
(Facultatif)

Ce paramètre simule l’augmentation de l’effort pour surmonter les coûts au fur et à mesure que le coût cumulé augmente. Il permet de modéliser la fatigue du voyageur. Le coût cumulé croissant pour atteindre une cellule est multiplié par le taux de résistance et ajouté au coût engendré par le déplacement vers la cellule suivante.

Il s'agit d'une version modifiée d'une formule de taux d'intérêt composé qui permet de calculer le coût apparent du déplacement à travers une cellule. Avec l'augmentation du taux de résistance, le coût des cellules qui sont visitées ultérieurement s'accroît également. Plus le taux de résistance est important, plus le coût de déplacement vers la cellule suivante augmente, lequel est ajouté pour chaque mouvement suivant. Puisque le taux de résistance est similaire à un taux composé et qu'habituellement les valeurs de coût cumulé sont très importantes, nous suggérons l'utilisation de taux de résistance faibles, tels que 0,02, 0,005 ou encore inférieurs, selon les valeurs de coût cumulé.

Les valeurs doivent être égales ou supérieures à zéro. La valeur par défaut est 0.

Double; Field
Capacité
(Facultatif)

Capacité de coût pour le voyageur pour une source.

Les calculs de coût continuent pour chaque source jusqu’à ce que la capacité spécifiée soit atteinte.

Les valeurs doivent être supérieures à zéro. La capacité par défaut est limitée par le tronçon du raster en sortie.

Double; Field
Sens de déplacement
(Facultatif)

Indique le sens du voyageur en cas d’application du taux de résistance source et du coût de départ source.

Si vous sélectionnez l'option Chaîne, vous avez le choix entre les options de départ et d'arrivée, qui sont appliquées à toutes les sources.

Si vous sélectionnez l’option Field (Champ), vous pouvez sélectionner le champ des données source qui détermine le sens à utiliser pour chaque source. Le champ doit contenir la chaîne de texte FROM_SOURCE ou TO_SOURCE.

  • Déplacement depuis la sourceLe taux de résistance source et le coût de départ source seront appliqués à partir de la source en entrée et lors du déplacement vers les cellules non source. Il s’agit de l’option par défaut.
  • Déplacement vers la sourceLe taux de résistance source et le coût de départ source seront appliqués à partir de chaque cellule non source et lors du retour à la source en entrée.
String; Field

Valeur renvoyée

ÉtiquetteExplicationType de données
Raster d’allocation en sortie

Le raster d'allocation de coût en sortie.

Raster identifiant la zone de chaque emplacement source (cellule ou entité) ayant pu être atteint avec le plus faible coût cumulé.

Le raster en sortie est un entier.

Raster

CostAllocation(in_source_data, in_cost_raster, {maximum_distance}, {in_value_raster}, {source_field}, {out_distance_raster}, {out_backlink_raster}, {source_cost_multiplier}, {source_start_cost}, {source_resistance_rate}, {source_capacity}, {source_direction})
NomExplicationType de données
in_source_data

Emplacement des sources en entrée.

Il s’agit d’un raster ou d’une entité (point, ligne ou polygone) identifiant les cellules ou les emplacements qui seront utilisés afin de calculer la distance de plus faible coût cumulé pour chaque emplacement de cellule en sortie.

Pour les rasters, le type d'entrée peut être entier ou à virgule flottante.

Si le raster source en entrée est à virgule flottante, le paramètre in_value_raster doit être défini et doit être entier. Le raster de valeurs est prioritaire sur toute configuration du paramètre source_field.

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
maximum_distance
(Facultatif)

Le seuil que les valeurs de coût cumulé ne peuvent pas dépasser.

Si une valeur de distance de coût cumulé dépasse cette valeur, la valeur en sortie de l'emplacement de cellule est NoData. La distance maximale désigne l’étendue pour laquelle les distances de coût cumulé sont calculées.

La distance par défaut va jusqu'à la bordure du raster en sortie.

Double
in_value_raster
(Facultatif)

Raster d’entiers en entrée qui identifie les valeurs de zone à utiliser pour chaque emplacement source en entrée.

Pour chaque emplacement source (cellule ou entité), la valeur in_value_raster sera attribuée à toutes les cellules allouées à l’emplacement source pour le calcul. Le raster de valeurs est prioritaire sur toute configuration du paramètre source_field.

Raster Layer
source_field
(Facultatif)

Champ permettant d’attribuer des valeurs aux emplacements source. Il doit être de type entier.

Si le paramètre in_value_raster a été défini, les valeurs dans cette entrée auront priorité sur toute configuration du paramètre source_field.

Field
out_distance_raster
(Facultatif)

Raster de distance de coût en sortie.

Le raster de distance de coût identifie, pour chaque cellule, la distance du plus faible coût cumulé sur une surface de coût vers le(s) emplacement(s) source(s) identifié(s).

Une source peut être une cellule, un jeu de cellules voire un ou plusieurs emplacements d'entités.

Le raster en sortie est de type virgule flottante.

Raster Dataset
out_backlink_raster
(Facultatif)

Raster d'antécédence de coût en sortie.

Le raster d’antécédence contient des valeurs de 0 à 8 qui définissent la direction ou identifient la cellule voisine suivante (la cellule suivante) le long du chemin de plus faible coût cumulé à partir d’une cellule pour atteindre sa source de plus faible coût.

Si le chemin doit passer à l’intérieur du voisin de droite, la cellule se voit attribuer la valeur 1, 2 pour la cellule dans la diagonale inférieure droite et ainsi de suite dans le sens des aiguilles d’une montre. La valeur 0 est réservée aux cellules sources.

Positions d’antécédence
Raster Dataset
source_cost_multiplier
(Facultatif)

Multiplicateur qui sera appliqué aux valeurs de coût.

Il permet de contrôler le mode de déplacement ou la magnitude à une source. Plus le multiplicateur est élevé, plus le coût de déplacement d’une cellule à une autre est important.

Les valeurs doivent être supérieures à zéro. La valeur par défaut est 1.

Double; Field
source_start_cost
(Facultatif)

Coût de départ qui sera utilisé pour commencer le calcul du coût.

Permet de spécifier le coût fixe associé à une source. Plutôt que de commencer avec un coût nul, l’algorithme de coût commence avec une valeur définie par le paramètre source_start_cost.

Les valeurs doivent être égales ou supérieures à zéro. La valeur par défaut est 0.

Double; Field
source_resistance_rate
(Facultatif)

Ce paramètre simule l’augmentation de l’effort pour surmonter les coûts au fur et à mesure que le coût cumulé augmente. Il permet de modéliser la fatigue du voyageur. Le coût cumulé croissant pour atteindre une cellule est multiplié par le taux de résistance et ajouté au coût engendré par le déplacement vers la cellule suivante.

Il s'agit d'une version modifiée d'une formule de taux d'intérêt composé qui permet de calculer le coût apparent du déplacement à travers une cellule. Avec l'augmentation du taux de résistance, le coût des cellules qui sont visitées ultérieurement s'accroît également. Plus le taux de résistance est important, plus le coût de déplacement vers la cellule suivante augmente, lequel est ajouté pour chaque mouvement suivant. Puisque le taux de résistance est similaire à un taux composé et qu'habituellement les valeurs de coût cumulé sont très importantes, nous suggérons l'utilisation de taux de résistance faibles, tels que 0,02, 0,005 ou encore inférieurs, selon les valeurs de coût cumulé.

Les valeurs doivent être égales ou supérieures à zéro. La valeur par défaut est 0.

Double; Field
source_capacity
(Facultatif)

Capacité de coût pour le voyageur pour une source.

Les calculs de coût continuent pour chaque source jusqu’à ce que la capacité spécifiée soit atteinte.

Les valeurs doivent être supérieures à zéro. La capacité par défaut est limitée par le tronçon du raster en sortie.

Double; Field
source_direction
(Facultatif)

Indique le sens du voyageur en cas d’application du taux de résistance source et du coût de départ source.

  • FROM_SOURCELe taux de résistance source et le coût de départ source seront appliqués à partir de la source en entrée et lors du déplacement vers les cellules non source. Il s’agit de l’option par défaut.
  • TO_SOURCELe taux de résistance source et le coût de départ source seront appliqués à partir de chaque cellule non source et lors du retour à la source en entrée.

Spécifiez le mot-clé FROM_SOURCE ou TO_SOURCE, qui est appliqué à toutes les sources, ou spécifiez un champ dans les données source qui contient les mots-clés permettant d’identifier le sens de déplacement pour chaque source. Ce champ doit contenir la chaîne FROM_SOURCE ou TO_SOURCE.

String; Field

Valeur renvoyée

NomExplicationType de données
out_allocation_raster

Le raster d'allocation de coût en sortie.

Raster identifiant la zone de chaque emplacement source (cellule ou entité) ayant pu être atteint avec le plus faible coût cumulé.

Le raster en sortie est un entier.

Raster

Exemple de code

Premier exemple d'utilisation de l'outil CostAllocation (fenêtre Python)

Le script ci-dessous pour la fenêtre Python illustre l’utilisation de la fonction CostAllocation.

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
out = ()
costAllocOut = CostAllocation("observers.shp", "costraster", "", "elevation",
                               "FID", "c:/sapyexamples/output/distout", 
                               "c:/sapyexamples/output/backlinkout", "Multiplier", "StartCost", "Resistance", 500000)
costAllocOut.save("c:/sapyexamples/output/costalloc")
Deuxième exemple d'utilisation de l'outil CostAllocation (script autonome)

Ce script utilise un raster de coût, une couche d'entité de points source, et plusieurs paramètres optionnels pour calculer un raster des cellules qui contiennent la valeur de la source la plus proche.

# Name: CostAllocation_Ex_02.py
# Description: Calculates for each cell its nearest source 
#              based on the least accumulative cost over a 
#              cost surface.
# 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
inFeature = "observers.shp"
costRaster = "costraster"
maxDist = 25000
valRaster = "elevation"
featField = "FID"
outDistanceRaster = "c:/sapyexamples/output/distout"
outBacklink = "c:/sapyexamples/output/backlinkout"

# Execute CostAllocation
costAllocOut = CostAllocation(inFeature, costRaster, maxDist,
                              valRaster, featField, outDistanceRaster,
                              outBacklink)

# Save the output 
costAllocOut.save("c:/sapyexamples/output/costalloc01")

Informations de licence

  • Basic: Nécessite Spatial Analyst
  • Standard: Nécessite Spatial Analyst
  • Advanced: Nécessite Spatial Analyst

Rubriques connexes