Solar Radiation Graphics (Spatial Analyst)

License Level:BasicStandardAdvanced

Summary

Derives raster representations of a hemispherical viewshed, sunmap, and skymap, which are used in the calculation of direct, diffuse, and global solar radiation

Usage

Syntax

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

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 grids. The units are cells.

The default creates a raster of 200 by 200 cells.

Long
height_offset
(Optional)

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

The height offset will be applied to all input locations.

Double
calculation_directions
(Optional)

The number of azimuth directions 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 for the southern.

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

Double
time_configuration
(Optional)

Specifies the time configuration (period) 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, TimeMultiDays, TimeSpecialDays, and TimeWholeYear.

The following are the forms:

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

The default time_configuration is TimeMultiDays with the start_day of 5 and end_day of 160, for the current Julian year.

Time configuration
day_interval
(Optional)

The time interval through the year (units: days) used for calculation of sky sectors for the sun map.

The default value is 14 (biweekly).

Long
hour_interval
(Optional)

Time interval through the day (units: hours) used for calculation of sky sectors for sun maps.

The default value is 0.5.

Double
out_sunmap_raster
(Optional)

The output sunmap 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 skymap.

Raster Dataset
zenith_divisions
(Optional)

The number of divisions 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 divisions 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 skymap 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 sunmap.

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 the SolarRadiationGraphics 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, sunmap, and skymap 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"

# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")

# 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")

Environments

Related Topics

Licensing Information

ArcGIS for Desktop Basic: Requires Spatial Analyst
ArcGIS for Desktop Standard: Requires Spatial Analyst
ArcGIS for Desktop Advanced: Requires Spatial Analyst
4/10/2014