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

Niveau de licence :BasicStandardAdvanced

Récapitulatif

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

Syntaxe

ConstructSightLines_3d (in_observer_points, in_target_features, out_line_feature_class, {observer_height_field}, {target_height_field}, {join_field}, {sample_distance}, {output_the_direction})
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é. Si aucun champ de hauteur n'existe, le mot-clé <Aucun> est utilisé. De même, si aucun champ de hauteur n'est requis alors que la classe d'entités présente l'un des champs répertoriés ci-dessous, le mot-clé <Aucun> doit être spécifié.

  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é. Si aucun champ de hauteur n'existe, le mot-clé <Aucun> est utilisé. De même, si aucun champ de hauteur n'est requis alors que la classe d'entités présente l'un des champs répertoriés ci-dessous, le mot-clé <Aucun> doit être spécifié. Si aucun champ de hauteur approprié n'existe, le mot-clé <Aucun> est utilisé par défaut.

  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.

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

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 :

$desktopversion\cmsfiles\py\3d\constructsightlines.py
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
import exceptions, sys, traceback
from arcpy import env

try:
    # Checking out 3D Analyst Extension:
    arcpy.CheckOutExtension('3D')

    # Set Local Variables:
    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.AddMessage("Building sightlines...")
    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)
    
    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

Informations de licence

ArcGIS for Desktop Basic: Requis 3D Analyst
ArcGIS for Desktop Standard: Requis 3D Analyst
ArcGIS for Desktop Advanced: Requis 3D Analyst
6/5/2014