Skyline Barrier (3D Analyst)


Generates a multipatch feature class representing a skyline barrier or shadow volume.

Learn more about how Skyline Barrier works


Skyline Barrier



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})
ParameterExplanationData Type

The point feature class containing the observer points.

Feature Layer

The input line feature class which represents the skylines, or the input multipatch feature class which represents the silhouettes.

Feature Layer

The output feature class into which the skyline barrier or shadow volume is placed.

Feature Class

The minimum radius to which triangle edges should be extended from the observer point. The default is 0, meaning no minimum.

Linear Unit; Field

The maximum radius to which triangle edges should be extended from the observer point. The default is 0, meaning no maximum.

Linear Unit; Field

Whether to close the skyline barrier with a skirt and a base so that the resulting multipatch will appear to be a solid.

  • NO_CLOSEDNo skirt or base is added to the multipatch; just the multipatch representing the surface going from the observer to the skyline is represented. This is the default.
  • CLOSED A skirt and a base are added to the multipatch so as to form what appears to be a closed solid.

The elevation of the base of the closed multipatch; it is ignored if the barrier is not to be closed. The default is 0.

Linear Unit; Field

Whether the front (nearer to the observer) and back (farther from the observer) ends of the barrier should each be projected onto a vertical plane. This is typically checked (turned on) in order to create a shadow volume.

  • NO_PROJECT_TO_PLANEThe barrier will extend from the observer point to the skyline (or nearer or farther if nonzero values are provided for minimum and maximum radius). This is the default.
  • PROJECT_TO_PLANE The barrier will extend from a vertical plane to a vertical plane.

Code Sample

SkylineBarrier example 1 (Python window)

The following sample demonstrates the use of this tool in the Python window:

import arcpy
from arcpy import env

env.workspace = "C:/data"
arcpy.SkylineBarrier_3d("observers.shp", "skyline_outline.shp", "barrier_output.shp")
SkylineBarrier example 2 (stand-alone script)

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

    # Obtain a license for the ArcGIS 3D Analyst extension
    # 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()
    # 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


Related Topics

Licensing Information

ArcView: Requires 3D Analyst
ArcEditor: Requires 3D Analyst
ArcInfo: Requires 3D Analyst