Résumé
Calcule l’allocation de distance entre chaque cellule et les sources fournies, selon la distance en ligne droite, la distance de coût et la distance de surface réelle, ainsi que les facteurs de coût vertical et horizontal.
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 Make Image Server Layer (Créer une couche de serveur d’imagerie). La couche d’entités en entrée peut être une couche du portail, ou une URI ou une 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.
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 d'environnement Taille de cellule. Par défaut, si aucun autre raster n’est spécifié dans l’outil, 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.
Pour éviter cette situation, vous pouvez entre-temps effectuer la rasterisation des entités en entrée directement avec l’outil Entité vers raster et définir le paramètre Field (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.
Si l’entrée Input cost raster (Raster de coût en entrée), Input surface raster (Raster de surface en entrée), Input vertical raster (Raster vertical en entrée) ou Input horizontal raster (Raster horizontal en entrée) contient une valeur NoData, les cellules à ces emplacements dans toutes les entrées sont ignorées dans le calcul. La valeur NoData dans n’importe lequel de ces rasters étant conservée dans tout le calcul, elle l’est également dans toutes les sorties.
Si une source correspond à la valeur NoData de l’un des rasters en entrée correspondants, elle est ignorée dans l’analyse et aucune distance à partir de cette source n’est donc calculée.
Lorsqu’aucun paramètre d’environnement Étendue n’est défini, l’étendue de traitement est déterminée comme suit :
Si seuls les champs Input raster or feature source data (Données raster ou vecteur source en entrée) et Input barrier raster or feature data (Raster d’interruption ou données d’entités en entrée) sont renseignés, l’union des entrées, étendue par deux largeurs de cellule de chaque côté, est utilisée comme étendue de traitement. Le raster en sortie est étendu de deux lignes et colonnes afin que quand les sorties sont utilisées dans Optimal Path As Raster (Chemin optimal comme raster) et Optimal Path As Line (Chemin optimal comme ligne), les chemins générés puissent se déplacer entre les interruptions. Pour utiliser l’étendue en tant qu’interruption implicite, vous devez définir explicitement l’étendue dans les paramètres d’environnement.
Si le jeu de données raster Input surface raster (Raster de surface en entrée), Input cost raster (Raster de coût en entrée), Input vertical raster (Raster vertical en entrée) ou Input horizontal raster (Raster horizontal en entrée) est spécifié, l’étendue du traitement correspond à l’intersection de ces rasters.
Si les paramètres d’environnement Taille de cellule ou Raster de capture ne sont pas spécifiés et que plusieurs rasters sont spécifiés en tant qu’entrées, la taille de cellule et le raster de capture sont définis en fonction d’un ordre de priorité : Input cost raster (Raster de coût en entrée), Input surface raster (Raster de surface en entrée), Input vertical raster (Raster vertical en entrée), Input horizontal raster (Raster horizontal en entrée), Input raster or feature source data (Données raster ou vecteur source en entrée) et Input barrier raster or feature data (Raster d’interruption ou données d’entités en entrée).
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
La sortie de l’outil Aspect (Aspect) de Spatial Analyst peut être utilisée comme entrée du Input horizontal raster (Raster horizontal en entrée).
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 ~
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.
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.
- Initial accumulation (Accumulation initiale) définit le coût initial avant le début du mouvement.
- Maximum accumulation (Accumulation maximale) spécifie le coût qu’une source peut accumuler avant d’atteindre sa limite.
- Multiplier to apply to costs (Multiplicateur à appliquer aux coûts) spécifie le mode de déplacement ou la magnitude à la source.
- 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 commence aux emplacements non source et retourne vers une source.
Si Initial accumulation (Accumulation initiale) est spécifié, les emplacements source sur la surface de distance de coût en sortie sont définis sur la valeur Initial accumulation (Accumulation initiale). Dans le cas contraire, les emplacements source sur la distance de surface de coût en sortie sont définis sur zéro.
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
arcpy.ra.DistanceAllocation(inputSourceRasterOrFeatures, outputDistanceAllocationRasterName, {inputBarrierRasterOrFeatures}, {inputSurfaceRaster}, {inputCostRaster}, {inputVerticalRaster}, {verticalFactor}, {inputHorizontalRaster}, {horizontalFactor}, {outputDistanceAccumulationRasterName}, {outputBackDirectionRasterName}, {outputSourceDirectionRasterName}, {outputSourceLocationRasterName}, {sourceField}, {sourceInitialAccumulation}, {sourceMaximumAccumulation}, {sourceCostMultiplier}, {sourceDirection}, {distanceMethod})
Paramètre | Explication | Type de données |
inputSourceRasterOrFeatures | Emplacement des sources en entrée. Un service d’imagerie ou un service d'entités identifie les cellules ou les emplacements depuis ou vers lesquels l’allocation est calculée pour chaque emplacement de cellule en sortie. Pour le service d’imagerie, le type en entrée peut être entier ou à virgule flottante. | Raster Layer; Feature Layer |
outputDistanceAllocationRasterName | Désigne le nom du service raster d’allocation de distance en sortie. | String |
inputBarrierRasterOrFeatures (Facultatif) | Jeu de données qui définit les interruptions. Les interruptions peuvent être définies par un service d’imagerie d’entiers ou à virgule flottante ou encore par un service d’entités. Pour une interruption de service d’imagerie, l’interruption doit posséder une valeur valide, y compris zéro, et les surfaces ne constituant pas des interruptions doivent être de type NoData. | Raster Layer; Feature Layer |
inputSurfaceRaster (Facultatif) | Service d'imagerie 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 |
inputCostRaster (Facultatif) | Service d'imagerie 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 |
inputVerticalRaster (Facultatif) | Service d'imagerie définissant les valeurs z de chaque emplacement de cellule. Ces valeurs permettent de calculer la pente utilisée pour identifier le facteur vertical associé au déplacement d’une cellule à une autre. | Raster Layer |
verticalFactor (Facultatif) | L’objet Vertical factor 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 descriptions ci-dessous, le facteur vertical (VF) représente la difficulté verticale rencontrée lors d’un déplacement d’une cellule vers la suivante et l’angle de déplacement relatif vertical (VRMA) représente l’angle de la pente entre la cellule FROM, ou de traitement, et la cellule TO. L'objet se présente sous les différentes formes suivantes : VfBinary, VfLinear, VfInverseLinear, VfSymLinear, VfSymInverseLinear, VfCos, VfSec, VfSec, VfCosSec et VfSecCos Les définitions et paramètres de ces formes sont les suivants :
Les modificateurs des paramètres verticaux sont les suivants :
| Vertical Factor |
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 avec le paramètre horizontal_factor afin de déterminer le coût horizontal encouru lors d'un déplacement d'une cellule vers les cellules voisines. | Raster Layer |
horizontalFactor (Facultatif) | L'objet Horizontal Factor 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 descriptions ci-dessous, le facteur horizontal (HF) représente la difficulté horizontale rencontrée lors d’un déplacement d’une cellule vers la suivante et l’angle de déplacement relatif horizontal (HRMA) représente l’angle entre la direction horizontale d’une cellule et la direction du déplacement. L'objet se présente sous les différentes formes suivantes : HfBinary, HfForward, HfLinear et HfInverseLinear Les définitions et paramètres de ces formes sont les suivants :
Les modificateurs des mots-clés horizontaux sont les suivants :
| Horizontal Factor |
outputDistanceAccumulationRasterName (Facultatif) | Nom du raster d’accumulation de distance en sortie. Le raster d’accumulation de distance contient la distance cumulée pour chaque cellule depuis ou vers la source de moindre coût. | String |
outputBackDirectionRasterName (Facultatif) | Nom du raster de direction d’antécédence en sortie. Le raster de direction arrière 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 est comprise entre 0 et 360 degrés. La valeur 0 est réservée aux cellules source. La direction plein Est (droite) est de 90 degrés et les valeurs augmentent dans le sens horaire (180, Sud ; 270, Ouest et 360, Nord). Le raster en sortie est de type entier. | String |
outputSourceDirectionRasterName (Facultatif) | Nom du raster de direction source en sortie. Le raster de direction source identifie la direction de la cellule source de plus faible coût cumulé sous la forme d’azimut en degrés. La plage de valeurs est comprise entre 0 et 360 degrés. La valeur 0 est réservée aux cellules source. La direction plein Est (droite) est de 90 degrés et les valeurs augmentent dans le sens horaire (180, Sud ; 270, Ouest et 360, Nord). Le raster en sortie est de type entier. | String |
outputSourceLocationRasterName (Facultatif) | Nom du raster d’emplacement source en sortie. Le raster d’emplacement source est une sortie multicanal. Le premier canal contient un index de ligne et le second, un index de colonne. Ces index identifient l’emplacement de la cellule source qui est à la distance de plus faible coût cumulé. | String |
sourceField (Facultatif) | Champ permettant d’attribuer des valeurs aux emplacements sources. La valeur doit être de type entier. | Field |
sourceInitialAccumulation (Facultatif) | Coût cumulé initial 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_initial_accumulation. Les valeurs doivent être égales ou supérieures à zéro. La valeur par défaut est 0. | Double; Field |
sourceMaximumAccumulation (Facultatif) | Accumulation maximale pour le voyageur pour une source. Les calculs de coût continuent pour chaque source jusqu’à ce que l’accumulation spécifiée soit atteinte. Les valeurs doivent être supérieures à zéro. L’accumulation par défaut va jusqu’à la bordure du raster en sortie. | Double; Field |
sourceCostMultiplier (Facultatif) | Multiplicateur à appliquer aux valeurs de coût. Ce paramètre 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 |
sourceDirection (Facultatif) | Indique le sens de déplacement du voyageur lorsque des facteurs horizontal et vertical sont appliqués.
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 |
distanceMethod (Facultatif) | Spécifie le calcul de la distance selon une méthode plane (terre plate) ou géodésique (ellipsoïde).
| String |
Sortie dérivée
Nom | Explication | Type de données |
outputDistanceAllocationRaster | Raster d’allocation de distance en sortie. | Raster |
outputDistanceAccumulationRaster | Raster d’accumulation de distance en sortie. | Raster |
outputBackDirectionRaster | Raster de direction d’antécédence en sortie. | Raster |
outputSourceDirectionRaster | Raster de direction source en sortie. | Raster |
outputSourceLocationRaster | Raster d’emplacement source en sortie | Raster |
Exemple de code
Le script de fenêtre Python ci-dessous illustre l'utilisation de l'outil DistanceAllocation.
import arcpy
arcpy.DistanceAllocation_ra('https://MyPortal.esri.com/server/rest/services/Hosted/sources/ImageServer',
'outDistanceAllocation',
'https://MyPortal.esri.com/server/rest/services/Hosted/barrier/ImageServer',
'https://MyPortal.esri.com/server/rest/services/Hosted/surface/ImageServer',
'https://MyPortal.esri.com/server/rest/services/Hosted/cost/ImageServer')
Calcule, pour chaque cellule, la distance de plus faible coût cumulé jusqu’à la source la plus proche, tout en tenant compte de la distance de surface et des facteurs de coût horizontaux et verticaux.
# Name: DistanceAllocation_Ex_02.py
# Description: Calculates the distance allocation.
# Requirements: ArcGIS Image Server
# Import system modules
import arcpy
# Set local variables
inputSourceRasterOrFeatures = 'https://MyPortal.esri.com/server/rest/services/Hosted/sources/ImageServer'
outputDistanceAllocationRasterName = "outDistAllo"
inputBarrierRasterOrFeatures = 'https://MyPortal.esri.com/server/rest/services/Hosted/barrier/ImageServer'
inputSurfaceRaster = 'https://MyPortal.esri.com/server/rest/services/Hosted/surface/ImageServer'
inputCostRaster = 'https://MyPortal.esri.com/server/rest/services/Hosted/cost/ImageServer'
inputVerticalRaster = 'https://MyPortal.esri.com/server/rest/services/vertical/sources/ImageServer'
verticalFactor = ""
inputHorizontalRaster = 'https://MyPortal.esri.com/server/rest/services/Hosted/horizontal/ImageServer'
horizontalFactor = ""
outputDistanceAccumulationRasterName = "outAccum"
outputBackDirectionRasterName = "outBackDir"
outputSourceDirectionRasterName = "outSourceDir"
outputSourceLocationRasterName = "outSourceLocation"
sourceField = "SourceID"
sourceInitialAccumulation = "IntitalAccum"
sourceMaximumAccumulation = "500000"
sourceCostMultiplier = "CostMultiplier"
sourceDirection = "FROM_SOURCE"
distanceMethod = "PLANAR"
# Execute
arcpy.DistanceAllocation_ra(inputSourceRasterOrFeatures, outputDistanceAllocationRasterName,
inputBarrierRasterOrFeatures, inputSurfaceRaster,
inputCostRaster, inputVerticalRaster, verticalFactor,
inputHorizontalRaster, horizontalFactor,
outputDistanceAccumulationRasterName, outputBackDirectionRasterName,
outputSourceDirectionRasterName, outputSourceLocationRasterName,
sourceField, sourceInitialAccumulation, sourceMaximumAccumulation,
sourceCostMultiplier, sourceDirection, distanceMethod)
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 ?