com.esri.arcgis.geoprocessing.tools.spatialanalysttools
Class SolarRadiationGraphics
java.lang.Object
com.esri.arcgis.geoprocessing.AbstractGPTool
com.esri.arcgis.geoprocessing.tools.spatialanalysttools.SolarRadiationGraphics
- All Implemented Interfaces:
- GPTool
public class SolarRadiationGraphics
- extends AbstractGPTool
Derives raster representations of a hemispherical viewshed, sunmap, and skymap, which are used in the calculation of direct, diffuse, and global solar radiation.
The Solar Radiation Graphics tool is contained in the Spatial Analyst Tools tool box.
Software restrictions: none
Usage tips:
- 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" 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 bottom 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 file are specified, multiple viewshed rasters are created for each input location. When multiple locations are specified, the default output format is an ESRI GRID stack, which contains multiple bands that correspond to the viewshed for each location.
- The input locations table can be an INFO table, a .dbf file, an Access table, or a text file.
- 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 sunmap rasters may be generated, depending on whether the time configuration includes overlapping sun positions throughout the year. When two sunmaps are created, one represents the period between the winter and summer solstice (December 22 to June 22), and the other represents the period between the summer solstice and the winter solstice (June 22 to December 22). When multiple sunmaps are created, the default output is an ESRI GRID stack. When the output is added to ArcMap, only the first band will be displayed.
- The latitude for the site area (units: decimal degree, positive for the north hemisphere and negative for the south hemisphere) is used in calculations such as solar declination and solar position. Because the solar analysis is designed for landscape scales and local scales, it is acceptable to use one latitude value for the whole DEM. For broader geographic regions, it is necessary to 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.
- Skysize is the resolution of the viewshed, skymap, and sunmap rasters which 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 grids are square (equal number of rows and columns).
- Increasing skysize increases calculation accuracy but also increases calculation time considerably.
- When the "day interval" setting is small (e.g. < 14days) a larger skysize should be used. During analysis the sunmap (determined by the skysize) is used to represent sun positions (tracks) for particular time periods to calculate direct radiation. With smaller day intervals, if the skysize 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 skysize value is 4000. A value of 200 is default and is sufficient for whole DEMs with large day intervals (eg. > 14 days). Skysize value of 512 is sufficient for calculations at point locations where calculation time is less of an issue. At smaller day intervals (e.g. < 14 days) it is recommended to use higher values. For example, to calculate insolation for a location at the equator with day interval = 1, it is recommended to use a skysize of 2800 or more.
- Day intervals greater than 3 are recommended as sun tracks within three days typically overlap, depending on skysize and time of year. For calculations of the whole year with monthly interval, day interval is disabled and the program internally 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 30m resolution is usually quite smooth so fewer directions are sufficient for most situations (16 or 32). With finer DEMs, and particularly with man-made structures incorporated in the DEMs, the number of directions needs to increase. Increasing the number of directions will increase accuracy but will also increase calculation time.
- The following environment settings affect this tool:
SolarRadiationGraphics
public SolarRadiationGraphics()
- Creates the Solar Radiation Graphics tool with defaults.
Initializes the array of tool parameters with the default values specified when the tool was created.
SolarRadiationGraphics
public SolarRadiationGraphics(Object inSurfaceRaster,
Object outViewshedRaster)
- Creates the Solar Radiation Graphics tool with the required parameters.
Initializes the array of tool parameters with the values as specified for the required parameters and with the default values for the other parameters.
- Parameters:
inSurfaceRaster - Composite Geodataset, input DEM surface raster.outViewshedRaster - Raster Dataset, 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.
getInSurfaceRaster
public Object getInSurfaceRaster()
- Returns the Input raster parameter of this tool .
This parameter is Composite Geodataset, input DEM surface raster.
This is a required parameter.
- Returns:
- the Input raster
setInSurfaceRaster
public void setInSurfaceRaster(Object inSurfaceRaster)
- Sets the Input raster parameter of this tool .
This parameter is Composite Geodataset, input DEM surface raster.
This is a required parameter.
- Parameters:
inSurfaceRaster - Composite Geodataset, input DEM surface raster.
getOutViewshedRaster
public Object getOutViewshedRaster()
- Returns the Output viewshed raster parameter of this tool .
This parameter is Raster Dataset, 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.
This is a required parameter.
- Returns:
- the Output viewshed raster
setOutViewshedRaster
public void setOutViewshedRaster(Object outViewshedRaster)
- Sets the Output viewshed raster parameter of this tool .
This parameter is Raster Dataset, 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.
This is a required parameter.
- Parameters:
outViewshedRaster - Raster Dataset, 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.
getInPointsFeatureOrTable
public Object getInPointsFeatureOrTable()
- Returns the Input points feature or table parameter of this tool .
This parameter is Table View, the input point feature class or table specifying the locations to analyze solar radiation.
This is an optional parameter.
- Returns:
- the Input points feature or table
setInPointsFeatureOrTable
public void setInPointsFeatureOrTable(Object inPointsFeatureOrTable)
- Sets the Input points feature or table parameter of this tool .
This parameter is Table View, the input point feature class or table specifying the locations to analyze solar radiation.
This is an optional parameter.
- Parameters:
inPointsFeatureOrTable - Table View, the input point feature class or table specifying the locations to analyze solar radiation.
getSkySize
public int getSkySize()
- Returns the Sky size / Resolution parameter of this tool .
This parameter is Long, the default creates a raster of 200 x 200 cells.
This is an optional parameter.
- Returns:
- the Sky size / Resolution
setSkySize
public void setSkySize(int skySize)
- Sets the Sky size / Resolution parameter of this tool .
This parameter is Long, the default creates a raster of 200 x 200 cells.
This is an optional parameter.
- Parameters:
skySize - Long, the default creates a raster of 200 x 200 cells.
getHeightOffset
public double getHeightOffset()
- Returns the Height offset parameter of this tool .
This parameter is Double, the height offset will be applied to all input locations.
This is an optional parameter.
- Returns:
- the Height offset
setHeightOffset
public void setHeightOffset(double heightOffset)
- Sets the Height offset parameter of this tool .
This parameter is Double, the height offset will be applied to all input locations.
This is an optional parameter.
- Parameters:
heightOffset - Double, the height offset will be applied to all input locations.
getCalculationDirections
public int getCalculationDirections()
- Returns the Calculation directions parameter of this tool .
This parameter is Long, 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.
This is an optional parameter.
- Returns:
- the Calculation directions
setCalculationDirections
public void setCalculationDirections(int calculationDirections)
- Sets the Calculation directions parameter of this tool .
This parameter is Long, 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.
This is an optional parameter.
- Parameters:
calculationDirections - Long, 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.
getLatitude
public double getLatitude()
- Returns the Latitude parameter of this tool .
This parameter is Double, for input surface rasters containing a spatial reference, the mean latitude is automatically calculated; otherwise, the latitude will default to 45 degrees.
This is an optional parameter.
- Returns:
- the Latitude
setLatitude
public void setLatitude(double latitude)
- Sets the Latitude parameter of this tool .
This parameter is Double, for input surface rasters containing a spatial reference, the mean latitude is automatically calculated; otherwise, the latitude will default to 45 degrees.
This is an optional parameter.
- Parameters:
latitude - Double, for input surface rasters containing a spatial reference, the mean latitude is automatically calculated; otherwise, the latitude will default to 45 degrees.
getTimeConfiguration
public Object getTimeConfiguration()
- Returns the Time configuration parameter of this tool .
This parameter is Time configuration, 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.
This is an optional parameter.
- Returns:
- the Time configuration
setTimeConfiguration
public void setTimeConfiguration(Object timeConfiguration)
- Sets the Time configuration parameter of this tool .
This parameter is Time configuration, 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.
This is an optional parameter.
- Parameters:
timeConfiguration - Time configuration, 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.
getDayInterval
public int getDayInterval()
- Returns the Day interval parameter of this tool .
This parameter is Long, the default value is 14 (biweekly).
This is an optional parameter.
- Returns:
- the Day interval
setDayInterval
public void setDayInterval(int dayInterval)
- Sets the Day interval parameter of this tool .
This parameter is Long, the default value is 14 (biweekly).
This is an optional parameter.
- Parameters:
dayInterval - Long, the default value is 14 (biweekly).
getHourInterval
public double getHourInterval()
- Returns the Hour interval parameter of this tool .
This parameter is Double, the default value is 0.5.
This is an optional parameter.
- Returns:
- the Hour interval
setHourInterval
public void setHourInterval(double hourInterval)
- Sets the Hour interval parameter of this tool .
This parameter is Double, the default value is 0.5.
This is an optional parameter.
- Parameters:
hourInterval - Double, the default value is 0.5.
getOutSunmapRaster
public Object getOutSunmapRaster()
- Returns the Output sunmap raster parameter of this tool .
This parameter is Raster Dataset, 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.
This is an optional parameter.
- Returns:
- the Output sunmap raster
setOutSunmapRaster
public void setOutSunmapRaster(Object outSunmapRaster)
- Sets the Output sunmap raster parameter of this tool .
This parameter is Raster Dataset, 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.
This is an optional parameter.
- Parameters:
outSunmapRaster - Raster Dataset, 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.
getZenithDivisions
public int getZenithDivisions()
- Returns the Zenith divisions parameter of this tool .
This parameter is Long, the default is eight divisions (relative to zenith). Values must be greater than zero and less than half of the skysize value.
This is an optional parameter.
- Returns:
- the Zenith divisions
setZenithDivisions
public void setZenithDivisions(int zenithDivisions)
- Sets the Zenith divisions parameter of this tool .
This parameter is Long, the default is eight divisions (relative to zenith). Values must be greater than zero and less than half of the skysize value.
This is an optional parameter.
- Parameters:
zenithDivisions - Long, the default is eight divisions (relative to zenith). Values must be greater than zero and less than half of the skysize value.
getAzimuthDivisions
public int getAzimuthDivisions()
- Returns the Azimuth divisions parameter of this tool .
This parameter is Long, 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.
This is an optional parameter.
- Returns:
- the Azimuth divisions
setAzimuthDivisions
public void setAzimuthDivisions(int azimuthDivisions)
- Sets the Azimuth divisions parameter of this tool .
This parameter is Long, 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.
This is an optional parameter.
- Parameters:
azimuthDivisions - Long, 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.
getOutSkymapRaster
public Object getOutSkymapRaster()
- Returns the Output skymap raster parameter of this tool .
This parameter is Raster Dataset, 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.
This is an optional parameter.
- Returns:
- the Output skymap raster
setOutSkymapRaster
public void setOutSkymapRaster(Object outSkymapRaster)
- Sets the Output skymap raster parameter of this tool .
This parameter is Raster Dataset, 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.
This is an optional parameter.
- Parameters:
outSkymapRaster - Raster Dataset, 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.
getToolName
public String getToolName()
- Returns the name of this tool.
- Returns:
- the tool name
getToolboxName
public String getToolboxName()
- Returns the name of the tool box containing this tool.
- Returns:
- the tool box name
getToolboxAlias
public String getToolboxAlias()
- Returns the alias of the tool box containing this tool.
- Returns:
- the tool box alias