Line Of Sight (Ligne de visée) (3D Analyst)

Résumé

Détermine la visibilité des lignes de visée sur les obstructions constituées d’une surface et d’un jeu de données multipatch facultatif.

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

Illustration

Ligne de visée

Utilisation

  • Seules les extrémités de la ligne en entrée sont utilisées pour définir le point d'observation et la cible. Les lignes de visée doivent être des lignes droites composées de deux sommets représentant le point d'observation et l'emplacement cible pour lequel la visibilité est déterminée.

  • Envisagez de créer des lignes de visée à l'aide de l'outil Construire des lignes de visée si l'emplacement du point d'observation est identifié par des entités ponctuelles et que les cibles de visibilité se trouvent dans une classe d'entités différente.

  • Les lignes en sortie sont divisées le long des parties visibles et invisibles de la ligne de visée en entrée. Si une seule surface est utilisée pour déterminer la visibilité de la ligne de visée, les lignes en sortie suivent le profil de la surface. Si une entité multipatch est fournie lors du calcul de la ligne de visée, les lignes en sortie suivent la trajectoire des lignes de visée en sortie.

  • La table attributaire de l'entité linéaire en sortie contient les champs suivants :

    • SourceOID : ID unique de l’entité linéaire utilisée pour calculer la visibilité.
    • VisCode : visibilité le long de la ligne. Une valeur de 1 indique que la cible est visible, tandis qu'une valeur de 2 indique qu'elle n'est pas visible. Ce champ existe seulement si la géométrie en sortie est une ligne.
    • TarIsVis : visibilité cible le long de la ligne. Une valeur de 1 indique que la cible est visible, tandis qu'une valeur de 0 indique qu'elle n'est pas visible. Ce champ existe seulement si la géométrie en sortie est une ligne.
    • OBSTR_MPID : ID unique du multipatch qui bloque la ligne de visée. Si aucun multipatch n'obstrue la ligne de visée, le champ contient une valeur de -1 ou -9999. Si la cible est obstruée par la surface, la valeur est -1. Si la cible est visible, la valeur est égale à -9999.

Syntaxe

LineOfSight(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 LAS, raster, TIN ou surface MNT utilisé pour définir la visibilité.

LAS Dataset Layer; Mosaic Layer; 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=visible et 2=non visible). TarIsVis indique la visibilité cible (0=non visible et 1=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. Cette option ne s'applique pas si des entités multipatch sont utilisées.

  • 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. La valeur par défaut est 0,13.

Double
pyramid_level_resolution
(Facultatif)

Résolution de taille de fenêtre ou de tolérance z du niveau de pyramide de MNT qui sera utilisée par cet outil. La valeur par défaut valeur est 0 (ou résolution maximale).

Double
in_features
(Facultatif)

Une entité multipatch qui peut définir des éléments obstruants supplémentaires, tels que des bâtiments. Les options de réfraction ne sont pas respectées pour cette entrée.

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.

arcpy.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 of Parade Path
Description: This script demonstrates how to create a sight line feature class
             from a pair of observer and target points.
*********************************************************************'''
# Import system modules
import arcpy

# Set Local Variables:
arcpy.env.workspace = 'C:/data'

# Setting up input and output variables:
obs = "observer_pts.shp"
tar = "parade_path.shp"
sightlines = "output_sightlines.shp"
height = "<None>"
join_field = "#"
sampling = 0.5
direction = "OUTPUT_THE_DIRECTION"
surface = 'elevation.tif'
bldgs = 'buildings.shp'

arcpy.ddd.ConstructSightLines(obs, tar, sightlines, height, height,
                              join_field, sampling, direction)
arcpy.ddd.LineOfSight(surface, sightlines, "Parade_LOS.shp",
                      "Obstructions.shp", in_features=bldgs)

Informations de licence

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

Rubriques connexes