Horizon (3D Analyst)

Niveau de licence :BasicStandardAdvanced

Récapitulatif

Permet de générer une ligne ou une classe d'entités multipatch contenant les résultats d'une analyse de la silhouette ou de l'horizon.

En savoir plus sur le fonctionnement de l'outil Horizon

Illustration

Horizon

Utilisation

Syntaxe

Skyline_3d (in_observer_point_features, out_feature_class, {in_surface}, {virtual_surface_radius}, {virtual_surface_elevation}, {in_features}, {feature_lod}, {from_azimuth_value_or_field}, {to_azimuth_value_or_field}, {azimuth_increment_value_or_field}, {max_horizon_radius}, {segment_skyline}, {scale_to_percent}, {scale_according_to}, {scale_method}, {use_curvature}, {use_refraction}, {refraction_factor}, {pyramid_level_resolution}, {create_silhouettes})
ParamètreExplicationType de données
in_observer_point_features

Points 3D représentant des points d'observation (un horizon distinct est généré pour chacun).

Feature Layer
out_feature_class

Classe d'entités linéaires dans laquelle les horizons sont placés. Peut être également une classe d'entités multipatch pour contenir des silhouettes d'entités.

Feature Class
in_surface
(Facultatif)

Surface fonctionnelle pour la détermination de l'horizon.

LAS Dataset Layer; Raster Layer; TIN Layer; Terrain Layer
virtual_surface_radius
(Facultatif)

