Construire des lignes de visée (3D Analyst)

Résumé

Crée des entités linéaires représentant des lignes de visée d'un ou plusieurs points d'observation vers les entités d'une classe d'entités cible.

Illustration

Construire des lignes de visée

Utilisation

  • Les lignes de visée sont échantillonnées à partir du périmètre de lignes et polygones cibles selon la valeur spécifiée dans le paramètre Distance d’échantillonnage. La Distance d'échantillonnage doit être précisée avec les unités x-y de la classe d'entités en sortie.

  • Un champ de jointure permet de spécifier une ou plusieurs cibles pour un point d'observation donné. Si aucun champ de jointure n'est utilisé, tous les points sont connectés à toutes les cibles.

  • Une sortie tridimensionnelle est générée si une source hauteurs est spécifiée pour les entités d'observation et cible. La source hauteurs du point d'observation et les entités cible sont par défaut le premier nom de champ de cette liste :

    1. Shape.Z (uniquement disponible pour les entités prenant en charge les valeurs Z)
    2. Spot
    3. Z
    4. Z_Value
    5. Height
    6. Elev
    7. Elevation
    8. Contour

    Si aucun champ de hauteur approprié n'existe, le mot-clé <Aucun> est utilisé par défaut pour indiquer que les entités ne présentent aucune valeur Z.

  • Si le champ de hauteur souhaité n'a pas une plus grande priorité dans la sélection de champ par défaut, le champ souhaité doit être spécifié explicitement. De même, si un champ de hauteur n'est pas requis alors que la classe d'entités comporte l'un des champs dans la liste de sélection par défaut, le mot-clé <Aucun> doit être spécifié.

  • Les champs suivants sont ajoutés à la classe d'entités en sortie qui contient les lignes de visée :

    • OID_OBSERV : OID du point d’observation
    • OID_TARGET : OID de l’entité cible
    • DIST_ALONG : distance le long de l’entité cible s’il s’agit d’une ligne ou d’un polygone
  • Lorsque le paramètre Générer la direction est activé, les lignes de visée en sortie ont deux champs attributaires supplémentaires :

    • AZIMUTH : degrés à partir du plein nord où les valeurs augmentent dans le sens horaire
    • VERT_ANGLE : angle vertical, exprimé en degrés, à partir de l’horizon, où 90° est directement au-dessus de la tête et -90° directement en dessous. L'angle vertical est pertinent uniquement si un champ hauteur est spécifié.

Syntaxe

arcpy.3d.ConstructSightLines(in_observer_points, in_target_features, out_line_feature_class, {observer_height_field}, {target_height_field}, {join_field}, {sample_distance}, {output_the_direction}, {sampling_method})
ParamètreExplicationType de données
in_observer_points

Entités points uniques qui représentent des points d'observation. Les entités multi-points ne sont pas prises en charge.

Feature Layer
in_target_features

Entités cible (points, multi-points, lignes et polygones).

Feature Layer
out_line_feature_class

Classe d'entités en sortie contenant les lignes de visée.

Feature Class
observer_height_field
(Facultatif)

Source des valeurs de hauteur pour les points d'observation obtenus à partir de la table attributaire.

Un champ Champ de hauteur de l'observateur par défaut est sélectionné parmi les options répertoriées ci-dessous par ordre de priorité. Si plusieurs champs existent, et si le champ requis n'a pas de plus grande priorité dans la sélection de champ par défaut, le champ requis doit être spécifié.

  • <None>Aucune valeur Z ne sera affectée aux entités de ligne de visée obtenues.
  1. Shape.Z
  2. Spot
  3. Z
  4. Z_Value
  5. Height
  6. Elev
  7. Elevation
  8. Contour
String
target_height_field
(Facultatif)

Champ de hauteur pour la cible.

Un champ Champ de hauteur cible par défaut est sélectionné parmi les options répertoriées ci-dessous par ordre de priorité. Si plusieurs champs existent, et si le champ requis n'a pas de plus grande priorité dans la sélection de champ par défaut, le champ requis doit être spécifié.

  • <None>Aucune valeur Z ne sera affectée aux entités de ligne de visée obtenues.
  1. Shape.Z
  2. Spot
  3. Z
  4. Z_Value
  5. Height
  6. Elev
  7. Elevation
  8. Contour
String
join_field
(Facultatif)

Le champ de jointure est utilisé pour la correspondance des points d'observation avec des cibles spécifiques.

  • <None>Aucune valeur Z ne sera affectée aux entités de ligne de visée obtenues.
String
sample_distance
(Facultatif)

Distance entre les échantillons lorsque la cible est une classe d'entités linéaires ou surfaciques. Les unités Distance d'échantillonnage sont interprétées dans les unités XY de la classe d'entités en sortie.

Double
output_the_direction
(Facultatif)

Ajoute des attributs de direction aux lignes de visée en sortie. Deux champs supplémentaires sont ajoutés et renseignés de manière à indiquer la direction : AZIMUTH et VERT_ANGLE (angle vertical).

  • NOT_OUTPUT_THE_DIRECTION Aucun attribut de direction n'est ajouté aux lignes de visée en sortie. Il s’agit de l’option par défaut.
  • OUTPUT_THE_DIRECTION Deux champs supplémentaires sont ajoutés et renseignés de manière à indiquer la direction : AZIMUTH et VERT_ANGLE (angle vertical).
Boolean
sampling_method
(Facultatif)

Spécifie comment la distance d’échantillonnage est utilisée pour établir des lignes de visée le long de l’entité cible.

  • 2D_DISTANCELa distance sera évaluée dans un plan cartésien bidimensionnel. Il s’agit de l’option par défaut.
  • 3D_DISTANCELa distance sera évaluée sous forme d’une longueur tridimensionnelle.
String

Exemple de code

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

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

arcpy.env.workspace = 'C:/data'
arcpy.ConstructSightLines_3d('observer_pt.shp', 'target.shp', 'sightlines.shp', 'BASEHEIGHT', 'TOP_HEIGHT', 'NAME', "1", "OUTPUT_THE_DIRECTION")
2e exemple d'utilisation de l'outil ConstructSightLines (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