Points Solar Radiation (Spatial Analyst)

License Level:BasicStandardAdvanced

Summary

Derives incoming solar radiation for specific locations in a point feature class or location table

Learn more about how solar radiation is calculated

Usage

Syntax

PointsSolarRadiation (in_surface_raster, in_points_feature_or_table, out_global_radiation_features, {height_offset}, {latitude}, {sky_size}, {time_configuration}, {day_interval}, {hour_interval}, {each_interval}, {z_factor}, {slope_aspect_input_type}, {calculation_directions}, {zenith_divisions}, {azimuth_divisions}, {diffuse_model_type}, {diffuse_proportion}, {transmittivity}, {out_direct_radiation_features}, {out_diffuse_radiation_features}, {out_direct_duration_features})
ParameterExplanationData Type
in_surface_raster

Input elevation surface raster.

Raster Layer
in_points_feature_or_table

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

Feature Layer | Table View
out_global_radiation_features

The output feature class representing the global radiation or amount of incoming solar insolation (direct + diffuse) calculated for each location.

The output has units of watt hours per square meter (WH/m2).

Feature Class
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
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
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
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
each_interval
(Optional)

Specifies whether to calculate a single total insolation value for all locations or multiple values for the specified hour and day interval.

  • NOINTERVALA single total radiation value will be calculated for the entire time configuration. This is default.
  • INTERVALMultiple radiation values will be calculated for each time interval over the entire time configuration. The number of outputs will depend on the hour or day interval. For example, for a whole year with monthly intervals, the result will contain 12 output radiation values for each location.
Boolean
z_factor
(Optional)

The number of ground x,y units in one surface z unit.

The z-factor adjusts the units of measure for the z units when they are different from the x,y units of the input surface. The z-values of the input surface are multiplied by the z-factor when calculating the final output surface.

If the x,y units and z units are in the same units of measure, the z-factor is 1. This is the default.

If the x,y units and z units are in different units of measure, the z-factor must be set to the appropriate factor, or the results will be incorrect.

For example, if your z units are feet and your x,y units are meters, you would use a z-factor of 0.3048 to convert your z units from feet to meters (1 foot = 0.3048 meter).

Double
slope_aspect_input_type
(Optional)

How slope and aspect information are derived for analysis.

  • FROM_DEM The slope and aspect grids are calculated from the input surface raster. This is the default.
  • FLAT_SURFACE Constant values of zero are used for slope and aspect.
  • FROM_POINTS_TABLE Values for slope and aspect can be specified along with the x,y coordinates in the locations file.
String
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
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
diffuse_model_type
(Optional)

Type of diffuse radiation model.

  • UNIFORM_SKY Uniform diffuse model. The incoming diffuse radiation is the same from all sky directions. This is the default.
  • STANDARD_OVERCAST_SKY Standard overcast diffuse model. The incoming diffuse radiation flux varies with zenith angle.
String
diffuse_proportion
(Optional)

The proportion of global normal radiation flux that is diffuse. Values range from 0 to 1.

This value should be set according to atmospheric conditions. The default value is 0.3 for generally clear sky conditions.

Double
transmittivity
(Optional)

The fraction of radiation that passes through the atmosphere (averaged over all wavelengths). Values range from 0 (no transmission) to 1 (all transmission).

The default is 0.5 for a generally clear sky.

Double
out_direct_radiation_features
(Optional)

The output feature class representing the direct incoming solar radiation for each location.

The output has units of watt hours per square meter (WH/m2).

Feature Class
out_diffuse_radiation_features
(Optional)

The output feature class representing the incoming solar radiation for each location that is diffuse.

The output has units of watt hours per square meter (WH/m2).

Feature Class
out_direct_duration_features
(Optional)

The output feature class representing the duration of direct incoming solar radiation.

The output has units of hours.

Feature Class

Code Sample

PointsSolarRadiation example 1 (Python window)

The following Python Window script demonstrates how to use the PointsSolarRadiation tool.

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
PointsSolarRadiation("elevation", "observers.shp", 
                     "c:/sapyexamples/output/outglobalrad1.shp", "", 35, 200, 
                     TimeMultipleDays(2009, 91, 212), 14, 0.5,"NOINTERVAL", 
                     1, "FROM_DEM", 32, 8, 8,"STANDARD_OVERCAST_SKY", 0.3, 0.5, 
                     "c:/sapyexamples/output/outdirectrad1.shp", 
                     "c:/sapyexamples/output/outdiffuserad1.shp", 
                     "c:/sapyexamples/output/outduration1.shp")
PointsSolarRadiation example 2 (stand-alone script)

Calculate the amount of incoming solar radiation for specific point locations.

# PointsSolarRadiation_Example02.py
# Description: For all point locations, calculates total global, direct,
#    diffuse and direct duration solar radiation for a whole year.
# 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"

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

# Set local variables
inRaster = "elevation"
inPntFC = "observers.shp"
outFeatures = "c:/sapyexamples/output/outglobal1.shp"
latitude = 35.75
skySize = 200
timeConfig = TimeMultipleDays(2009, 91, 212)
dayInterval = 14
hourInterval = 0.5
zFactor = 0.3048
calcDirections = 32
zenithDivisions = 8
azimuthDivisions = 8
diffuseProp = 0.3
transmittivity = 0.5
outDirectRad = "C:/sapyexamples/output/outdirectrad1.shp"
outDiffuseRad = "C:/sapyexamples/output/outdiffuserad1.shp"
outDirectDur = "C:/sapyexamples/output/outduration1.shp"

# Execute PointsSolarRadiation...
PointsSolarRadiation(inRaster, inPntFC, outFeatures, "", latitude, skySize, 
                     timeConfig, dayInterval, hourInterval, "INTERVAL", 
                     zFactor, "FROM_DEM", calcDirections, zenithDivisions, 
                     azimuthDivisions,"STANDARD_OVERCAST_SKY", diffuseProp, 
                     transmittivity, outDirectRad, outDiffuseRad, outDirectDur)

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