Доступно с лицензией Spatial Analyst.
Краткая информация
Задает период времени в течение одного дня для выполнения солнечных расчетов. Указываются день по юлианскому календарю, начальное время и конечное время.
Описание
Данный объект может быть использован в следующих инструментах: Область солнечного излучения (Area Solar Radiation), Точки солнечного излучения (Points Solar Radiation) и Графики солнечного излучения (Solar Radiation Graphics).
Когда значения startTime и endTime одинаковы, рассчитывается мгновенная инсоляция. При значениях startTime до восхода солнца и endTime после захода солнца, инсоляция рассчитывается за весь день.
Для однодневных моделей, максимальный диапазон времени составляет один день (24 часа). Вычисления не могут быть выполнены через дни (например, с 12:00 пополудни до 12:00 пополудни следующего дня). Значение 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 (чтение и запись) | Значение day является значением дня по юлианскому календарю, от 1 до 365. | Long |
startTime (чтение и запись) | Значение startTime означает час, с которого начинается анализ. Значение часа представлено числом от 0 до 24. | Double |
endTime (чтение и запись) | Значение endTime означает час окончания анализируемого периода. Значение часа представлено числом от 0 до 24. | Double |
Пример кода
Пример TimeWithinDay №1 (окно Python)
Иллюстрирует создание класса иTimeWithinDay и его применение в инструменте AreaSolarRadiation в окне Python.
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 №2 (автономный скрипт)
Рассчитывает входное солнечное излучения инструментом 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)
# 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")