# Skyline Graph (3D Analyst)

## Summary

Calculates the sky visibility ratio and generates an optional table and a polar graph.

## Illustration ## Usage

• This tool requires the line features created by the Skyline tool and generates a polar graph. The polar graph can be seen in the tool's message window and can be also be saved as an image. The output message also indicates the percent of visible sky above the horizon.

• The azimuth and vertical angle from each observer point to each vertex in the skyline can be exported to a stand-alone table by specifying the Output Angles Table parameter value. The resulting table will contain the following fields:

• HORIZ_ANG—The arithmetic horizontal angle expressed where 0° is due east and values increase in the counter-clockwise direction until 360°. The arithmetic horizontal angle is equal to 90 minus the azimuth.
• ZENITH_ANG—The zenith angle where 0° is directly up along the z-axis, 90° is at the horizon, and 180° is directly down along the z-axis. The zenith angle is 90 minus the vertical angle from the horizon.
• HOR_AN_GEO—The geographic horizontal angle where 0° is in the projection's north and values increase in the clockwise direction until 360°.
• ZEN_AN_INV—The zenith angle where 0° is at the horizon, 90° is directly up along the z-axis, and -90° is directly down along the z-axis.

If the Additional Fields parameter is checked, the output table will also contain the following fields:

• FEATURE_ID—The unique ID of the feature defining the skyline. Rows where this value is -1 denote locations where the skyline is defined by a surface, whereas a value of -2 represents transitional lines that do not contribute to the skyline but are used to connect the segments that define the skyline.
• VERTEX_X—The x-coordinate of the vertex.
• VERTEX_Y—The y-coordinate of the vertex.
• VERTEX_Z—The z-coordinate of the vertex.
• DIST_2D—The horizontal distance from the observer to the vertex.
• DIST_3D—The slope distance from the observer to the vertex.
• The tool will report the minimum and maximum vertical angles of visibility to the sky along with the sky visibility ratio, which is expressed as a value from 0 to 1. A visibility ratio of 0.8 indicates that 80 percent of the sky is visible.

• The percentage of visible sky will be included in the results. This value is equal to the area above the skyline, divided by the area above the Base Visibility Angle parameter value and is calculated only within the azimuth range of the skyline.

## Parameters

 Label Explanation Data Type Input Observer Point Features The input features containing one or more observer points. Feature Layer Input Line Features The line features that represent the skyline. Feature Layer Base Visibility Angle (Optional) The baseline vertical angle that will be used to calculate the percentage of visible sky. Zero is the horizon, 90 is straight up, and -90 is straight down. The default is 0. Double Additional Fields (Optional) Specifies whether additional fields will be included in the angles table.Unchecked—Additional fields will not be included. This is the default.Checked—Additional fields will be included. Boolean Output Angles Table(Optional) The table that will be created for outputting the horizontal and vertical angles from the observer point to each of the vertices on the skyline. Table Output Graph Name (Optional) This parameter is not supported. Graph Output Graph Image (Optional) The image of the polar chart depicting the radial view of the visible skyline. The image can be created in PNG, JPG, JPEG, or SVG format. File

### Derived Output

 Label Explanation Data Type Visibility Ratio The average percentage of visible sky for all observers. This value is expressed as a value from 0 to 1, in which 0.8 represents 80 percent visibility of the skyline. Double

`arcpy.ddd.SkylineGraph(in_observer_point_features, in_line_features, {base_visibility_angle}, {additional_fields}, {out_angles_table}, {out_graph}, {out_image_file})`
 Name Explanation Data Type in_observer_point_features The input features containing one or more observer points. Feature Layer in_line_features The line features that represent the skyline. Feature Layer base_visibility_angle(Optional) The baseline vertical angle that will be used to calculate the percentage of visible sky. Zero is the horizon, 90 is straight up, and -90 is straight down. The default is 0. Double additional_fields(Optional) Specifies whether additional fields will be included in the angles table.NO_ADDITIONAL_FIELDS—Additional fields will not be included. This is the default.ADDITIONAL_FIELDS—Additional fields will be included. Boolean out_angles_table(Optional) The table that will be created for outputting the horizontal and vertical angles from the observer point to each of the vertices on the skyline. Table out_graph(Optional) This parameter is not supported. Graph out_image_file(Optional) The image of the polar chart depicting the radial view of the visible skyline. The image can be created in PNG, JPG, JPEG, or SVG format. File

### Derived Output

 Name Explanation Data Type out_visibility_ratio The average percentage of visible sky for all observers. This value is expressed as a value from 0 to 1, in which 0.8 represents 80 percent visibility of the skyline. Double

### Code sample

SkylineGraph example 1 (Python window)

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

``````arcpy.env.workspace = "C:/data"
arcpy.ddd.SkylineGraph("observers.shp", "skyline_outline.shp", 0,
SkylineGraph example 2 (stand-alone script)

The following sample demonstrates the use of this tool in a stand-alone Python script.

``````'''****************************************************************************
Name: Skyline Example
Description: This script demonstrates how to use the
Skyline tool.
****************************************************************************'''
# Import system modules
import arcpy

# Set environment settings
arcpy.env.workspace = 'C:/data'

# Set Local Variables
inPts = "observers.shp"
inLines = "skyline_outline.shp"
baseVisibility = 25

# Ensure output table has unique name
outTable = arcpy.CreateUniqueName("angles_table.dbf")

#Execute SkylineGraph