TimeWithinDay (arcpy.sa)
Summary
Defines a time period within one day to perform solar caclulations. A Julian Day, start time, and end time are specified.
Discussion
This object can be used in the following tools: Area Solar Radiation, Points Solar Radiation, and Solar Radiation Graphics.
When the startTime and the endTime are the same, instantaneous insolation will be calculated. When the startTime is before sunrise and the endTime is after sunset, insolation will be calculated for the whole day.
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 startTime must be less than the endTime.
For within-day time configurations, the start and end times are displayed as solar time (units: decimal hours). When converting local standard time to solar time, the program accounts for equation of time.
Syntax
Parameter | Explanation | Data Type |
day |
The day is a Julian day value from 1 to 365. (The default value is 183 of the Julian calendar) | Long |
startTime |
The startTime is the first hour to be used in the analysis. The hour is represented with a number from 0 to 24. (The default value is 0) | Double |
endTime |
The endTime is the last hour to be used in the analysis. The hour is represented with a number from 0 to 24. (The default value is 24) | Double |
Properties
Property | Explanation | Data Type |
day (Read and Write) |
The day is a Julian day value from 1 to 365. | Long |
startTime (Read and Write) |
The startTime is the first hour to be used in the analysis. The hour is represented with a number from 0 to 24. | Double |
endTime (Read and Write) |
The endTime is the last hour to be used in the analysis. The hour is represented with a number from 0 to 24. | Double |
Code Sample
Demonstrates how to create a TimeWithinDay class and use it in the AreaSolarRadiation tool within the Python window.
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
myTimeWithinDay = TimeWithinDay(264, 11, 14)
outAreaSolar = AreaSolarRadiation("solar_dem", "", "", myTimeWithinDay)
outAreaSolar.save("C:/sapyexamples/output/areasolartwd")
Calculates the incoming solar radiation with the AreaSolarRadiation tool using the TimeWithinDay class.
# Name: TimeWithinDay_Ex_02.py
# Description: Execute AreaSolarRadiation using the TimeWithinDay object
# 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 = "solar_dem"
# Create TimeWithinDay Object
day = 100
startTime = 0
endTime = 24
myTimeWithinDay = TimeWithinDay(day, startTime, endTime)
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute AreaSolarRadiation
outAreaSolar = AreaSolarRadiation(inRaster, "", 200, myTimeWithinDay, 14, 0.5,
"NOINTERVAL", 1, "FROM_DEM", 32, 8, 8,
"UNIFORM_SKY", 0.3, 0.5)
# Save the output
outAreaSolar.save("C:/sapyexamples/output/areasolartwd2")