Résumé
Crée des surfaces dans lesquelles un observateur peut voir des objets au sol. Les points d'observation en entrée peuvent représenter soit des observateurs (par exemple, des personnes au sol ou des vigies dans une tour de guet) soit des objets observés (par exemple, des éoliennes, des châteaux d'eau, des véhicules ou d'autres personnes).
Les points d'observation et les objets observés peuvent se trouver à une certaine hauteur au-dessus du sol, laquelle permet de déterminer la visibilité. Par exemple, un champ de vision calculé pour des éoliennes de 90 mètres et des personnes mesurant 1,80 mètre au sol sera généralement plus important qu'un champ de vision calculé pour des éoliennes de 60 mètres et des personnes mesurant 1,50 mètre.
La couche de résultats enregistre le nombre de fois que chaque emplacement de cellule du raster de surface en entrée peut être vu par les points d'observation en entrée. Les cellules non visibles se voient attribuer des valeurs NoData.
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 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.
La visibilité du centre de chaque cellule est déterminée par un test de ligne de visée entre la cible et chaque point d'observation.
Syntaxe
arcpy.ra.CreateViewshed(inputElevationSurface, inputObserverFeatures, outputName, {optimizeFor}, {maximumViewingDistanceType}, {maximumViewingDistance}, {maximumViewingDistanceField}, {minimumViewingDistanceType}, {minimumViewingDistance}, {minimumViewingDistanceField}, {viewingDistanceIs3D}, {observersElevationType}, {observersElevation}, {observersElevationField}, {observersHeightType}, {observersHeight}, {observersHeightField}, {targetHeightType}, {targetHeight}, {targetHeightField}, {aboveGroundLevelOutputName})
Paramètre | Explication | Type de données |
inputElevationSurface | La surface d'altitude à utiliser pour calculer le champ de vision. Si l'unité verticale de la surface en entrée est différente de l'unité horizontale, lorsque les valeurs d'altitude sont représentées en pieds, par exemple, et que le système de coordonnées est en mètres, la surface doit présenter un système de coordonnées verticales défini. Cela s'explique par le fait que l'outil utilise les unités verticale (Z) et horizontale (XY) afin de calculer un facteur z pour l'analyse du champ de vision. Sans système de coordonnées verticales, et donc sans informations disponibles sur l'unité Z, l'outil suppose que l'unité Z est identique à l'unité XY. Par conséquent, un facteur Z interne équivalent à 1,0 sera utilisé pour l'analyse, ce qui risque de produire des résultats inattendus. La surface d'altitude peut être un entier ou une virgule flottante. | Raster Layer; Image Service; String |
inputObserverFeatures | Les entités ponctuelles qui représentent les emplacements des points d'observation lors du calcul des champs de vision. | Feature Set |
outputName | Nom du service raster en sortie. Le nom par défaut repose sur le nom de l'outil et sur le nom de la couche en entrée. Si le nom de la couche existe déjà, vous êtes invité à fournir un autre nom. | String |
optimizeFor (Facultatif) | La méthode d'optimisation à utiliser pour calculer le champ de vision.
| String |
maximumViewingDistanceType (Facultatif) | Méthode permettant de déterminer la distance de visualisation maximum.
| String |
maximumViewingDistance (Facultatif) | Il s'agit d'une distance limite où s'arrête le calcul de zones visibles. Au-delà de cette distance, nul ne sait si les points d’observation et les autres objets peuvent se voir. Les unités peuvent être les kilomètres, les mètres, les miles, les yards ou les pieds. Les miles sont utilisés comme valeur par défaut. | Linear Unit |
maximumViewingDistanceField (Facultatif) | Champ qui permet d'indiquer la distance de visualisation maximum pour chaque point d'observation. Les valeurs du champ doivent utiliser la même unité que la coordonnée XY de la surface d'altitude en entrée. La distance de visualisation maximum est la distance limite où s'arrête le calcul de zones visibles. Au-delà de cette distance, nul ne sait si les points d’observation et les autres objets peuvent se voir. | Field |
minimumViewingDistanceType (Facultatif) | Sélectionnez la méthode permettant de déterminer la distance visible minimum.
| String |
minimumViewingDistance (Facultatif) | Distance à laquelle le calcul des zones visibles doit commencer. Les cellules de la surface se trouvant à une distance inférieure à celle-ci ne sont pas visibles dans la sortie, mais peuvent toutefois bloquer la visibilité des cellules comprises entre les distances de visualisation minimum et maximum. Les unités peuvent être les kilomètres, les mètres, les miles, les yards ou les pieds. Les unités par défaut sont les mètres. | Linear Unit |
minimumViewingDistanceField (Facultatif) | Champ qui permet d'indiquer la distance de visualisation minimum pour chaque point d'observation. Les valeurs du champ doivent utiliser la même unité que la coordonnée XY de la surface d'altitude en entrée. La distance de visualisation minimum détermine le point de départ du calcul des surfaces visibles. Les cellules de la surface se trouvant à une distance inférieure à celle-ci ne sont pas visibles dans la sortie, mais peuvent toutefois bloquer la visibilité des cellules comprises entre les distances de visualisation minimum et maximum. | Field |
viewingDistanceIs3D (Facultatif) | Indiquez si les paramètres de distance d'affichage minimum et maximum sont mesurés en 3D ou en 2D. Une distance 2D représente la simple distance linéaire mesurée entre un point d'observation et une cible à l'aide de leurs emplacements projetés au niveau de la mer. Une distance 3D produit une valeur plus réaliste en tenant compte de leur hauteur relative.
| Boolean |
observersElevationType (Facultatif) | Méthode permettant de déterminer l'altitude des points d'observation.
| String |
observersElevation (Facultatif) | Il s'agit de l'altitude des emplacements de vos points d'observation. Si ce paramètre n’est pas spécifié, l’élévation du point d’observation s’obtient à partir du raster de surface à l’aide de l’interpolation bilinéaire. Si une valeur est attribuée à ce paramètre, elle est appliquée à tous les points d’observation. Pour spécifier des valeurs différentes pour chaque point d'observation, définissez ce paramètre sur un champ des entités des points d'observation en entrée. Les unités peuvent être les kilomètres, les mètres, les miles, les yards ou les pieds. Les unités par défaut sont les mètres. | Linear Unit |
observersElevationField (Facultatif) | Champ qui permet de spécifier l'altitude des points d'observation. La valeur de ce champ doit utiliser la même unité que la coordonnée Z de la surface d'altitude en entrée. Si ce paramètre n'est pas spécifié, l'altitude du point d'observation s'obtient à partir du raster de surface à l'aide de l'interpolation bilinéaire. | Field |
observersHeightType (Facultatif) | Méthode permettant de déterminer la hauteur des points d'observation.
| String |
observersHeight (Facultatif) | Il s'agit de la hauteur utilisée pour les emplacements de vos points d'observation. Les unités peuvent être les kilomètres, les mètres, les miles, les yards ou les pieds. Les unités par défaut sont les mètres. | Linear Unit |
observersHeightField (Facultatif) | Champ qui permet de spécifier la hauteur des points d'observation. La valeur de ce champ doit utiliser la même unité que la coordonnée Z de la surface d'altitude en entrée. | Field |
targetHeightType (Facultatif) | Méthode permettant de déterminer la hauteur des cibles.
| String |
targetHeight (Facultatif) | Il s'agit de la hauteur des structures ou des personnes au sol qui servent à établir la visibilité. Le champ de vision résultant correspond aux zones dans lesquelles un point d'observation peut voir les autres objets. L'inverse est également vrai : les autres objets peuvent voir un point d'observation. Les unités peuvent être les kilomètres, les mètres, les miles, les yards ou les pieds. Les unités par défaut sont les mètres. | Linear Unit |
targetHeightField (Facultatif) | Champ qui permet de spécifier la hauteur des cibles. La valeur de ce champ doit utiliser la même unité que la coordonnée Z de la surface d'altitude en entrée. | Field |
aboveGroundLevelOutputName (Facultatif) | Nom du raster AGL (Above Ground Level - Au-dessus du niveau du sol) en sortie. Le raster AGL obtenu est un raster dans lequel la valeur de chaque cellule correspond à la hauteur minimale devant être ajoutée à une cellule (qui, sinon, ne serait pas visible) pour la rendre visible par au moins un observateur. La valeur 0 sera attribuée aux cellules qui étaient déjà visibles dans ce raster en sortie. | String |
Sortie dérivée
Nom | Explication | Type de données |
outputRaster | Raster de champ de vision en sortie. | Couche raster |
outputAboveGroundLevelRaster | Raster au-dessus du niveau du sol en sortie. | Couche raster |
Exemple de code
Cet exemple crée un service d'imagerie de champ de vision à l'aide de points de surface et d'observation donnés.
import arcpy
arcpy.CreateViewshed_ra(
"https://myserver/rest/services/elevation/ImageServer",
"https://myserver/rest/services/destination/FeatureServer/0",
"outview1", "SPEED", "DISTANCE", "9 Miles", "#", "DISTANCE",
"0 Meters", "#", "2D", "ELEVATION", "#", "#", "HEIGHT",
"6 Feet", "#", "HEIGHT", "3 Feet", "#", "outagl1")
Cet exemple crée un service d'imagerie de champ de vision à l'aide de points de surface et d'observation donnés.
#---------------------------------------------------------------------------
# Name: CreateViewshed_example02.py
# Description: Creates a viewshed image service raster from given surface
# and observer points.
#
# Requirements: ArcGIS Image Server
# Import system modules
import arcpy
# Set local variables
inSurface = "https://myserver/rest/services/elevation/ImageServer"
inObservers = "https://myserver/rest/services/destination/FeatureServer/0"
outputViewshed = "outview1"
optimizeFor = "Speed"
maxDistType = "Distance"
maxDist = "9 Miles"
maxDistField = "#"
minDistType = "Distance"
minDist = "0 Miles"
minDistField = "#"
distanceIs3D = "2D"
obsElevationType = "Elevation"
obsElevation = "#"
obsElevationField = "#"
obsOffsetType = "Height"
obsOffset = "6 Feet"
obsOffsetField = "#"
surfOffsetType = "Height"
surfOffset = "3 Feet"
surfOffsetField = "#"
outputAgl = "outagl1"
# Execute Create Viewshed raster analysis tool
arcpy.CreateViewshed_ra(
inSurface, inObservers, outputViewshed, optimizeFor,
maxDistType, maxDist, maxDistField, minDistType, minDist,
minDistField, distanceIs3D, obsElevationType, obsElevation,
obsElevationField, obsOffsetType, obsOffset, obsOffsetField,
surfOffsetType, surfOffset, surfOffsetField, outputAgl)
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 ?