Solar Radiation Graphics (Spatial Analyst)

Available with Spatial Analyst license.

Summary

Derives raster representations of a hemispherical viewshed, sun map, and sky map, which are used in the calculation of direct, diffuse, and global solar radiation.

Usage

  • Outputs from the Solar Radiation Graphics tool are raster representations and are not maps that correspond to the outputs from the area or point solar radiation analysis. Rather, they are representations of directions in a hemisphere of directions looking upward from a given location. In a hemispherical projection, the center is the zenith, the edge of the circular map representation is the horizon, and the angle relative to the zenith is proportionate to the radius. Hemispherical projections do not have a geographic coordinate system and have a lower left corner of (0,0).

  • It would not be practical to store viewsheds for all locations in a DEM, so when input locations are not specified, a single viewshed is created for the center of the input surface raster. When input point features or locations files are specified, multiple viewshed rasters are created for each input location. When multiple locations are specified, the output will be a multiband raster, where each band corresponds to the viewshed for a specific location.

  • The input locations table can be a point feature class or a table of point coordinates. When inputting locations by table, a list of locations must be specified with an x,y coordinate. The table can be a geodatabase table, a .dbf file, an INFO table, or a text table file. If using an ASCII coordinate file, each line should contain an x,y pair separated by a comma, space, or tab.

  • Output graphic display rasters do not honor extent or cell size environment settings. The output extents are always respective of the sky size/resolution and have a cell size equal to one. However, the underlying analysis will use the environment settings and may affect the results of the viewshed.

  • One or two sun map rasters may be generated, depending on whether the time configuration includes overlapping sun positions throughout the year. When two sun maps are created, one represents the period between the winter and summer solstice, and the other represents the period between the summer solstice and the winter solstice. Depending on the year, the solistices typically fall on the 20th or 21st of December and June, but occasionally they may be on the 22nd. When multiple sun maps are created, the default output is a multiband raster.

  • The latitude for the site area (units: decimal degree, positive for the northern hemisphere and negative for the southern hemisphere) is used in calculations such as solar declination and solar position.

    The analysis is designed specifically for local landscape scales, so it is generally acceptable to use one latitude value for the whole DEM. With larger datasets, such as for states, countries, or continents, the insolation results will differ significantly at different latitudes (greater than 1 degree). To analyze broader geographic regions, you must divide the study area into zones with different latitudes.

  • For input surface rasters containing a spatial reference, the mean latitude is automatically calculated; otherwise, the latitude will default to 45 degrees. When using an input layer, the spatial reference of the data frame is used.

  • Sky size is the resolution of the viewshed, sky map, and sun map rasters that are used in the radiation calculations (units: cells per side). These are upward-looking, hemispherical raster representations of the sky and do not have a geographic coordinate system. These rasters are square (equal number of rows and columns).

    The following are recommended sky size values when a time configuration of a whole year or multiple days is used:

    • For a 1 day interval, use a sky size of 1000 and above.
    • For a 0.25 day interval, use a sky size of 2000 and above.
    • For a 0.1 hour interval, use a sky size of 4000 and above.

    Increasing the sky size increases calculation accuracy but also increases calculation time considerably.

  • When the day interval setting is small (for example, < 14 days), use a larger sky size. During analysis, the sun map (determined by the sky size) is used to represent sun positions (tracks) for particular time periods to calculate direct radiation. With smaller day intervals, if the sky size resolution is not large enough, sun tracks may overlap, resulting in zero or lower radiation values for that track. Increasing the resolution provides a more accurate result.

  • The maximum sky size value is 10,000. A value of 200 is the default and is sufficient for whole DEMs with large day intervals (for example, > 14 days). A sky size value of 512 is sufficient for calculations at point locations where calculation time is less of an issue. At smaller day intervals (for example, < 14 days), it is recommended that you use higher values. For example, to calculate insolation for a location at the equator with day interval = 1, use a sky size of 2,800 or above.

  • Day intervals greater than 3 are recommended, as sun tracks within three days typically overlap, depending on sky size and time of year. For calculations of the whole year with monthly interval, day interval is disabled and the program uses calendar month intervals. The default value is 14.

  • Because the viewshed calculation can be highly intensive, horizon angles are only traced for the number of calculation directions specified. Valid values must be multiples of 8 (8, 16, 24, 32, and so on). Typically, a value of 8 or 16 is adequate for areas with gentle topography, whereas a value of 32 is adequate for complex topography. The default value is 32.

  • The number of calculation directions needed is related to the resolution of the input DEM. Natural terrain at 30-meters resolution is usually quite smooth, so fewer directions are sufficient for most situations (16 or 32). With finer DEMs, and particularly with human-made structures incorporated in the DEMs, the number of directions needs to increase. Increasing the number of directions increases accuracy but also increase calculation time.

  • See Analysis environments and Spatial Analyst for additional details on the geoprocessing environments that apply to this tool.

