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

TimeWithinDay ({day}, {startTime}, {endTime})
ParameterExplanationData 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

PropertyExplanationData 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

TimeWithinDay example 1 (Python window)

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")
TimeWithinDay example 2 (stand-alone script)

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

Related Topics

7/16/2013