Точки солнечного излучения (Points Solar Radiation) (Spatial Analyst)
Резюме
Вычисляет поступающее солнечное излучение для конкретных местоположений в классе точечных объектов или таблице местоположений.
Использование
-
Входные местоположения могут быть представлены классом пространственных объектов либо таблицей. Таблица может быть таблицей INFO, файлом формата .dbf, таблицей Access, либо файлом текстовой таблицы.
-
При вводе местоположений через использование таблицы, список точек должен быть задан с использованием координат x,y. При использовании файла координат каждая строка должна содержать пару координат x,y, разделенных пробелом или знаком табуляции. Ниже приведен пример:
X Y 325541.218750 4314768.5 325169.250000 4313907.0 325874.031250 4313134.0 325825.093750 4314181.5
В качестве альтернативы вы можете задать в таблице местоположений уклоны (в градусах) и экспозицию. Наряду с координатами x,y, файл должен содержать значение уклона и экспозиции для каждого местоположения. Ниже приведен пример:
x y slope aspect 325541.218750 4314768.5 15.84516716 310.2363586 325169.250000 4313907.0 39.39801788 2.03503442 325874.031250 4313134.0 16.10847282 223.8308563 325825.093750 4314181.5 8.89850712 205.2011261
-
Для многодневных моделей, максимальное количество дней может быть равно одному году (365 дней, или 366 для високосного года). Если дата первого дня превышает дату последнего дня, вычисления времени будут продолжены с переходом на следующий год.
Например, выражение [start day, end day] = [365, 31] подразумевает временной интервал с 31 декабря до 31 января следующего года. Например, когда параметр определен как [1, 2], в вычислениях будет использован период от первого дня с 0:00 часов (1 января) до 0:00 второго дня (2 января). Даты первого и последнего дня не могут совпадать.
Значение этого года для времени конфигурации используется для определения високосного года. Другого влияния на анализ солнечного излучения оно не имеет, поскольку анализ солнечного излучения является функцией временного периода, определенного днями Юлианского календаря.
-
Для однодневных моделей, максимальный диапазон времени составляет один день (24 часа). Вычисления не могут быть выполнены через дни (например, с 12:00 пополудни до 12:00 пополудни следующего дня). Начальное время должно быть меньше времени окончания.
-
В тех случаях, когда z-значения поверхности выражены в единицах измерения, отличающихся от наземных единиц измерения x,y, для корректировки вычислений используют коэффициента по z. Чтобы получить правильные результаты, единицы z должны быть такими же, как у наземных единиц измерения x,y. Если они отличаются, используйте коэффициент z, чтобы преобразовать единицы z в единицы x,y. Например, если x,y-единицами измерения являются метры, а z-единицами – футы, то можно использовать z-коэффициент 0,3048 для преобразования футов в метры.
-
Рекомендуется использовать данные, представленные в системе координат проекции (единицы измерения – метры). Однако, если вы запустите анализ со сферической системой координат, вам нужно будет задать соответствующий z-фактор для широты. Если единицы измерения ваших координат x,y – десятичные градусы, а единицы измерения по z – метры, вам нужно выполнить преобразование.
Latitude Z-factor 0 0.00000898 10 0.00000912 20 0.00000956 30 0.00001036 40 0.00001171 50 0.00001395 60 0.00001792 70 0.00002619 80 0.00005156
-
Сдвиг по высоте может быть задан только в метрах.
-
Широта изучаемой области (единицы измерения: десятичные градусы, значения положительные для северного полушария и отрицательные для южного полушария). Поскольку методика анализа солнечного излучения разработана для ландшафтов локального уровня, допускается использование одного значения широты для всей ЦМР. Для более обширных географических регионов, необходимо разделить изучаемую территорию на зоны с различными широтами.
-
Для входных растров поверхности, имеющих пространственную привязку, автоматически вычисляется средняя широта; в противном случае, значение широты по умолчанию будет равно 45 градусам. Если вы работаете с входным слоем, используется пространственная привязка фрейма данных.
-
Размер неба определяется разрешением растров видимости, карты неба и карты солнца, которые используются в вычислениях радиации (единицы измерения: ячейки на одну сторону) Это перевернутые полусферические растровые представления неба, которые не привязаны к географической системе координат. Эти гриды представляют собой квадраты (равное количество строк и столбцов).
Увеличение размера неба повышает точность вычислений, но также значительно увеличивает время, необходимое на выполнение вычислений.
-
Если параметр дневной интервал маленький (например, < 14 дней), то следует использовать больший размер неба. В ходе анализа для вычисления прямого излучения для представления положения солнца (траекторий движения солнца для конкретных временных периодов) используется карта солнца (определяемая размером неба). При еще меньших интервалах (в днях), если разрешение размера неба недостаточно велико, траектории солнца могут перекрываться, в результате чего для этих траекторий радиация будет равна нулю или ее величины будут незначительны. Увеличение разрешения дает более точный результат.
-
Максимальное значение размера неба – 10000. Значение 200 – это значение по умолчанию, и оно достаточно для больших ЦМР с большими временными интервалами (например, > 14 дней). Значение размера 512 достаточно для вычислений в местоположении точки, где время вычисления – менее важная проблема. В меньших дневных интервалах (например, < 14 дней), рекомендуется использовать большие значения. Например, чтобы вычислить инсоляцию для местоположения на экваторе с временным интервалом = 1 день, рекомендуется использовать размер неба, равный 2800 или выше.
-
Рекомендуется использовать временные интервалы длиннее 3 дней, так как траектории движения солнца в пределах трех дней, как правило, пересекаются, в зависимости от размера неба и времени года. Для вычислений инсоляции за весь год с месячным интервалом, временной интервал, выраженный в днях, не используется, и программа внутренне применяет интервалы календарного месяца. Значение, предлагаемое по умолчанию, равно 14.
-
Поскольку вычисления видимости могут быть достаточно интенсивными, для целого ряда заданных направлений вычислений отслеживаются только горизонтальные углы. Действительные значения должны быть множителями 8 (8, 16, 24, 32 и так далее). Как правило, для областей с мягким рельефом подходит значение 8 или 16, в то время как значение 32 должно быть использовано для территорий с сильно расчлененным рельефом. Значение, предлагаемое по умолчанию, равно 32.
-
Число необходимых направлений вычислений связано с разрешением входной ЦМР. Модель земной поверхности с разрешением 30 м обычно представляет довольно сглаженную поверхность, следовательно, для большинства ситуаций достаточно использовать меньшее количество направлений (16 или 32). Для ЦМР с более высоким разрешением, и в особенности, для тех случаев, когда в ЦМР отражены искусственные структуры, количество направлений необходимо увеличить. Увеличение количества направлений повысит точность, но при этом возрастет и время, необходимое на выполнение вычислений.
-
Опция Создавать выходные данные для каждого интервала (Create outputs for each interval) обеспечивает гибкость вычисления совокупной радиации за установленный период времени либо радиации временной серии. Например, для временного интервала в один день с часовым интервалом, отметка в этом окошке приведет к созданию почасовых значений радиации; в противном случае, будет вычислена суммарная радиации для всего дня.
-
Опция «Для каждого интервала» влияет на число атрибутов для выходных объектов. Если опция «Точки солнечного излучения» включена, выходной класс пространственных объектов включает дополнительные атрибуты (t0, t1, t2, и так далее), которые указывают на значения излучения или его продолжительность для каждого временного интервала (часового интервала в тех случаях, когда временной интервал составляет меньше одного дня, либо интервала в один день, в тех случаях, когда временной интервал составляет несколько дней).
-
Объем солнечного излучения, полученного поверхностью, – это только часть излучения, полученного за пределами атмосферы. Удельный коэффициент пропускания является свойством атмосферы и представляет собой соотношение энергии, полученной на верхней границе атмосферы к энергии, достигающей поверхности Земли по кратчайшему пути (в направлении зенита), усредненную по всем длинам волн. Типичные значения находятся в диапазоне от 0 (нет пропускания радиации) до 1 (полное пропускание). Типичные значения – 0,6 или 0,7 для очень ясного неба и 0,5 для, в целом, ясного неба.
Т.к. алгоритм корректирует эффекты рельефа, удельный эффект пропускания всегда должен быть дан для уровня моря. Пропускная способность обратно пропорциональна параметру доли рассеивания.
Синтаксис
Параметр | Объяснение | Тип данных |
in_surface_raster |
Входной растр рельефа поверхности. | Raster Layer |
in_points_feature_or_table |
Входной класс точечных объектов или таблица, определяющая местоположения, для которых будет выполнен анализ солнечного излучения. | Feature Layer | Table View |
out_global_radiation_features |
Выходной класс объектов, представляющий совокупное излучение или общее количество поступающего солнечного излучения (прямого + рассеянного), вычисляемого для каждого местоположения. Выходные данные измеряются в ваттах на квадратный метр в час (Вт/м2). | Feature Class |
height_offset (дополнительно) |
Высота (в метрах) над поверхностью ЦМР, для которой будут выполнены вычисления. Смещение по высоте будет применено ко всем входным местоположениям. | Double |
latitude (дополнительно) |
Широта изучаемой области. Единицы – десятичные градусы, где положительные значения – для северного полушария, а отрицательные – для южного. Для входных растров поверхности, имеющих пространственную привязку, автоматически вычисляется средняя широта; в противном случае, значение широты по умолчанию будет равно 45 градусам. | Double |
sky_size (дополнительно) |
Разрешение или размер неба для гридов видимости, карты неба и карты солнца. Единицами являются ячейки. По умолчанию будет создан растр размером 200 x 200 ячеек. | Long |
time_configuration (дополнительно) |
Задает конфигурацию времени (период), используемую для вычисления солнечного излучения. Время (Time) используются для определения конфигурации времени. Существуют различных конфигурации типов времени Время внутри дня, Время множества дней, Время особых дней, и Время целого года. Ниже приведены формы:
По умолчанию конфигурация времени – TimeMultiDays, где start_day равен 5, а end_day равен 160, для текущего года по Юлианскому календарю. | Time configuration |
day_interval (дополнительно) |
Временной интервал в течение года (единицы: дни) используется для вычисления секторов неба для карты солнечного освещения. Значение по умолчанию равно 14 дням (две недели). | Long |
hour_interval (дополнительно) |
Временной интервала в течение года (единицы: часы) используется для вычисления секторов неба для карты солнечного освещения. Значение, предлагаемое по умолчанию, равно 0.5. | Double |
each_interval (дополнительно) |
Задает, нужно ли вычислять одно значение полной инсоляции для всех ячеек или несколько значений для заданного часового или дневного интервала.
| Boolean |
z_factor (дополнительно) |
Число наземных единиц измерения координат x,y в одной единице измерения z-значения поверхности. Коэффициент z (z-factor) приводит в соответствие единицы измерения z-значений в том случае, если они отличаются от единиц измерения координат x,y входной поверхности. При вычислении результирующей выходной поверхности z-значения входной поверхности умножаются на коэффициент по z. Если координаты x,y и z-значения приведены в одной и той же системе координат, коэффициент z равен 1. Это значение используется по умолчанию. Если координаты x,y и z-значения приведены в отличающихся единицах измерения, для коэффициента по z должно быть задано соответствующее значение, или же результаты будут некорректными. Например, если единицы измерения для z-значений – футы, а координаты x,y приведены в метрах, для преобразования z-значений из футов в метры вы должны использовать коэффициент по z, равный 0.3048 (1 фут = 0.3048 метра). | Double |
slope_aspect_input_type (дополнительно) |
Как можно получить информацию об уклоне и экспозиции для анализа.
| String |
calculation_directions (дополнительно) |
Число азимутных направлений, используемых при вычислении видимости. Действительные значения должны быть множителями 8 (8, 16, 24, 32 и так далее). Значение по умолчанию – 32 направления; это значение хорошо подходит для сложной топографии. | Long |
zenith_divisions (дополнительно) |
Число делений, используемых для создания секторов неба на карте неба. Значение по умолчанию равно восьми делениям (относительно зенита). Значения должны быть больше нуля и меньше, чем половина значения размера неба. | Long |
azimuth_divisions (дополнительно) |
Число делений, используемых для создания секторов неба на карте неба. Значение по умолчанию равно восьми делениям (относительно севера). Корректное значение должно быть кратно 8. Значения должны быть больше нуля и меньше 160. | Long |
diffuse_model_type (дополнительно) |
Тип модели рассеивания радиации.
| String |
diffuse_proportion (дополнительно) |
Доля совокупного потока радиации, которая рассеивается. Значения находятся в диапазоне от 0 до 1. Это значение должно устанавливаться в соответствии с атмосферными условиями. Значение по умолчанию равно 0.3 и соответствует, в целом, ясному небу. | Double |
transmittivity (дополнительно) |
Доля радиации, проходящей через атмосферу (усредненная для всех длин волн). Значения находятся в диапазоне от 0 (нет пропускания) до 1 (полное пропускание радиации). Значение по умолчанию равно 0.5 и соответствует, в целом, ясному небу. | Double |
out_direct_radiation_features (дополнительно) |
Выходной класс объектов, представляющий прямое солнечное излучение для каждого местоположения. Выходные данные измеряются в ваттах на квадратный метр в час (Вт/м2). | Feature Class |
out_diffuse_radiation_features (дополнительно) |
Выходной класс объектов, представляющий прямое рассеянное солнечное излучение для каждого местоположения. Выходные данные измеряются в ваттах на квадратный метр в час (Вт/м2). | Feature Class |
out_direct_duration_features (дополнительно) |
Выходной класс объектов, представляющий продолжительность прямого солнечного излучения. Единицы измерения выходных данных – часы. | Feature Class |
Пример кода
На следующем скрипте Python Window показано, как использовать инструмент Точки солнечного излучения (Points Solar Radiation).
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
PointsSolarRadiation("elevation", "observers.shp",
"c:/sapyexamples/output/outglobalrad1.shp", "", 35, 200,
TimeMultipleDays(2009, 91, 212), 14, 0.5,"NOINTERVAL",
1, "FROM_DEM", 32, 8, 8,"STANDARD_OVERCAST_SKY", 0.3, 0.5,
"c:/sapyexamples/output/outdirectrad1.shp",
"c:/sapyexamples/output/outdiffuserad1.shp",
"c:/sapyexamples/output/outduration1.shp")
Вычислить прямое солнечное излучение для определенного точечного местоположения.
# PointsSolarRadiation_Example02.py
# Description: For all point locations, calculates total global, direct,
# diffuse and direct duration solar radiation for a whole year.
# 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"
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Set local variables
inRaster = "elevation"
inPntFC = "observers.shp"
outFeatures = "c:/sapyexamples/output/outglobal1.shp"
latitude = 35.75
skySize = 200
timeConfig = TimeMultipleDays(2009, 91, 212)
dayInterval = 14
hourInterval = 0.5
zFactor = 0.3048
calcDirections = 32
zenithDivisions = 8
azimuthDivisions = 8
diffuseProp = 0.3
transmittivity = 0.5
outDirectRad = "C:/sapyexamples/output/outdirectrad1.shp"
outDiffuseRad = "C:/sapyexamples/output/outdiffuserad1.shp"
outDirectDur = "C:/sapyexamples/output/outduration1.shp"
# Execute PointsSolarRadiation...
PointsSolarRadiation(inRaster, inPntFC, outFeatures, "", latitude, skySize,
timeConfig, dayInterval, hourInterval, "INTERVAL",
zFactor, "FROM_DEM", calcDirections, zenithDivisions,
azimuthDivisions,"STANDARD_OVERCAST_SKY", diffuseProp,
transmittivity, outDirectRad, outDiffuseRad, outDirectDur)