Résumé
Calcule la distance de plus faible coût cumulé depuis ou vers la source de moindre coût, tout en tenant compte de la distance de surface et des facteurs de coût horizontaux et verticaux.
Illustration
Utilisation
Cet outil du portail d’analyse raster est disponible lorsque vous êtes connecté à un portail ArcGIS Enterprise comportant un ArcGIS Image Server configuré pour Raster Analysis . Lorsque cet outil est appelé, ArcGIS Pro est utilisé comme client et le traitement est effectué dans les serveurs fédérés avec ArcGIS Enterprise. Cet outil du portail prend en charge les couches de votre portail en entrée et crée la sortie dans le portail.
La couche raster en entrée prend en charge les éléments suivants : couche du portail, URI ou URL d’un service d’imagerie ou sortie de l’outil Créer une couche de serveur d’imagerie. La couche d’entités en entrée peut être une couche du portail. Il peut également s’agir de l’URI ou de l’URL d’un service d’entités. Cet outil ne prend pas en charge les données raster ou les couches locales. Bien que vous ayez la possibilité d’utiliser des données d’entité et des couches locales en entrée dans cet outil du portail, il est recommandé d’utiliser les couches de votre portail en entrée.
Identifier l’itinéraire le moins coûteux pour construire une route vers une école proposée constitue un exemple d’application de cet outil.
Lorsque les données source en entrée correspondent à un service d’imagerie, 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.
Lorsque les données source en entrée correspondent à un service 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 Taille de cellule en sortie ou de l'environnement Taille de cellule. Par défaut, la résolution est déterminée par la valeur la plus petite entre la largeur et la hauteur de l'étendue de l'entité en entrée, dans la référence spatiale en entrée, divisée par 250.
Les emplacements de cellule ayant la valeur NoData dans le raster de coût en entrée agissent comme des interruptions. 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.
Pour le service d’imagerie de distance en sortie, la distance de moindre 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 moindre coût de la cellule à tous les emplacements source.
Le raster de coût ne peut pas contenir de valeurs nulles, puisque l'algorithme est un processus multiplicatif. Si le raster de coût contient des valeurs nulles et que ces valeurs représentent des superficies de plus faible coût, choisissez une petite valeur positive (par exemple, 0,01) avant d’exécuter l’outil Calcul du coût de déplacement. Si les surfaces avec une valeur nulle représentent des surfaces à exclure de l’analyse, ces valeurs doivent être remplacées par NoData avant d’exécuter l’outil Calcul du coût de déplacement.
Les valeurs par défaut des modificateurs de facteur horizontal sont les suivantes :
Keywords Zero factor Cut angle Slope Side value -------------- ----------- ----------- ----- --------- Binary 1.0 45 ~ ~ Forward 0.5 45 (fixed) ~ 1.0 Linear 0.5 181 1/90 ~ Inverse linear 2.0 180 -1/90 ~
Les valeurs par défaut des modificateurs de facteur vertical sont les suivantes :
Keyword Zero Low High Slope Power Cos Sec factor cut cut power power angle angle ------------------------ ------ ----- ----- ----- ----- ----- ----- Binary 1.0 -30 30 ~ ~ ~ ~ Linear 1.0 -90 90 1/90 ~ ~ ~ Symmetric linear 1.0 -90 90 1/90 ~ ~ ~ Inverse linear 1.0 -45 45 -1/45 ~ ~ ~ Symmetric inverse linear 1.0 -45 45 -1/45 ~ ~ ~ Cos ~ -90 90 ~ 1.0 ~ ~ Sec ~ -90 90 ~ 1.0 ~ ~ Cos_sec ~ -90 90 ~ ~ 1.0 1.0 Sec_cos ~ -90 90 ~ ~ 1.0 1.0
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) détermine 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 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 commence aux emplacements non source et retourne vers une source.
Si le coût initial à la source est spécifié et que le sens de déplacement est ;Déplacement depuis la source, les emplacements source sur la distance de surface de coût en sortie sont définis sur la valeur de 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.
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.
Syntaxe
CalculateTravelCost(inputSourceRasterOrFeatures, outputDistanceName, {inputCostRaster}, {inputSurfaceRaster}, {maximumDistance}, {inputHorizontalRaster}, {horizontalFactor}, {inputVerticalRaster}, {verticalFactor}, {sourceCostMultiplier}, {sourceStartCost}, {sourceResistanceRate}, {sourceCapacity}, {sourceTravelDirection}, {outputBacklinkName}, {outputAllocationName}, {allocationField})
Paramètre | Explication | Type de données |
inputSourceRasterOrFeatures | Couche qui définit les sources sur lesquelles calculer la distance. La couche peut être un raster ou une entité. | Raster Layer; Image Service; Feature Layer; String |
outputDistanceName | Nom du service raster de distance en sortie. Le service d’imagerie de distance de coût identifie, pour chaque cellule, la distance du plus faible coût cumulé sur une surface de coût vers les emplacements source identifiés. | String |
inputCostRaster (Facultatif) | 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; Image Service; String |
inputSurfaceRaster (Facultatif) | Un raster définissant les valeurs d’altitudes à chaque emplacement de cellule. Ces valeurs permettent de calculer la distance de surface réelle qui est couverte lors du passage d’une cellule à une autre. | Raster Layer; Image Service; String |
maximumDistance (Facultatif) | Définit le seuil que les valeurs de coût cumulé ne peuvent pas dépasser. | Double |
inputHorizontalRaster (Facultatif) | Raster définissant la direction horizontale pour chaque cellule. Les valeurs du raster doivent être des entiers compris entre 0 et 360, 0 degré correspondant au nord (vers le haut de l’écran). Elles augmentent dans le sens horaire. La valeur -1 doit être attribuée aux surfaces planes. Les valeurs à chaque emplacement sont utilisées conjointement à {horizontal_factor} afin de déterminer le coût horizontal encouru lors d'un déplacement à partir d'une cellule vers les cellules voisines. | Raster Layer; Image Service; String |
horizontalFactor (Facultatif) | L’objet Horizontal Factor (Facteur horizontal) définit la relation entre le facteur de coût horizontal et l’angle de déplacement relatif horizontal. Vous pouvez choisir parmi plusieurs facteurs, avec modificateurs, qui renvoient à un diagramme de facteurs horizontaux défini. Les diagrammes permettent d'identifier le facteur horizontal utilisé pour le calcul du coût total d'un déplacement vers une cellule voisine. Dans les explications ci-dessous, deux acronymes sont utilisés. Le facteur HF correspond au facteur horizontal qui représente la difficulté horizontale rencontrée lors d'un déplacement d'une cellule vers la suivante. L'angle HRMA correspond à l'angle de déplacement relatif horizontal, lequel représente l'angle entre la direction horizontale d'une cellule et la direction du déplacement. Plusieurs types de facteur horizontal sont disponibles :
Par défaut, la fonction est binaire Caractéristiques des mots-clés horizontaux :
| Horizontal Factor |
inputVerticalRaster (Facultatif) | Raster définissant la direction verticale (z) de chaque cellule. | Raster Layer; Image Service; String |
verticalFactor (Facultatif) | Le facteur vertical définit la relation entre le facteur de coût vertical et l’angle de déplacement relatif vertical (VRMA, vertical relative moving angle). Vous pouvez choisir parmi plusieurs facteurs, avec modificateurs, qui renvoient à un diagramme de facteurs verticaux défini. Les diagrammes permettent d’identifier le facteur vertical utilisé pour le calcul du coût total d’un déplacement vers une cellule voisine. Dans les explications ci-dessous, deux acronymes sont utilisés. Le facteur VF correspond au facteur vertical, lequel représente la difficulté verticale rencontrée lors d'un déplacement à partir d'une cellule vers la suivante. L'angle VRMA correspond à l'angle de déplacement relatif vertical, lequel représente l'angle de la pente entre la cellule FROM, ou de traitement, et la cellule TO. Plusieurs types de facteur vertical sont disponibles :
Par défaut, la fonction est binaire Caractéristiques des mots-clés verticaux :
| Vertical Factor |
sourceCostMultiplier (Facultatif) | Multiplicateur à appliquer aux valeurs de coût. 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 |
sourceStartCost (Facultatif) | Coût de départ du calcul des coûts. 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 sourceStartCost. Les valeurs doivent être égales ou supérieures à zéro. La valeur par défaut est 0. | Double; Field |
sourceResistanceRate (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 |
sourceCapacity (Facultatif) | Définit la 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 segment du raster en sortie. | Double; Field |
sourceTravelDirection (Facultatif) | Définit le sens du voyageur en cas d’application des facteurs horizontaux et verticaux, du taux de résistance source et du coût de départ source.
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 les chaînes FROM_SOURCE ou TO_SOURCE. | String |
outputBacklinkName (Facultatif) | Nom du service raster d’antécédence en sortie. Le raster d’antécédence contient des valeurs comprises entre 0 et 360, qui définissent la direction le long du chemin de plus faible coût cumulé à partir d’une cellule pour atteindre sa source de plus faible coût, tout en tenant compte de la distance de surface, ainsi que des facteurs de surface horizontaux et verticaux. | String |
outputAllocationName (Facultatif) | Nom du service raster de l’allocation 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. | String |
allocationField (Facultatif) | Champ dans l’entrée source qui contient les valeurs définissant chaque source. | String |
Sortie dérivée
Nom | Explication | Type de données |
outputDistanceRaster | Le raster de distance en sortie. | Couche raster |
outputBacklinkRaster | Le raster d’antécédence en sortie. | Couche raster |
outputAllocationRaster | Le raster d’allocation en sortie. | Couche raster |
Exemple de code
Cet exemple calcule le coût de déplacement à partir d’une seule source.
import arcpy
arcpy.CalculateTravelCost_ra('https://MyPortal.esri.com/server/rest/services/Hosted/reccenter/ImageServer',
"outDist", "inCostRas", "inSurfaceRas", "200000")
Cet exemple calcule le coût de déplacement à partir d’un ensemble de sources.
# Name: CalculateTravelCost_Ex_02.py
# Description: Calculates for each cell the least accumulative cost distance
# to the nearest source over a cost surface.
# Requirements: ArcGIS Image Server
# Import system modules
import arcpy
# Set local variables
inSource = 'https://MyPortal.esri.com/server/rest/services/Hosted/landuse/ImageServer'
outDistName =
inCostRast = "costraster"
inElev = "elevation"
maxDist = "50000"
inHoriz = "backlink2"
horizFactor = "FORWARD 0.5 1.0"
inVertical = "focalcost.tif"
verticalFactor = "Binary 1.0 -30 30"
sourceCostMultiplier =
sourceStartCost =
sourceResistanceRate =
sourceCapacity =
sourceTravelDirection =
optBacklinkName = "c:/sapyexamples/output/pathbacklink"
optAlloName =
allocField =
# Execute CalculateTravelCost
arcpy.CalculateTravelCost_ra(inSource, outDistName, inCostRast, inElev, maxDist, inHoriz, horizFactor,
inVertical, verticalFactor, sourceCostMultiplier, sourceStartCost,
sourceResistanceRate, sourceCapacity, sourceTravelDirection, optBacklinkName,
optAlloName, allocField)
# Execute CostDistance
outTravelCost = CalculateTravelCost(inSourceData, inCostRaster, maxDistance, outBkLinkRaster)
Environnements
Informations de licence
- Basic: Requiert ArcGIS Image Server
- Standard: Requiert ArcGIS Image Server
- Advanced: Requiert ArcGIS Image Server
Rubriques connexes
Vous avez un commentaire à formuler concernant cette rubrique ?