TimeWithinDay (arcpy.sa)
Резюме
Задает период времени в течение одного дня для выполнения солнечных расчетов. Указываются день по юлианскому календарю, начальное время и конечное время.
Обсуждение
Данный объект может быть использован в следующих инструментах: Область солнечного излучения (Area Solar Radiation), Точки солнечного излучения (Points Solar Radiation) и Графики солнечного излучения (Solar Radiation Graphics).
Когда значения startTime и endTime одинаковы, рассчитывается мгновенная инсоляция. При значениях startTime до восхода солнца и endTime после захода солнца, инсоляция рассчитывается за весь день.
Для однодневных моделей, максимальный диапазон времени составляет один день (24 часа). Вычисления не могут быть выполнены через дни (например, с 12:00 пополудни до 12:00 пополудни следующего дня). Значение startTime должно быть меньше значения endTime.
Для однодневных конфигураций времени время начала и окончания вычислений отображается как солнечное время (единицы измерения: десятичные часы). При преобразовании локального стандартного времени в солнечное, программа использует уравнение времени.
Синтаксис
Параметр | Объяснение | Тип данных |
day |
Значение day является значением дня по юлианскому календарю, от 1 до 365. (Значение по умолчанию — 183 of the Julian calendar) | 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 и его применение в инструменте 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")
Рассчитывает входное солнечное излучения инструментом 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")