Disponible avec une licence 3D Analyst.
Résumé
Indique les zones visibles à partir d’un ou de plusieurs emplacements d’observation.
Utilisation
Un champ de vision est créé en recherchant les zones visibles à partir d’un ou de plusieurs emplacements d’observation.
Les jeux de données intermédiaires sont projetés sur une projection azimutale équidistante pour assurer la fidélité de la distance et de la direction.
Les polygones des zones en sortie possèdent un champ Visibility contenant le nombre de points d’observation pouvant voir une zone donnée.
À l’aide d’une surface et d’un ou de plusieurs emplacements d’observation, l’outil crée des zones visibles ou non visibles par un ou plusieurs des points d’observation.
L’outil utilise les calculs de courbure de la Terre et de réfraction si la surface en entrée les prend en charge.
Syntaxe
arcpy.defense.RadialLineOfSight(in_observer_features, in_surface, out_feature_class, {radius}, {observer_height_above_surface})
Paramètre | Explication | Type de données |
in_observer_features | Points d’observation en entrée. | Feature Set |
in_surface | Surface raster d’altitude en entrée. | Raster Layer |
out_feature_class | Classe d'entités surfaciques en sortie indiquant les surfaces visibles et non visibles. | Feature Class |
radius (Facultatif) | Rayon de la zone d’analyse à partir du point d’observation. | Double |
observer_height_above_surface (Facultatif) | Hauteur ajoutée à l’altitude de surface du point d’observation. La valeur par défaut est 2. | Double |
Exemple de code
Le script de fenêtre Python ci-dessous illustre l'utilisation de la fonction RadialLineOfSight.
import arcpy
arcpy.env.workspace = r"C:\Data.gdb"
arcpy.RadialLineOfSight_defense(r"C:/RLOS_Observers",
"Elevation_Dataset",
"RLOS_Output", 5000, 2)
L’exemple suivant utilise la fonction RadialLineOfSight dans un script de processus d’exemple.
# Import system modules
import arcpy
# Set environment settings
arcpy.env.workspace = r"C:/Data.gdb"
arcpy.env.overwriteOutput = True
# Select points from observers from input
observers = "Observers"
branch = "Branch"
whereClause = "Marines = 'Yes'"
arcpy.Select_analysis(branch, Marines, whereClause)
# Create Radial Line Of Sight using Marine observers
in_observer_features = "Observers"
in_surface = "Elevation_Dataset"
out_feature_class = "RLOS_Observers_Marines"
radius = "METERS"
observer_height_above_surface = "METERS"
arcpy.RadialLineOfSight_defense(Observers,
Elevation_Dataset,
RLOS_Observers_Marines,
1000,
2)
Environnements
Informations de licence
- Basic: Oui
- Standard: Oui
- Advanced: Oui
Rubriques connexes
Vous avez un commentaire à formuler concernant cette rubrique ?