ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • Help
  • Sign Out
ArcGIS Desktop

ArcGIS Online

The mapping platform for your organization

ArcGIS Desktop

A complete professional GIS

ArcGIS Enterprise

GIS in your enterprise

ArcGIS Developers

Tools to build location-aware apps

ArcGIS Solutions

Free template maps and apps for your industry

ArcGIS Marketplace

Get apps and data for your organization

  • Documentation
  • Support
Esri
  • Sign In
user
  • My Profile
  • Sign Out

ArcMap

  • Home
  • Get Started
  • Map
  • Analyze
  • Manage Data
  • Tools
  • Extensions

Skyline Barrier

  • Summary
  • Illustration
  • Usage
  • Syntax
  • Code sample
  • Environments
  • Licensing information

Summary

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

Learn more about how Skyline Barrier works

Illustration

Skyline Barrier tool illustration
The first image is the input to the Skyline Barrier tool. It consists of the observer point and Skyline output by the Skyline tool. The second 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. You can use this tool to determine whether features—such as multipatches representing buildings—violate the barrier by protruding up through it or whether a proposed building will alter the skyline.

  • Use the Skyline tool first to generate a skyline or silhouette. A silhouette will 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 Minimum Radius or Maximum Radius, no minimum or maximum length will be used in the analysis.

  • If you create a closed multipatch, 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, the base will 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 that 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).

Syntax

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

The point feature class containing the observer points.

Feature Layer
in_features

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

Feature Layer
out_feature_class

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

Feature Class
min_radius_value_or_field
(Optional)

The minimum radius that the triangle edges will be extended from the observer point. For example, value of 10 meters means that all output barrier features will extend at least 10 meters from their point of origin. The default is 0, meaning no minimum distance is enforced.

Linear Unit; Field
max_radius_value_or_field
(Optional)

The maximum radius that the triangle edges will be extended from the observer point. The default is 0, meaning no maximum distance is enforced.

Linear Unit; Field
closed
(Optional)

Specifies whether a skirt and a base will be added to the skyline barrier so that the resulting multipatch will appear to be a closed solid.

  • NO_CLOSED —No skirt or base will be added to the multipatch; only the multipatch representing the surface going from the observer to the skyline will be represented. This is the default.
  • CLOSED — A skirt and a base will be added to the multipatch to form the appearance of a closed solid.
Boolean
base_elevation
(Optional)

The elevation of the base of the closed multipatch. This parameter is ignored if the closed parameter is set to NO_CLOSED. The default is 0.

Linear Unit; Field
project_to_plane
(Optional)

Specifies 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 set to PROJECT_TO_PLANE to create a shadow volume.

  • NO_PROJECT_TO_PLANE —The barrier will extend from the observer point to the skyline (or nearer or farther if nonzero values are provided for minimum radius 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.

import arcpy
from arcpy import env

arcpy.CheckOutExtension("3D")
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

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)

Environments

  • Current Workspace
  • Extent
  • Output Coordinate System
  • Geographic Transformations
  • Output XY Domain
  • Output Z Domain
  • Output CONFIG Keyword
  • Auto Commit

Licensing information

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

Related topics

  • An overview of the Visibility toolset
  • Fundamentals of Surfaces
  • Analyze Visibility

ArcGIS Desktop

  • Home
  • Documentation
  • Support

ArcGIS

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS
  • ArcGIS Developer
  • ArcGIS Solutions
  • ArcGIS Marketplace

About Esri

  • About Us
  • Careers
  • Esri Blog
  • User Conference
  • Developer Summit
Esri
Tell us what you think.
Copyright © 2021 Esri. | Privacy | Legal