com.esri.arcgis.geoprocessing.tools.spatialanalysttools
Class PointsSolarRadiation
java.lang.Object
com.esri.arcgis.geoprocessing.AbstractGPTool
com.esri.arcgis.geoprocessing.tools.spatialanalysttools.PointsSolarRadiation
- All Implemented Interfaces:
- GPTool
public class PointsSolarRadiation
- extends AbstractGPTool
Derives incoming solar radiation for specific locations in a point feature class or location table.
The Points Solar Radiation tool is contained in the Spatial Analyst Tools tool box.
Usage tips:
- The input locations can be a feature class or table. The table can be an INFO table, a .dbf file, an Access table, or a text table file.
- When inputting locations by table, a list of locations must be specified with an x,y coordinate. Using a coordinate file, each line should contain an x,y pair separated by a space or tab. The following is an example:Alternatively, you may specify slope (degrees) and aspect in the location table. Along with the x,y coordinate, the file should contain the slope and aspect value for each location. The following is an example:
- For multi-day time configurations, the maximum range of days is a total of one year (365 days, or 366 days for leap years). If the start day is greater than the end day, the time calculations will proceed into the following year.For example, [start day, end day] = [365, 31], represents December 31 to January 31 of the following year. The example of [1, 2], the time is inclusive for the first day from 0:00 hours (January 1) to 0:00 (January 2). The start day and end day cannot be equal.
- For within-day time configurations, the maximum range of time is one day (24 hours). Calculations will not be performed across days (for instance, from 12:00 p.m. to 12:00 p.m. the next day). The start time must be less than the end time.
- The use of a z-factor is essential for correcting calculations when the surface z units are expressed in units different from the ground x,y units. To get accurate results, the z units should be the same as the x,y ground units. If they are not the same, use a z-factor to convert z units to x,y units. For example, if your x,y units are meters and your z units are feet, you could specify a z-factor of 0.3048 to convert feet to meters.
- It is recommended to have your data in a projection coordinate system (units meters). However, if you choose to run the analysis with a spherical coordinate system you will need to specify an appropriate z-factor for that latitude. If your x,y units are decimal degrees and your z units are meters, some appropriate z-factors for particular latitudes are:
- The height offset should only be specified in meters.
- 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, 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 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 the sky size increases calculation accuracy but also increases calculation time considerably.
- When the "day interval" setting is small (e.g., < 14days) a larger sky size should be used. 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 4000. A value of 200 is default and is sufficient for whole DEMs with large day intervals (e.g., > 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 (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 sky size of 2800 or more.
- 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 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 Create outputs for each interval check box provides the flexibility to calculate insolation integrated over a specified time period or insolation "for each interval" in a time series. For example, for the within-day time period with an hour interval of one, checking this box will create hourly insolation values; otherwise, insolation integrated for the entire day is calculated.
- The For each interval check box affects the number of attributes for output features. When checked for point radiation analysis, the output feature class includes additional attributes (t0, t1, t2, and so on), which indicate radiation or duration values for each time interval (hour interval when time configuration is less than one day, or day interval when multiple days).
- The amount of solar radiation that is received by the surface is only a portion of what would be received outside the atmosphere. Transmittivity is a property of the atmosphere and is the ratio of the energy received at the upper edge of the atmosphere to that reaching the earths's surface by the shortest path (in the direction of the zenith), averaged over all wavelengths. Values range from 0 (no transmission) to 1 (complete transmission). Typically observed values are 0.6 or 0.7 for very clear sky conditions and 0.5 for only a generally clear sky.Because the algorithms corrects for elevation effects, transmittivity should always be given for sea level. Transmittivity has an inverse relation with the diffuse proportion parameter.
PointsSolarRadiation
public PointsSolarRadiation()
- Creates the Points Solar Radiation tool with defaults.
Initializes the array of tool parameters with the default values specified when the tool was created.
PointsSolarRadiation
public PointsSolarRadiation(Object inSurfaceRaster,
Object inPointsFeatureOrTable,
Object outGlobalRadiationFeatures)
- Creates the Points Solar Radiation 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
- input elevation surface raster.inPointsFeatureOrTable
- the input point feature class or table specifying the locations to analyze solar radiation.outGlobalRadiationFeatures
- 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).
getInSurfaceRaster
public Object getInSurfaceRaster()
- Returns the Input raster parameter of this tool .
This parameter is input elevation 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 input elevation surface raster.
This is a required parameter.
- Parameters:
inSurfaceRaster
- input elevation surface raster.
getInPointsFeatureOrTable
public Object getInPointsFeatureOrTable()
- Returns the Input points feature or table parameter of this tool .
This parameter is the input point feature class or table specifying the locations to analyze solar radiation.
This is a required 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 the input point feature class or table specifying the locations to analyze solar radiation.
This is a required parameter.
- Parameters:
inPointsFeatureOrTable
- the input point feature class or table specifying the locations to analyze solar radiation.
getOutGlobalRadiationFeatures
public Object getOutGlobalRadiationFeatures()
- Returns the Output global radiation features parameter of this tool .
This parameter is 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).
This is a required parameter.
- Returns:
- the Output global radiation features
setOutGlobalRadiationFeatures
public void setOutGlobalRadiationFeatures(Object outGlobalRadiationFeatures)
- Sets the Output global radiation features parameter of this tool .
This parameter is 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).
This is a required parameter.
- Parameters:
outGlobalRadiationFeatures
- 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).
getHeightOffset
public double getHeightOffset()
- Returns the Height offset parameter of this tool .
This parameter is 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.
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 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.
This is an optional parameter.
- Parameters:
heightOffset
- 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.
getLatitude
public double getLatitude()
- Returns the Latitude parameter of this tool .
This parameter is 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.
This is an optional parameter.
- Returns:
- the Latitude
setLatitude
public void setLatitude(double latitude)
- Sets the Latitude parameter of this tool .
This parameter is 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.
This is an optional parameter.
- Parameters:
latitude
- 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.
getSkySize
public int getSkySize()
- Returns the Sky size / Resolution parameter of this tool .
This parameter is 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 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 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 x 200 cells.
This is an optional parameter.
- Parameters:
skySize
- 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 x 200 cells.
getTimeConfiguration
public Object getTimeConfiguration()
- Returns the Time configuration parameter of this tool .
This parameter is 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: the default time_configuration is TimeMultiDays with the start_day of 5 and end_day of 160, for the current Julian year.
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 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: the default time_configuration is TimeMultiDays with the start_day of 5 and end_day of 160, for the current Julian year.
This is an optional parameter.
- Parameters:
timeConfiguration
- 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: the default time_configuration is TimeMultiDays with the start_day of 5 and end_day of 160, for the current Julian year.
getDayInterval
public int getDayInterval()
- Returns the Day interval parameter of this tool .
This parameter is the time interval through the year (units: days) used for calculation of sky sectors for the sun map. 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 the time interval through the year (units: days) used for calculation of sky sectors for the sun map. the default value is 14 (biweekly).
This is an optional parameter.
- Parameters:
dayInterval
- the time interval through the year (units: days) used for calculation of sky sectors for the sun map. the default value is 14 (biweekly).
getHourInterval
public double getHourInterval()
- Returns the Hour interval parameter of this tool .
This parameter is time interval through the day (units: hours) used for calculation of sky sectors for sun maps. 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 time interval through the day (units: hours) used for calculation of sky sectors for sun maps. the default value is 0.5.
This is an optional parameter.
- Parameters:
hourInterval
- time interval through the day (units: hours) used for calculation of sky sectors for sun maps. the default value is 0.5.
getEachInterval
public String getEachInterval()
- Returns the Create outputs for each interval parameter of this tool .
This parameter is specifies whether to calculate a single total insolation value for all locations or multiple values for the specified hour and day interval.
This is an optional parameter.
- Returns:
- the Create outputs for each interval
setEachInterval
public void setEachInterval(String eachInterval)
- Sets the Create outputs for each interval parameter of this tool .
This parameter is specifies whether to calculate a single total insolation value for all locations or multiple values for the specified hour and day interval.
This is an optional parameter.
- Parameters:
eachInterval
- specifies whether to calculate a single total insolation value for all locations or multiple values for the specified hour and day interval.
getZFactor
public double getZFactor()
- Returns the Z factor parameter of this tool .
This parameter is 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).
This is an optional parameter.
- Returns:
- the Z factor
setZFactor
public void setZFactor(double zFactor)
- Sets the Z factor parameter of this tool .
This parameter is 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).
This is an optional parameter.
- Parameters:
zFactor
- 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).
getSlopeAspectInputType
public String getSlopeAspectInputType()
- Returns the Slope and aspect input type parameter of this tool .
This parameter is how slope and aspect information are derived for analysis.
This is an optional parameter.
- Returns:
- the Slope and aspect input type
setSlopeAspectInputType
public void setSlopeAspectInputType(String slopeAspectInputType)
- Sets the Slope and aspect input type parameter of this tool .
This parameter is how slope and aspect information are derived for analysis.
This is an optional parameter.
- Parameters:
slopeAspectInputType
- how slope and aspect information are derived for analysis.
getCalculationDirections
public int getCalculationDirections()
- Returns the Calculation directions parameter of this tool .
This parameter is 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.
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 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.
This is an optional parameter.
- Parameters:
calculationDirections
- 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.
getZenithDivisions
public int getZenithDivisions()
- Returns the Zenith divisions parameter of this tool .
This parameter is 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.
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 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.
This is an optional parameter.
- Parameters:
zenithDivisions
- 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.
getAzimuthDivisions
public int getAzimuthDivisions()
- Returns the Azimuth divisions parameter of this tool .
This parameter is 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.
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 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.
This is an optional parameter.
- Parameters:
azimuthDivisions
- 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.
getDiffuseModelType
public String getDiffuseModelType()
- Returns the Diffuse model type parameter of this tool .
This parameter is type of diffuse radiation model.
This is an optional parameter.
- Returns:
- the Diffuse model type
setDiffuseModelType
public void setDiffuseModelType(String diffuseModelType)
- Sets the Diffuse model type parameter of this tool .
This parameter is type of diffuse radiation model.
This is an optional parameter.
- Parameters:
diffuseModelType
- type of diffuse radiation model.
getDiffuseProportion
public double getDiffuseProportion()
- Returns the Diffuse proportion parameter of this tool .
This parameter is 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.
This is an optional parameter.
- Returns:
- the Diffuse proportion
setDiffuseProportion
public void setDiffuseProportion(double diffuseProportion)
- Sets the Diffuse proportion parameter of this tool .
This parameter is 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.
This is an optional parameter.
- Parameters:
diffuseProportion
- 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.
getTransmittivity
public double getTransmittivity()
- Returns the Transmittivity parameter of this tool .
This parameter is 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.
This is an optional parameter.
- Returns:
- the Transmittivity
setTransmittivity
public void setTransmittivity(double transmittivity)
- Sets the Transmittivity parameter of this tool .
This parameter is 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.
This is an optional parameter.
- Parameters:
transmittivity
- 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.
getOutDirectRadiationFeatures
public Object getOutDirectRadiationFeatures()
- Returns the Output direct radiation features parameter of this tool .
This parameter is 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).
This is an optional parameter.
- Returns:
- the Output direct radiation features
setOutDirectRadiationFeatures
public void setOutDirectRadiationFeatures(Object outDirectRadiationFeatures)
- Sets the Output direct radiation features parameter of this tool .
This parameter is 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).
This is an optional parameter.
- Parameters:
outDirectRadiationFeatures
- 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).
getOutDiffuseRadiationFeatures
public Object getOutDiffuseRadiationFeatures()
- Returns the Output diffuse radiation features parameter of this tool .
This parameter is 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).
This is an optional parameter.
- Returns:
- the Output diffuse radiation features
setOutDiffuseRadiationFeatures
public void setOutDiffuseRadiationFeatures(Object outDiffuseRadiationFeatures)
- Sets the Output diffuse radiation features parameter of this tool .
This parameter is 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).
This is an optional parameter.
- Parameters:
outDiffuseRadiationFeatures
- 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).
getOutDirectDurationFeatures
public Object getOutDirectDurationFeatures()
- Returns the Output direct duration features parameter of this tool .
This parameter is the output feature class representing the duration of direct incoming solar radiation. the output has units of hours.
This is an optional parameter.
- Returns:
- the Output direct duration features
setOutDirectDurationFeatures
public void setOutDirectDurationFeatures(Object outDirectDurationFeatures)
- Sets the Output direct duration features parameter of this tool .
This parameter is the output feature class representing the duration of direct incoming solar radiation. the output has units of hours.
This is an optional parameter.
- Parameters:
outDirectDurationFeatures
- the output feature class representing the duration of direct incoming solar radiation. the output has units of hours.
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