Parameters

LabelExplanationData Type
Input raster

The input elevation surface raster.

Raster Layer
Input points feature or table
(Optional)

The input point feature class or table specifying the locations to analyze solar radiation.

Feature Layer; Table View
Sky size / Resolution
(Optional)

The resolution or sky size for the viewshed, sky map, and sun map rasters. The units are cells.

The default is a raster of 200 by 200 cells.

Long
Height offset
(Optional)

The height (in meters) above the DEM surface for which calculations will be performed.

The height offset will be applied to all input locations.

Double
Calculation directions
(Optional)

The number of azimuth directions that will be used when calculating the viewshed.

Valid values must be multiples of 8 (8, 16, 24, 32, and so on). The default value is 32 directions, which is adequate for complex topography.

Long
Latitude
(Optional)

The latitude for the site area. The units are decimal degrees with positive values for the northern hemisphere and negative values for the southern hemisphere.

For input surface rasters containing a spatial reference, the mean latitude is automatically calculated; otherwise, the latitude default is 45 degrees.

Double
Time configuration
(Optional)

Specifies the time period that will be used for the calculations.

  • Special days—Solar insolation will be calculated for the solstice days (summer and winter) and the equinox days (when the insolation for both spring and fall equinox are the same).
  • Within day—Calculations will be performed for a specified time period within a single day.

    Select the Julian day and enter the start and end times. When the start time and the end time are the same, instantaneous insolation will be calculated. When the start time is before sunrise and the end time is after sunset, insolation will be calculated for the whole day.

    • To enter the correct day, use the calendar button to open the Calendar dialog box.
  • Multiple days—Calculations will be performed for a specific multiple-day period within a year.

    Specify the start year, start day, and end day. When the end day is smaller than the start day, the end day is considered to be in the following year. The default time configuration starts on day 5 and ends on day 160 of the current Julian year.

    • To enter the correct days, use the calendar button to open the Calendar dialog box.
  • Whole year—Calculations will be performed for an entire year using monthly intervals for calculations.

    If the Create outputs for each interval option is checked, output files will be created for each month; otherwise, a single output will be created for the whole year.

Time configuration
Day interval
(Optional)

The time interval through the year (units: days) that will be used to calculate sky sectors for the sun map.

The default value is 14 (biweekly).

Long
Hour interval
(Optional)

The time interval through the day (units: hours) that will be used to calculate sky sectors for the sun map.

The default value is 0.5.

Double
Output sunmap raster
(Optional)

The output sun map raster.

The output is a representation that specifies sun tracks, the apparent position of the sun as it varies through time. The output is at the same resolution as the viewshed and sky map.

Raster Dataset
Zenith divisions
(Optional)

The number of zenith divisions that will be used to create sky sectors in the sky map.

The default is eight divisions (relative to zenith). Values must be greater than zero and less than half the sky size value.

Long
Azimuth divisions
(Optional)

The number of azimuth divisions that will be used to create sky sectors in the sky map.

The default is eight divisions (relative to north). Valid values must be multiples of 8. Values must be greater than zero and less than 160.

Long
Output skymap raster
(Optional)

The output sky map raster.

The output is constructed by dividing the whole sky into a series of sky sectors defined by zenith and azimuth divisions. The output is at the same resolution as the viewshed and sun map.

Raster Dataset

Return Value

LabelExplanationData Type
Output viewshed raster

The output viewshed raster.

The resulting viewshed for a location represents which sky directions are visible and which are obscured. This is similar to the view provided by upward-looking hemispherical (fisheye) photographs.

Raster

SolarRadiationGraphics(in_surface_raster, {in_points_feature_or_table}, {sky_size}, {height_offset}, {calculation_directions}, {latitude}, {time_configuration}, {day_interval}, {hour_interval}, {out_sunmap_raster}, {zenith_divisions}, {azimuth_divisions}, {out_skymap_raster})
NameExplanationData Type
in_surface_raster

The input elevation surface raster.

Raster Layer
in_points_feature_or_table
(Optional)

The input point feature class or table specifying the locations to analyze solar radiation.

Feature Layer; Table View
sky_size
(Optional)

The resolution or sky size for the viewshed, sky map, and sun map rasters. The units are cells.

The default is a raster of 200 by 200 cells.

Long
height_offset
(Optional)

The height (in meters) above the DEM surface for which calculations will be performed.

