TimeWithinDay (arcpy.sa)
Récapitulatif
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.
Syntaxe
Paramètre | Explication | Type de données |
day |
The day is a Julian day value from 1 to 365. (La valeur par défaut est 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. (La valeur par défaut est 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. (La valeur par défaut est 24) | Double |
Propriétés
Propriété | Explication | Type de données |
day (Lecture/écriture) |
The day is a Julian day value from 1 to 365. | Long |
startTime (Lecture/écriture) |
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 (Lecture/écriture) |
The endTime is the last hour to be used in the analysis. The hour is represented with a number from 0 to 24. | Double |
Exemple de code
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")