需要 Spatial Analyst 许可。
摘要
定义一天内的时间段以进行太阳能计算。指定儒略日、起始时间和结束时间。
说明
此对象可用于以下工具:太阳辐射区域、太阳辐射点和太阳辐射图。
当 startTime 和结束时间相同时,将计算瞬时日照。当 startTime 在日出前而 endTime 在日出后时,将计算全天日照。
对于“日内”时间配置,最大时间范围为一天(24 小时)。计算不会跨天执行(例如,从 12:00 p.m. 到第二天的 12:00 p.m.)。startTime 必须小于 endTime。
对于日内时间配置,开始和结束时间均显示为太阳时(单位:十进制小时)。将本地标准时转换成太阳时时,此程序会考虑均时差。
语法
TimeWithinDay ({day}, {startTime}, {endTime})
参数 | 说明 | 数据类型 |
day | day 是从 1 到 365 的儒略日值。 (默认值为 183) | Long |
startTime | startTime 是分析中要使用的第一个小时。该小时以 0 到 24 的数字表示。 (默认值为 0) | Double |
endTime | endTime 是分析中要使用的最后一个小时。该小时以 0 到 24 的数字表示。 (默认值为 24) | Double |
属性
属性 | 说明 | 数据类型 |
day (可读写) | 天是从 1 到 365 的儒略日值。 | Long |
startTime (可读写) | startTime 是分析中要使用的第一个小时。该小时以 0 到 24 的数字表示。 | Double |
endTime (可读写) | endTime 是分析中要使用的最后一个小时。该小时以 0 到 24 的数字表示。 | Double |
代码示例
演示如何创建 TimeWithinDay 类以及如何在 Python 窗口的 AreaSolarRadiation 工具中使用该类。
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")
通过 AreaSolarRadiation 工具使用 TimeWithinDay 类计算入射太阳辐射。
# 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)
# 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")