Ligne de visée (3D Analyst)

Récapitulatif

Détermine la visibilité de lignes de visée sur une surface définie par un jeu de données multipatch, raster, TIN, de MNT ou LAS.

Pour en savoir plus sur l'outil Ligne de visée

Utilisation

Syntaxe

LineOfSight_3d (in_surface, in_line_feature_class, out_los_feature_class, {out_obstruction_feature_class}, {use_curvature}, {use_refraction}, {refraction_factor}, {pyramid_level_resolution}, {in_features})
ParamètreExplicationType de données
in_surface

Jeu de données raster, TIN, de MNT ou LAS qui définit la surface utilisée dans le calcul de la visibilité.

Raster Layer; Terrain Layer; TIN Layer
in_line_feature_class

Entités linéaires dont le premier sommet définit le point d'observation et le dernier l'emplacement cible. La hauteur des emplacements d'observation et cible est obtenue à partir des valeurs z des entités 3D et interpolée à partir de la surface des entités 2D. Les lignes 2D sont également décalées d'une unité, laquelle est ajoutée à leur altitude pour élever les points au-dessus de la surface.

Si l'entité contient un champ OffsetA, sa valeur est ajoutée à la hauteur du point d'observation. Si l'entité contient un champ OffsetB, sa valeur est ajoutée à la hauteur de la position cible.

Feature Layer
out_los_feature_class

Classe d'entités linéaires en sortie sur laquelle la visibilité a été déterminée. Deux champs attributaires sont créés. VisCode indique la visibilité le long de la ligne, 1 signifiant visible et 2 invisible. La valeur TarIsVis indique la visibilité de la cible, 0 signifiant non visible et 1 signifiant visible.

Feature Class
out_obstruction_feature_class
(Facultatif)

Classe d'entités ponctuelles facultative identifiant l'emplacement de la première obstruction vers sa cible sur la ligne de visée du point d'observation.

Feature Class
use_curvature
(Facultatif)

Indique si la courbure de la Terre doit être prise en compte lors de l'analyse de la ligne de visée. Pour que cette option soit activée, la surface doit avoir une référence spatiale définie dans des coordonnées projetées avec des unités z définies.

  • CURVATURELa courbure de la Terre est prise en compte.
  • NO_CURVATURELa courbure de la Terre n'est pas prise en compte. Il s'agit de l'option par défaut.
Boolean
use_refraction
(Facultatif)

Indique si la réfraction atmosphérique doit être prise en compte lors de la génération d'une ligne de visée à partir d'une surface fonctionnelle.

  • REFRACTIONLa réfraction atmosphérique est prise en compte.
  • NO_REFRACTIONLa réfraction atmosphérique n'est pas prise en compte. Il s'agit de l'option par défaut.
Boolean
refraction_factor
(Facultatif)

Indique la valeur à utiliser comme facteur de réfraction. Le facteur de réfraction par défaut est 0,13.

Double
pyramid_level_resolution
(Facultatif)

Résolution du niveau de pyramide du jeu de données de MNT à utiliser pour le géotraitement. La valeur par défaut est 0 (ou résolution maximale).

Double
in_features
(Facultatif)

Classe d'entités multipatch facultative qui peut définir des éléments obstruants supplémentaires, tels que les bâtiments.

Feature Layer

Exemple de code

1er exemple d'utilisation de l'outil LineOfSight (fenêtre Python)

L'exemple suivant illustre l'utilisation de cet outil dans la fenêtre Python :

import arcpy
from arcpy import env

arcpy.CheckOutExtension("3D")
env.workspace = "C:/data"
arcpy.LineOfSight_3d("tin", "line.shp", "los.shp", "buldings_multipatch.shp", 
                    "obstruction.shp")
2e exemple d'utilisation de l'outil LineOfSight (script autonome)

L'exemple suivant illustre l'utilisation de cet outil dans un script Python autonome :

'''*********************************************************************
Name: Sight Line Visibility
Description: This script demonstrates how to calculate visibility
             for sight lines against the obstructions presented by
             terrain elevation & building models in a multipatch.
*********************************************************************'''
# Import system modules
import arcpy
import exceptions, sys, traceback
from arcpy import env

try:
    arcpy.CheckOutExtension('3D')
    # Set Local Variables
    env.workspace = 'C:/data'
    obs_pts = "Observers.shp"
    target = "Observation_Targets.shp"
    sight_lines = "in_memory/sightlines"
    surface = "sample.gdb/elevation/terrain"
    buildings = "city_buildings.shp"
    outLOS = arcpy.CreateUniqueName("Line_of_Sight.shp")
    obstruction_pts = arcpy.CreateUniqueName("Obstruction_Points.shp")
    arcpy.AddMessage("Constructing sight lines...")
    arcpy.ddd.ConstructSightLines(obs_pts, target, sight_lines)
    arcpy.AddMessage("Calculating line of sight...")
    arcpy.ddd.LineOfSight(surface, sight_lines, outLOS, obstruction_pts, 
                          "CURVATURE", "REFRACTION", 0.35, 0, buildings)
    arcpy.GetMessages(0)
    arcpy.CheckInExtension("3D")

except arcpy.ExecuteError:
    print arcpy.GetMessages()
except:
    # Get the traceback object
    tb = sys.exc_info()[2]
    tbinfo = traceback.format_tb(tb)[0]
    # Concatenate error information into message string
    pymsg = 'PYTHON ERRORS:\nTraceback info:\n{0}\nError Info:\n{1}'\
          .format(tbinfo, str(sys.exc_info()[1]))
    msgs = 'ArcPy ERRORS:\n {0}\n'.format(arcpy.GetMessages(2))
    # Return python error messages for script tool or Python Window
    arcpy.AddError(pymsg)
    arcpy.AddError(msgs)

Environnements

Thèmes connexes

9/12/2013