TimeMultipleDays (arcpy.sa)
Краткая информация
Задает период времени из нескольких дней в определенном году для выполнения солнечных расчетов. Указывается год, начальный и конечный день.
Обсуждение
Данный объект может быть использован в следующих инструментах: Область солнечного излучения (Area Solar Radiation), Точки солнечного излучения (Points Solar Radiation) и Графики солнечного излучения (Solar Radiation Graphics).
Для многодневных моделей, максимальное количество дней может быть равно одному году (365 дней, или 366 для високосного года). Если дата startDay превышает дату endDay, вычисления времени будут продолжены с переходом на следующий год. Например, выражение [startDay, endDay] = [365, 31] подразумевает временной интервал с 31 декабря до 31 января следующего года. Например, когда параметр определен как [1, 2], в вычислениях будет использован период от первого дня с 0:00 часов (1 января) до 0:00 второго дня (2 января). Даты первого startDay и последнего дня endDay не могут совпадать.
Укажите startDay, year и endDay для годового интервала. Когда endDay меньше startDay, то считается, что endDay принадлежит следующему году. Это настройки времени по умолчанию.
Синтаксис
Параметр | Объяснение | Тип данных |
year |
Год по юлианскому календарю. (Значение по умолчанию — the current Julian year) | Long |
startDay |
Значение startDay означает первый день по юлианскому календарю, с которого начинается анализ. (Значение по умолчанию — 5, which is January 5th) | Long |
endDay |
Значение endtDay означает последний день по юлианскому календарю, по которому проводится анализ. (Значение по умолчанию — 160, which is June 9th or 10th, depending if the year is a leap year) | Long |
Свойства
Свойство | Объяснение | Тип данных |
year (чтение и запись) |
Год по юлианскому календарю. | Long |
startDay (чтение и запись) |
Значение startDay означает первый день по юлианскому календарю, с которого начинается анализ. | Long |
endDay (чтение и запись) |
Значение endDay означает последний день анализируемого периода по юлианскому календарю. | Long |
Пример кода
Иллюстрирует создание класса TimeMultipleDays и его использование в инструменте AreaSolarRadiation в окне Python.
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
myTimeMultiDay = TimeMultipleDays(1980, 216, 244)
outAreaSolar = AreaSolarRadiation("solar_dem", "", "", myTimeMultiDay)
outAreaSolar.save("C:/temp/solarouttmd")
Рассчитывает поступающее солнечное излучение с помощью AreaSolarRadiation при использовании класса TimeMultipleDays.
# Name: TimeMultipleDays_Ex_02.py
# Description: Execute AreaSolarRadiation using the TimeMultipleDays 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 TimeMultipleDays Object
year = 2004
startDay = 5
endDay = 6
myTimeMultiDay = TimeMultipleDays(year, startDay, endDay)
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute AreaSolarRadiation using TimeMultipleDays Object
outAreaSolar = AreaSolarRadiation(inRaster, "", 200, myTimeMultiDay, 14, 0.5,
"NOINTERVAL", 1, "FROM_DEM", 32, 8, 8,
"UNIFORM_SKY", 0.3, 0.5)
# Save the output
outAreaSolar.save("C:/sapyexamples/output/areasolartmd2")