Visibility (Visibilité) (Spatial Analyst)

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

Illustration de l'outil Visibilité avec l'option Fréquence
Sortie de l'outil Visibilité avec l'option Fréquence, sur une surface d'altitude ombrée
Illustration de l'outil Visibilité avec l'option Points d'observation
Sortie de l'outil Visibilité avec l'option Points d'observation, sur une surface d'altitude ombrée

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 Analysis type (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, 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.

  • 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

Visibility(in_raster, in_observer_features, {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ètreExplicationType 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_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é.

  • FREQUENCYLa 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 (en tant que points ou en tant que sommets pour les entités polylignes d'observation). Il s’agit de l’option par défaut.
  • OBSERVERSLa sortie identifie avec précision les points d'observation visibles depuis chaque emplacement de la surface raster.
String
nonvisible_cell_value
(Facultatif)

Valeur attribuée aux cellules non visibles.

  • ZEROLa valeur 0 est attribuée aux cellules non visibles. Il s’agit de l’option par défaut.
  • NODATALa valeur NoData est 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.

  • FLAT_EARTHAucune correction de courbure n'est appliquée. Il s’agit de l’option par défaut.
  • CURVED_EARTHLa correction de courbure est appliquée.
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.

Double; Field
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.

Double; Field
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.

Double; Field
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.

Double; Field
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.

Double; Field
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.

Double; Field
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.

Double; Field
vertical_upper_angle
(Facultatif)

Cette valeur définit la limite de l’angle vertical supérieur de l’analyse par rapport au plan horizontal. Elle est exprimée en degrés et peut être un nombre entier ou à virgule flottante. La plage autorisée est comprise entre -90 et 90 inclus.

La valeur de ce paramètre doit être supérieure à celle du paramètre Vertical Lower Angle (Angle inférieur vertical).

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.

Double; Field
vertical_lower_angle
(Facultatif)

Cette valeur définit la limite de l’angle vertical inférieur de l’analyse par rapport au plan horizontal. Elle est exprimée en degrés et peut être un nombre entier ou à virgule flottante. La plage autorisée est comprise entre -90 et 90 (non inclus).

La valeur de ce paramètre doit être inférieure à celle du paramètre Vertical Upper Angle (Angle supérieur vertical).

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.

Double; Field

Valeur renvoyée

NomExplicationType de données
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 (type Points d'observation).

Raster

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
from arcpy.sa import *

env.workspace = "c:/sapyexamples/data"

outvis = arcpy.sa.Visibility("elevation", "observers.shp", "c:/sapyexamples/output/aglout1",
                            "FREQUENCY", "NODATA", "1", "CURVED_EARTH", "0.13",
                            "OFFSETB", "SPOT", "OFFSETA", "RADIUS1", "RADIUS2",
                            "AZIMUTH1", "AZIMUTH2", "VERT1", "VERT2")

outvis.save("c:/sapyexamples/output/visiout1")
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: Visibility_Ex_02.py
# Description: Determines the raster surface locations visible to a set of
#                     observer features.
# 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
inRaster = "elevation"
inObserverFeatures = "observers.shp"
aglOutput = "c:/sapyexamples/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 Spatial Analyst extension license
arcpy.checkOutExtension("Spatial")

# Execute Visibility
outvis = arcpy.sa.Visibility(inRaster, inObserverFeatures, algOutput, analysisType,
                            nonVisibleValue, zFactor, useEarthCurvature,
                            refractivityCoefficient, surfaceOffset, observerElevation,
                            observerOffset, innerRadius, outerRadius, horizStartAngle,
                            horizEndAngle, vertUpperAngle, vertLowerAngle)

# Save the output
outvis.save("c:/sapyexamples/output/visiout1")

Informations de licence

  • Basic: Requiert Spatial Analyst ou 3D Analyst
  • Standard: Requiert Spatial Analyst ou 3D Analyst
  • Advanced: Requiert Spatial Analyst ou 3D Analyst

Rubriques connexes