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 Barrière d’horizon](00q9/GUID-5DDBEE9A-0FD7-4546-95E6-58CA7A8F1475-web.png)
Utilisation
La barrière ressemble à un éventail de triangles formé en dessinant une ligne à partir du point d'observation jusqu'au premier sommet de l'horizon, puis en balayant cette ligne sur tous les sommets de l'horizon. Utilisez cet outil pour déterminer si des entités (par exemple, des multipatch représentant des bâtiments) enfreignent la barrière en la dépassant, ou si un projet de construction risque de modifier l'horizon.
Utilisez tout d'abord l'outil Horizon pour générer un horizon ou une silhouette. Une silhouette produirait une représentation volumétrique de l'ombre portée par la lumière provenant du point d'observation.
-
Les paramètres Rayon minimum et Rayon maximal permettent de définir la longueur des segments du triangle émanant du point d'observation. Si la valeur 0 est définie par défaut pour le Rayon minimum ou le Rayon maximal, aucune longueur minimum ou maximum n'est utilisée dans l'analyse.
Si vous choisissez de créer un multipatch fermé, la sortie sera extrudée à la hauteur définie dans le paramètre Altitude de la base et un anneau horizontal sera créé pour former la partie inférieure de la géométrie fermée. Si l'altitude de la base spécifiée est plus grande que le plus haut sommet de la barrière d'horizon, la base est en fait un plafond.
La nouvelle classe d'entités multipatch comportera les champs suivants :
- OBSV_PT_ID - FID du point d'observation utilisé pour créer l'horizon qui a ensuite permis de créer ce multipatch de la barrière d'horizon.
- ORIGFTR_ID - FID de l'entité d'origine (bâtiment, par exemple) représenté par le segment d'horizon ou la silhouette utilisé pour créer ce volume d'ombre.
- SILHOUE_ID - FID de l'entité multipatch (silhouette) utilisée pour créer ce volume d'ombre (pour les silhouettes uniquement).
Syntaxe
Paramètre | Explication | Type 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.
| 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.
| Boolean |
Exemple de code
The following sample demonstrates the use of this tool in the Python window:
import arcpy from arcpy import env arcpy.CheckOutExtension("3D") env.workspace = "C:/data" arcpy.SkylineBarrier_3d("observers.shp", "skyline_outline.shp", "barrier_output.shp")
The following sample demonstrates the use of this tool in a stand-alone Python script:
'''**************************************************************************** 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)