The height offset will be applied to all input locations.

Double
calculation_directions
(Optional)

The number of azimuth directions that will be used when calculating the viewshed.

Valid values must be multiples of 8 (8, 16, 24, 32, and so on). The default value is 32 directions, which is adequate for complex topography.

Long
latitude
(Optional)

The latitude for the site area. The units are decimal degrees with positive values for the northern hemisphere and negative values for the southern hemisphere.

For input surface rasters containing a spatial reference, the mean latitude is automatically calculated; otherwise, the latitude default is 45 degrees.

Double
time_configuration
(Optional)

Specifies the time configuration (period) that will be used for calculating solar radiation.

The Time class objects are used to specify the time configuration.

The different types of time configurations available are TimeWithinDay, TimeMultipleDays, TimeSpecialDays, and TimeWholeYear.

The following are the forms:

  • TimeWithinDay({day},{startTime},{endTime})
  • TimeMultipleDays({year},{startDay},{endDay})
  • TimeSpecialDays()
  • TimeWholeYear({year})

The default time configuration is TimeMultipleDays with the startDay value of 5 and the endDay value of 160 for the current Julian year.

Time configuration
day_interval
(Optional)

The time interval through the year (units: days) that will be used to calculate sky sectors for the sun map.

The default value is 14 (biweekly).

Long
hour_interval
(Optional)

The time interval through the day (units: hours) that will be used to calculate sky sectors for the sun map.

The default value is 0.5.

Double
out_sunmap_raster
(Optional)

The output sun map raster.

The output is a representation that specifies sun tracks, the apparent position of the sun as it varies through time. The output is at the same resolution as the viewshed and sky map.

Raster Dataset
zenith_divisions
(Optional)

The number of zenith divisions that will be used to create sky sectors in the sky map.

The default is eight divisions (relative to zenith). Values must be greater than zero and less than half the sky size value.

Long
azimuth_divisions
(Optional)

The number of azimuth divisions that will be used to create sky sectors in the sky map.

The default is eight divisions (relative to north). Valid values must be multiples of 8. Values must be greater than zero and less than 160.

Long
out_skymap_raster
(Optional)

The output sky map raster.

The output is constructed by dividing the whole sky into a series of sky sectors defined by zenith and azimuth divisions. The output is at the same resolution as the viewshed and sun map.

Raster Dataset

Return Value

NameExplanationData Type
out_viewshed_raster

The output viewshed raster.

The resulting viewshed for a location represents which sky directions are visible and which are obscured. This is similar to the view provided by upward-looking hemispherical (fisheye) photographs.

Raster

Code sample

SolarRadiationGraphics example 1 (Python window)

The following Python window script demonstrates how to use this tool.

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outViewshedMap = SolarRadiationGraphics("elevation", "observers.shp", 200, 2, 32, 52,
                                 TimeMultipleDays(2009, 91, 212), 14, 0.5, 
                                 "c:/sapyexamples/output/sunmap", 8, 8, 
                                 "c:/sapyexamples/output/skymap")
outViewshedMap.save("c:/sapyexamples/output/viewmap")
SolarRadiationGraphics example 2 (stand-alone script)

Create a viewshed, sun map, and sky map used in the solar radiation analysis.

# Name: SolarRadiationGraphics_Ex_02.py
# Description: Derives raster representations of a hemispherical viewshed, 
#    sunmap, and skymap, which are used in the calculation of direct, diffuse, 
#    and global solar radiation.
# Requirements: Spatial Analyst Extension

# Import system modules
import arcpy
from arcpy import env
from arcpy.sa import *

# Set environment settings
env.workspace = "C:/sapyexamples/data"

# Set local variables
inRaster = "elevation"
pntFC = "observers.shp"
skySize = 200
zOffset = 2
directions = 32
latitude = 52
timeConfig = TimeMultipleDays(2009, 91, 212)
dayInterval = 14
hourInterval = 0.5
outSunMap = "c:/sapyexamples/output/sunmap"
zenDivisions = 8
aziDivisions = 8
outSkyMap = "c:/sapyexamples/output/skymap"

# Execute SolarRadiationGraphics
outViewshedMap = SolarRadiationGraphics(inRaster, pntFC, skySize, zOffset, 
                                    directions, latitude, timeConfig,
                                    dayInterval, hourInterval, outSunMap,
                                    zenDivisions, aziDivisions, outSkyMap)

# Save the output
outViewshedMap.save("c:/sapyexamples/output/viewmap")

Licensing information

  • Basic: Requires Spatial Analyst
  • Standard: Requires Spatial Analyst
  • Advanced: Requires Spatial Analyst

Related topics