Rayon de la surface virtuelle (au lieu d'une surface réelle) pour la définition de l'horizon. Cette valeur doit être positive. Ignoré si une surface réelle est fournie. La valeur par défaut est 1,000.

Linear Unit
virtual_surface_elevation
(Facultatif)

Altitude de la surface virtuelle (au lieu d'une surface réelle) pour la définition de l'horizon. Ce paramètre est ignoré si une surface réelle est fournie. La valeur par défaut est 0.

Linear Unit
in_features
(Facultatif)

Classe d'entités à utiliser dans l'analyse d'horizon. Les entités représentent en général des obstructions (les bâtiments d'une ville, par exemple).

Feature Layer
feature_lod
(Facultatif)

Niveau de détail auquel chaque entité doit être examinée dans l'analyse d'horizon.

  • FULL_DETAILChaque tronçon de l'entité est pris en compte dans l'analyse d'horizon (uniquement les limites des triangles et les boucles extérieures sont pris en compte). Il s'agit de la méthode la plus lente, mais la plus précise. Il s'agit de l'option par défaut.
  • CONVEX_FOOTPRINTLa contribution à l'analyse d'horizon est générée par le périmètre supérieur du polygone convexe qui représente l'enveloppe convexe de l'emprise de l'entité, élevée à l'altitude du plus haut sommet dans l'entité.
  • ENVELOPE La contribution à l'analyse d'horizon est générée par le périmètre rectangulaire horizontal supérieur du solide rectangulaire qui enveloppe l'entité (faces verticales perpendiculaires aux axes Y et X).
String
from_azimuth_value_or_field
(Facultatif)

Azimut (en degrés) à partir duquel les analyses d'horizon doivent être lancées. L'analyse démarre au point d'observation et se poursuit vers la droite, à partir de l'azimut de départ jusqu'à atteindre l'azimut d'arrivée. Doit être supérieur à -360 et inférieur à 360. La valeur par défaut est 0.

Double; Field
to_azimuth_value_or_field
(Facultatif)

Direction (en degrés) dans laquelle les analyses d'horizon doivent être effectuées. L'analyse démarre au point d'observation et se poursuit vers la droite, à partir de l'azimut de départ jusqu'à atteindre l'azimut d'arrivée. Ne doit pas excéder 360 et être supérieur à l'azimut de départ. La valeur par défaut est 360.

Double; Field
azimuth_increment_value_or_field
(Facultatif)

Intervalle angulaire (en degrés) auquel l'horizon doit être évalué lors de l'analyse d'horizon entre l'azimut de départ et celui d'arrivée. Ne doit pas excéder l'azimut de départ moins l'azimut d'arrivée. La valeur par défaut est 1.

Double; Field
max_horizon_radius
(Facultatif)

Distance maximale pour rechercher un horizon à partir de l'emplacement d'observation. Une valeur nulle indique qu'aucune limite ne doit être imposée. La valeur par défaut est 0.

Double
segment_skyline
(Facultatif)

Au lieu qu'une seule ligne soit générée pour représenter l'horizon de chaque point d'observation, la sortie est fractionnée en plusieurs lignes. Chacune de ces lignes représente une entité différente ou un étirement d'horizon entre entités. Si des silhouettes sont générées, ce paramètre indique alors si des rayons divergents doivent être utilisés. Pour les ombres, ce paramètre doit en général être défini sur aucun ou désactivé.

  • NO_SEGMENT_SKYLINELes résultats d'une polyligne 3D en sortie ne seront pas segmentés. Il s'agit de l'option par défaut.
  • SEGMENT_SKYLINELes résultats de ligne en sortie sont segmentés en fonction des différentes entités rencontrées pendant l'analyse.
Boolean
scale_to_percent
(Facultatif)

Indique à quel pourcentage de l'angle vertical (angle au-dessus de l'horizon, ou angle d'altitude) ou de l'altitude d'origine chaque sommet d'horizon doit être placé. Si la valeur 0 ou 100 est entrée, aucune mise à l'échelle n'est effectuée. La valeur par défaut est 100.

Double
scale_according_to
(Facultatif)

Valeurs d'après lesquelles la mise à l'échelle doit être déterminée.

  • VERTICAL_ANGLELa mise à l'échelle est effectuée en prenant en compte l'angle vertical de chaque sommet par rapport au point d'observation. Il s'agit de l'option par défaut.
  • ELEVATIONLa mise à l'échelle est effectuée en prenant en compte l'altitude de chaque sommet par rapport au point d'observation.
String
scale_method
(Facultatif)

Sommet à utiliser pour effectuer le calcul.

  • SKYLINE_MAXIMUMLes sommets seront mis à l'échelle par rapport à l'angle vertical (ou à l'altitude) du sommet ayant l'angle vertical le plus élevé (ou l'altitude la plus élevée). Il s'agit de l'option par défaut.
  • EACH_VERTEXLes sommets seront mis à l'échelle par rapport à l'angle vertical original (ou à l'altitude originale) de chaque sommet.
String
use_curvature
(Facultatif)

Indique si la courbure de la Terre doit être prise en compte lors de la génération de la crête à partir d'une surface fonctionnelle.

  • 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 crête à partir d'une surface fonctionnelle. Si aucune surface réelle n'est spécifiée, le fait d'activer cette case à cocher (ou de transmettre REFRACTION dans Python) a pour effet de créer des silhouettes au lieu d'horizons.

  • NO_REFRACTION La réfraction atmosphérique n'est pas prise en compte. Il s'agit de l'option par défaut.
  • REFRACTIONLa réfraction atmosphérique est prise en compte.
Boolean
refraction_factor
(Facultatif)

Si la réfraction atmosphérique est prise en compte, vous devez alors appliquer une valeur scalaire. La valeur par défaut est 0.13.

Double
pyramid_level_resolution
(Facultatif)

Si un MNT est spécifié pour une surface fonctionnelle, ce paramètre est alors renseigné avec les résolutions résidentes dans le MNT. L'une des résolutions peut être choisie en vue de générer la ligne d'horizon. La valeur par défaut est 0 (ou résolution maximale).

Double
create_silhouettes
(Facultatif)

Spécifiez si les entités en sortie représenteront des silhouettes visibles à partir du point d'observation.

  • NO_CREATE_SILHOUETTESLes entités polylignes obtenues représentent l'horizon. Il s'agit de l'option par défaut.
  • CREATE_SILHOUETTESLes entités multipatch obtenues représentent des silhouettes.
Boolean

Exemple de code

1er exemple d'utilisation de l'outil Skyline (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.Skyline_3d("observers.shp", "skyline_output.shp", "sample.gdb/featuredataset/terrain")
2e exemple d'utilisation de l'outil Skyline (script autonome)

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

'''****************************************************************************
Name: Skyline Example
Description: This script demonstrates how to use the 
             Skyline 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"
    # Make sure output has a unique name
    outFC = arcpy.CreateUniqueName("skyline_output.shp")
    inSurface = "sample.gdb/featuredataset/terrain"
    obstructionFCs = "buildings.shp; billboards.shp"
    surfRad = "1000 meters"
    surfElev = "100 meters"
    LOD = "FULL_DETAIL"
    fromAzim = 0
    toAzim = 360
    incAzim = 1
    maxHorizRad = 0
    segSky = "SEGMENT_SKYLINE"
    scale = 100
    scaleAcc = "ELEVATION"
    scaleMethod = "SKYLINE_MAXIMUM"
    
    # Execute Skyline
    arcpy.Skyline_3d(inPts, outFC, inSurface, surfRad, surfElev, 
                     obstructionFCs, LOD, fromAzim, toAzim, incAzim, 
                     maxHorizRad, segSky, scale, scaleAcc, scaleMethod)


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