Barrière d’horizon (3D Analyst)

Récapitulatif

Permet de générer une classe d'entités multipatch représentant une barrière d'horizon ou un volume d'ombre.

En savoir plus sur le fonctionnement de l'outil Barrière d'horizon

Illustration

Barrière d’horizon

Utilisation

Syntaxe

SkylineBarrier_3d (in_observer_point_features, in_features, out_feature_class, {min_radius_value_or_field}, {max_radius_value_or_field}, {closed}, {base_elevation}, {project_to_plane})
ParamètreExplicationType de données
in_observer_point_features

Classe d'entités ponctuelles contenant les points d'observation.

Feature Layer
in_features

Classe d'entités linéaires en entrée représentant les horizons ou classe d'entités multipatch en entrée représentant les silhouettes.

Feature Layer
out_feature_class

Classe d'entités en sortie dans laquelle la barrière d'horizon ou le volume d'ombre est placé.

Feature Class
min_radius_value_or_field
(Facultatif)

Rayon minimal auquel les côtés de triangle doivent être prolongés à partir du point d'observation. La valeur par défaut est 0, ce qui signifie qu'il n'y a pas de minimum.

Linear Unit; Field
max_radius_value_or_field
(Facultatif)

Rayon maximal auquel les côtés de triangle doivent être prolongés à partir du point d'observation. La valeur par défaut est 0, ce qui signifie qu'il n'y a pas de maximum.

Linear Unit; Field
closed
(Facultatif)

Fermeture ou non de la barrière d'horizon avec une jupe et une base, afin que le multipatch obtenu donne l'apparence d'être plein.

  • NO_CLOSEDIl n'y a ni jupe ni base ajoutée au multipatch. Seul le multipatch qui représente la surface allant du point d'observation à l'horizon est représenté. Il s'agit de l'option par défaut.
  • CLOSED Une jupe et une base sont ajoutées au multipatch afin de lui donner l'apparence d'être plein et fermé.
Boolean
base_elevation
(Facultatif)

Altitude de la base du multipatch fermé qui est ignorée si la barrière ne doit pas être fermée. La valeur par défaut est 0.

Linear Unit; Field
project_to_plane
(Facultatif)

Projection ou non de l'extrémité supérieure (plus proche du point d'observation) et inférieure (plus éloignée du point d'observation) de la barrière sur un plan vertical. Ce paramètre est en général activé pour créer un volume d'ombre.

  • NO_PROJECT_TO_PLANELa barrière se prolonge du point d'observation vers l'horizon (ou plus près ou plus loin si des valeurs non nulles sont fournies pour le rayon minimal et le rayon maximal). Il s'agit de l'option par défaut.
  • PROJECT_TO_PLANE La barrière se prolonge entre deux plans verticaux.
Boolean

Exemple de code

1er exemple d'utilisation de l'outil SkylineBarrier (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.SkylineBarrier_3d("observers.shp", "skyline_outline.shp", "barrier_output.shp")
2e exemple d'utilisation de l'outil SkylineBarrier (script autonome)

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

'''****************************************************************************
Name: Skyline Barrier Example
Description: This script demonstrates how to use the 
             Skyline Barrier tool.

****************************************************************************'''
# Import system modules
import arcpy
import exceptions, sys, traceback
from arcpy import env

try:
    # Obtain a license for the ArcGIS 3D Analyst extension
    arcpy.CheckOutExtension('3D')
    # Set environment settings
    env.workspace = 'C:/data'
    # Set Local Variables
    inPts = 'observers.shp'
    inLine = 'skyline.shp'
    outFC = 'output_barriers.shp'
    minRadius = '0 METERS'
    maxRadius = '200 METERS'
    
    #Execute SkylineBarrier
    arcpy.SkylineBarrier_3d(inPts, inLine, outFC, minRadius,
                          maxRadius, 'CLOSED')

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