Disponible avec une licence Spatial Analyst.
Disponible avec une licence 3D Analyst.
Résumé
Détermine les emplacements de surfaces raster visibles pour un ensemble d'entités d'observation ou identifie les points d'observation visibles depuis chaque emplacement de la surface raster.
Illustration
Utilisation
Cet outil prend en charge deux types d'analyse de visibilité (Fréquence et Points d'observation), qui sont contrôlés par le paramètre de l'outil Type d'analyse. Pour le premier type, l'outil détermine quels emplacements de surfaces raster sont visibles pour un ensemble de points d'observation. Pour l'autre, il identifie les points d'observation visibles depuis chaque emplacement de la surface raster.
-
Si le raster en entrée comporte du bruit indésirable causé par des erreurs d'échantillonnage, et si l'extension ArcGIS Spatial Analyst est installée, vous pouvez lisser le raster avec un filtre passe bas, comme l'option Moyenne de Statistiques focales, avant d'exécuter cet outil.
La visibilité de chaque centre de cellule est déterminée par la comparaison de l'angle d'altitude vis-à-vis du centre de cellule avec l'angle d'altitude vis-à-vis de l'horizon local. L'horizon local est calculé en fonction du MNT intermédiaire entre le point d'observation et le centre de cellule actuel. Si le point se trouve au-dessus de l'horizon local, il est considéré comme visible.
Un raster en sortie facultatif AGL (Above-Ground-Level, au-dessus du niveau du sol) est fourni par l'outil. Chaque cellule du raster en sortie AGL enregistre la hauteur minimale devant être ajoutée à cette cellule pour la rendre visible par au moins un observateur.
Lorsque les entités d'observation en entrée contiennent plusieurs observateurs, la valeur en sortie est le minimum des valeurs AGL provenant de chaque observateur.
Utilisez les paramètres du point d'observation pour mieux contrôler le processus d'analyse de visibilité. Par exemple, par l'intermédiaire des paramètres de décalage du point d'observation, vous pouvez spécifier un décalage pour l'altitude du point d'observation dans l'analyse de visibilité.
Si le raster en entrée doit être ré-échantillonné, la technique bilinéaire sera utilisée. Un raster en entrée peut être ré-échantillonné lorsque le système de coordonnées en sortie, l'étendue ou la taille de cellule est différent(e) de celui ou celle en entrée.
Syntaxe
Visibility_3d (in_raster, in_observer_features, out_raster, {out_agl_raster}, {analysis_type}, {nonvisible_cell_value}, {z_factor}, {curvature_correction}, {refractivity_coefficient}, {surface_offset}, {observer_elevation}, {observer_offset}, {inner_radius}, {outer_radius}, {horizontal_start_angle}, {horizontal_end_angle}, {vertical_upper_angle}, {vertical_lower_angle})
Paramètre | Explication | Type de données |
in_raster | Raster de surface en entrée. | Raster Layer |
in_observer_features | Classe d'entités qui identifie les emplacements des points d'observation. Il peut s'agir d'entités points ou polylignes en entrée. | Feature Layer |
out_raster | Raster en sortie. La sortie enregistre le nombre de fois où chaque emplacement de cellule dans le raster de surface en entrée est visible depuis les emplacements des points d'observation en entrée (type d'analyse Fréquence) ou enregistre les emplacements des points d'observation visibles depuis chaque cellule de la surface raster (option de type Points d'observation). | Raster Dataset |
out_agl_raster (Facultatif) | Raster AGL 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. Les cellules qui étaient déjà visibles auront la valeur 0 dans ce raster en sortie. | Raster Dataset |
analysis_type (Facultatif) | Type d'analyse de visibilité.
| String |
nonvisible_cell_value (Facultatif) | Valeur attribuée aux cellules non visibles.
| Boolean |
z_factor (Facultatif) | Nombre d'unités x, y au sol dans une unité z de surface. Le facteur z ajuste les unités de mesure des unités z lorsqu'elles sont différentes des unités x,y de la surface en entrée. Les valeurs z de la surface en entrée sont multipliées par le facteur z lors du calcul de la surface en sortie finale. Si les unités x,y et les unités z utilisent les mêmes unités de mesure, le facteur z est égal à 1. Il s’agit de l’option par défaut. Si les valeurs x,y et les valeurs z sont exprimées dans des unités de mesure différentes, le facteur z doit être défini comme approprié, sinon les résultats sont incorrects. Par exemple, si les unités z sont des pieds et les unités x,y sont des mètres, vous devez utiliser un facteur z égal à 0,3048 pour convertir les unités z de pieds en mètres (1 pied = 0,3048 mètre). | Double |
curvature_correction (Facultatif) | Permet de corriger en intégrant la courbure de la Terre.
| Boolean |
refractivity_coefficient (Facultatif) | Coefficient de réfraction de la lumière visible dans l'air. La valeur par défaut est 0,13. | Double |
surface_offset (Facultatif) | Cette valeur indique une distance verticale à ajouter à la valeur z de chaque cellule, telle qu'elle est prise en compte pour la visibilité. La valeur doit être un entier positif ou un nombre à virgule flottante. Vous pouvez sélectionner un champ dans le jeu de données d'observation en entrée ou spécifier une valeur numérique. Par défaut, un champ numérique OFFSETB est utilisé s'il est présent dans la table attributaire des entités d'observation en entrée. Vous pouvez le remplacer en spécifiant un autre champ numérique ou une valeur. Si ce paramètre n'est pas précisé et que le champ par défaut n'est pas présent dans la table attributaire des entités d'observation en entrée, sa valeur par défaut est de 0. | String |
observer_elevation (Facultatif) | Cette valeur permet de définir les altitudes des surfaces des points d'observation ou des sommets. Vous pouvez sélectionner un champ dans le jeu de données d'observation en entrée ou spécifier une valeur numérique. Par défaut, un champ numérique SPOT est utilisé s'il est présent dans la table attributaire des entités d'observation en entrée. Vous pouvez le remplacer en spécifiant un autre champ numérique ou une valeur. Si ce paramètre n'est pas précisé et que le champ par défaut n'est pas présent dans la table attributaire des entités d'observation en entrée, il est estimé à l'aide d'une interpolation bilinéaire avec les valeurs d'altitude de surface dans les cellules de voisinage de l'emplacement du point d'observation. | String |
observer_offset (Facultatif) | Cette valeur indique une distance verticale à ajouter à l'altitude du point d'observation. La valeur doit être un entier positif ou un nombre à virgule flottante. Vous pouvez sélectionner un champ dans le jeu de données d'observation en entrée ou spécifier une valeur numérique. Par défaut, un champ numérique OFFSETA est utilisé s'il est présent dans la table attributaire des entités d'observation en entrée. Vous pouvez le remplacer en spécifiant un autre champ numérique ou une valeur. Si ce paramètre n'est pas précisé et que le champ par défaut n'est pas présent dans la table attributaire des entités d'observation en entrée, sa valeur par défaut est de 1. | String |
inner_radius (Facultatif) | Cette valeur définit la distance de départ à partir de laquelle la visibilité est déterminée. Les cellules plus proches que cette distance ne sont pas visibles dans la sortie, mais peuvent quand même empêcher la visibilité des cellules situées entre le rayon intérieur et le rayon extérieur. Il peut s'agir d'une valeur entière positive ou négative ou d'une valeur à virgule flottante. Si la valeur est positive, elle est interprétée comme une distance de ligne de visée tridimensionnelle. Si la valeur est négative, elle est interprétée comme une distance planimétrique bidimensionnelle. Vous pouvez sélectionner un champ dans le jeu de données d'observation en entrée ou spécifier une valeur numérique. Par défaut, un champ numérique RADIUS1 est utilisé s'il est présent dans la table attributaire des entités d'observation en entrée. Vous pouvez le remplacer en spécifiant un autre champ numérique ou une valeur. Si ce paramètre n'est pas précisé et que le champ par défaut n'est pas présent dans la table attributaire des entités d'observation en entrée, sa valeur par défaut est de 0. | String |
outer_radius (Facultatif) | Cette valeur définit la distance maximale à partir de laquelle la visibilité est déterminée. Les cellules situées au-delà de cette distance sont exclues de l'analyse. Il peut s'agir d'une valeur entière positive ou négative ou d'une valeur à virgule flottante. Si la valeur est positive, elle est interprétée comme une distance de ligne de visée tridimensionnelle. Si la valeur est négative, elle est interprétée comme une distance planimétrique bidimensionnelle. Vous pouvez sélectionner un champ dans le jeu de données d'observation en entrée ou spécifier une valeur numérique. Par défaut, un champ numérique RADIUS2 est utilisé s'il est présent dans la table attributaire des entités d'observation en entrée. Vous pouvez le remplacer en spécifiant un autre champ numérique ou une valeur. Si ce paramètre n'est pas précisé et que le champ par défaut n'est pas présent dans la table attributaire des entités d'observation en entrée, sa valeur par défaut est l'infini. | String |
horizontal_start_angle (Facultatif) | Cette valeur définit l'angle de départ de la plage d'analyse horizontale. La valeur doit être exprimée en degrés de 0 à 360, sous forme d'entier ou de virgule flottante, 0 étant orienté vers le nord. La valeur par défaut est 0. Vous pouvez sélectionner un champ dans le jeu de données d'observation en entrée ou spécifier une valeur numérique. Par défaut, un champ numérique AZIMUTH1 est utilisé s'il est présent dans la table attributaire des entités d'observation en entrée. Vous pouvez le remplacer en spécifiant un autre champ numérique ou une valeur. Si ce paramètre n'est pas précisé et que le champ par défaut n'est pas présent dans la table attributaire des entités d'observation en entrée, sa valeur par défaut est de 0. | String |
horizontal_end_angle (Facultatif) | Cette valeur définit l'angle de fin de la plage d'analyse horizontale. La valeur doit être exprimée en degrés de 0 à 360, sous forme d'entier ou de virgule flottante, 0 étant orienté vers le nord. La valeur par défaut est 360. Vous pouvez sélectionner un champ dans le jeu de données d'observation en entrée ou spécifier une valeur numérique. Par défaut, un champ numérique AZIMUTH2 est utilisé s'il est présent dans la table attributaire des entités d'observation en entrée. Vous pouvez le remplacer en spécifiant un autre champ numérique ou une valeur. Si ce paramètre n'est pas précisé et que le champ par défaut n'est pas présent dans la table attributaire des entités d'observation en entrée, sa valeur par défaut est de 360. | String |
vertical_upper_angle (Facultatif) | Cette valeur définit la limite de l'angle vertical supérieur de l'analyse au-dessus du plan horizontal. La valeur doit être exprimée en degrés de 0 à 90 et peut être un entier ou une valeur à virgule flottante. Vous pouvez sélectionner un champ dans le jeu de données d'observation en entrée ou spécifier une valeur numérique. Par défaut, un champ numérique VERT1 est utilisé s'il est présent dans la table attributaire des entités d'observation en entrée. Vous pouvez le remplacer en spécifiant un autre champ numérique ou une valeur. Si ce paramètre n'est pas précisé et que le champ par défaut n'est pas présent dans la table attributaire des entités d'observation en entrée, sa valeur par défaut est de 90. | String |
vertical_lower_angle (Facultatif) | Cette valeur définit la limite de l'angle vertical inférieur de l'analyse au-dessous du plan horizontal. La valeur doit être exprimée en degrés de -90 à 0 et peut être un entier ou une valeur à virgule flottante. Vous pouvez sélectionner un champ dans le jeu de données d'observation en entrée ou spécifier une valeur numérique. Par défaut, un champ numérique VERT2 est utilisé s'il est présent dans la table attributaire des entités d'observation en entrée. Vous pouvez le remplacer en spécifiant un autre champ numérique ou une valeur. Si ce paramètre n'est pas précisé et que le champ par défaut n'est pas présent dans la table attributaire des entités d'observation en entrée, sa valeur par défaut est de -90. | String |
Exemple de code
Exemple 1 d'utilisation de l'outil Visibilité (fenêtre Python)
Cet exemple détermine les emplacements de surface visibles depuis un ensemble de points d'observation définis dans un fichier de formes.
import arcpy
from arcpy import env
env.workspace = "c:/data"
arcpy.Visibility_3d("elevation", "observers.shp", "c:/output/visiout1",
"c:/output/aglout1", "FREQUENCY", "NODATA", "1",
"CURVED_EARTH", "0.13", "OFFSETB", "SPOT", "OFFSETA",
"RADIUS1", "RADIUS2", "AZIMUTH1", "AZIMUTH2",
"VERT1", "VERT2")
Exemple 2 d'utilisation de l'outil Visibilité (script autonome)
Cet exemple détermine les points d'observation visibles à chaque emplacement de la surface.
# Name: Viewshed_3d_Ex_02.py
# Description: Determines the raster surface locations visible
# to a set of observer features.
# Requirements: 3D Analyst Extension
# Import system modules
import arcpy
from arcpy import env
# Set environment settings
env.workspace = "c:/data"
# set local variables
inRaster = "elevation"
inObserverFeatures = "observers.shp"
outRaster = "c:/output/visiout1"
aglOutput = "c:/output/aglout1"
analysisType = "OBSERVERS"
nonVisibleValue = "ZERO"
zFactor = 1
useEarthCurvature = "CURVED_EARTH"
refractivityCoefficient = 0.13
surfaceOffset = 500
observerElevation = 2000
observerOffset = 500
innerRadius = 20000
outerRadius = 100000
horizStartAngle = 45
horizEndAngle = 215
vertUpperAngle = 5
vertLowerAngle = -5
# Check out the ArcGIS 3D Analyst extension license
arcpy.CheckOutExtension("3D")
# Execute Visibility
arcpy.Visibility_3d(inRaster, inObserverFeatures, outRaster, algOutput,
analysisType, nonVisibleValue, zFactor, useEarthCurvature,
refractivityCoefficient, surfaceOffset, observerElevation,
observerOffset, innerRadius, outerRadius, horizStartAngle,
horizEndAngle, vertUpperAngle, vertLowerAngle)
Environnements
Informations de licence
- ArcGIS Desktop Basic: Requiert 3D Analyst ou Spatial Analyst
- ArcGIS Desktop Standard: Requiert 3D Analyst ou Spatial Analyst
- ArcGIS Desktop Advanced: Requiert 3D Analyst ou Spatial Analyst