Skyline Barrier (3D Analyst)

Summary

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

Learn more about how Skyline Barrier works

Illustration

Skyline Barrier
The left image is the input to the Skyline Barrier tool. It consists of the observer point and Skyline output by the Skyline tool. The right image is the output of Skyline Barrier.

Usage

  • The barrier resembles a triangle fan formed by drawing a line from the observer point to the first vertex of the skyline, then sweeping the line through all of the vertices of the skyline. Consider using this tool to determine whether features, such as multipatches representing buildings, violate the barrier by protruding up through it, or whether a proposed building would alter the skyline.

  • Use the Skyline tool first to generate a skyline or silhouette. A silhouette would produce a volumetric representation of the shadow cast by light coming from the observation point.

  • The Minimum Radius and Maximum Radius parameters define the length of the triangle edges emanating from the observation point. If the default value of 0 is specified for the Minimum Radius or Maximum Radius, then no minimum or maximum length is used in the analysis.

  • If you choose to create a closed multipatch, then the output will be extruded to the height defined in the Base Elevation parameter, and a horizontal ring will be created to form the bottom of the closed geometry. If the specified base elevation is greater than the highest vertex in the skyline barrier, then the base will actually be a ceiling.

  • The new multipatch feature class will have the following fields:

    • OBSV_PT_ID—The FID of the observer point used to create the skyline which, in turn, was used to create this skyline barrier multipatch.
    • ORIGFTR_ID—The FID of the original feature, such as a building, represented by the skyline segment or silhouette which was used to create this shadow volume.
    • SILHOUE_ID—The FID of the multipatch feature (silhouette) used to create this shadow volume (for silhouettes only).

Parameters

LabelExplanationData Type
Input Observer Point Features

The point feature class containing the observer points.

Feature Layer
Input Features

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

Feature Layer
Output Feature Class

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

Feature Class
Minimum Radius
(Optional)

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

Linear Unit; Field
Maximum Radius
(Optional)

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

Linear Unit; Field
Closed
(Optional)

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

  • Unchecked—No 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.
  • Checked— A skirt and a base are added to the multipatch so as to form what appears to be a closed solid.
Boolean
Base Elevation
(Optional)

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
Project to Plane
(Optional)

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.

  • Unchecked—The 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.
  • Checked—The barrier will extend from a vertical plane to a vertical plane.
Boolean

arcpy.ddd.SkylineBarrier(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})
NameExplanationData Type
in_observer_point_features

The point feature class containing the observer points.

Feature Layer
in_features

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

Feature Layer
out_feature_class

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

Feature Class
min_radius_value_or_field
(Optional)

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

Linear Unit; Field
max_radius_value_or_field
(Optional)

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

Linear Unit; Field
closed
(Optional)

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.
Boolean
base_elevation
(Optional)

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
project_to_plane
(Optional)

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.
Boolean

Code sample

SkylineBarrier example 1 (Python window)

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

arcpy.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

# Set environment settings
arcpy.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')

Licensing information

  • Basic: Requires 3D Analyst
  • Standard: Requires 3D Analyst
  • Advanced: Requires 3D Analyst

Related topics