太阳辐射点 (空间分析)

许可等级:BasicStandardAdvanced

摘要

获得点要素类或位置表中特定位置的入射太阳辐射。

了解有关太阳辐射的计算方式的详细信息

用法

语法

PointsSolarRadiation (in_surface_raster, in_points_feature_or_table, out_global_radiation_features, {height_offset}, {latitude}, {sky_size}, {time_configuration}, {day_interval}, {hour_interval}, {each_interval}, {z_factor}, {slope_aspect_input_type}, {calculation_directions}, {zenith_divisions}, {azimuth_divisions}, {diffuse_model_type}, {diffuse_proportion}, {transmittivity}, {out_direct_radiation_features}, {out_diffuse_radiation_features}, {out_direct_duration_features})
参数说明数据类型
in_surface_raster

输入高程面栅格数据。

Raster Layer
in_points_feature_or_table

指定位置以分析太阳辐射的输入点要素类或表。

Feature Layer | Table View
out_global_radiation_features

用于表示为每个位置所计算的全局辐射或日照入射量(直射 + 散射)的输出要素类。

输出单位为瓦特小时每平方米 (WH/m2)。

Feature Class
height_offset
(可选)

要执行计算的 DEM 表面之上的高度(以米为单位)。

高度偏差将应用到所有输入位置。

Double
latitude
(可选)

位置区域的纬度。单位为十进制度,北半球为正值,南半球为负值。

对于包含空间参考的输入表面栅格数据,会自动计算平均纬度;否则,纬度将默认为 45 度。

Double
sky_size
(可选)

视域、天空图和太阳图格网的分辨率或天空大小。单位为像元。

默认情况下会创建 200 x 200 像元的栅格。

Long
time_configuration
(可选)

指定用于计算太阳辐射的时间配置(时段)。

时间类对象用于指定时间配置。

可用的不同类型的时间配置为:TimeWithinDayTimeMultiDaysTimeSpecialDaysTimeWholeYear

格式如下:

  • TimeWithinDay({day},{start_time},{end_time})
  • TimeMultiDays({year},{start_day},{end_day})
  • TimeSpecialDays()
  • TimeWholeYear({year})

默认时间配置为 TimeMultiDays,其中 start_day 为 5 且 end_day 为 160(当前儒略年)。

Time configuration
day_interval
(可选)

用于为太阳图计算天空分区的一年中的时间间隔(单位:天)。

默认值为 14(两周)。

Long
hour_interval
(可选)

用于为太阳图计算天空分区的一天中的时间间隔(单位:小时)。

默认值为 0.5。

Double
each_interval
(可选)

指定是针对所有位置计算一个总日射值,还是针对指定间隔小时数和间隔天数计算多个值。

  • NOINTERVAL针对整个时间配置计算一个总日照值。这是默认设置。
  • INTERVAL针对整个时间配置中的各时间间隔计算多个辐射值。输出数取决于间隔小时数或间隔天数。例如,使用每月间隔计算整年时,结果将包含针对各位置的 12 个输出辐射值。
Boolean
z_factor
(可选)

一个表面 z 单位中地面 x,y 单位的数量。

z 单位与输入表面的 x,y 单位不同时,可使用 z 因子调整 z 单位的测量单位。计算最终输出表面时,将用 z 因子乘以输入表面的 z 值。

如果 x,y 单位和 z 单位采用相同的测量单位,则 z 因子为 1。这是默认值。

如果 x,y 单位和 z 单位采用不同的测量单位,则必须将 z 因子设置为适当的因子,否则会得到错误的结果。

例如,如果 z 单位是英尺而 x,y 单位是米,则应使用 z 因子 0.3048 将 z 单位从英尺转换为米(1 英尺 = 0.3048 米)。

Double
slope_aspect_input_type
(可选)

如何为分析获取坡度和坡向信息。

  • FROM_DEM 基于输入表面栅格数据计算得出坡度和坡向格网。这是默认设置。
  • FLAT_SURFACE 常数值零用于坡度和坡向。
  • FROM_POINTS_TABLE 可与位置文件中的 x,y 坐标一起指定坡度和坡向的值。
String
calculation_directions
(可选)

计算视域时使用的方位角方向数。

有效值必须是 8 的倍数(8、16、24、32,依此类推)。默认值为 32 个方向,该值适用于复杂地形。

Long
zenith_divisions
(可选)

用于创建天空图中的天空分区的分割数。

默认值为八个分割(相对于天顶)。值必须大于零并且小于天空大小值的一半。

Long
azimuth_divisions
(可选)

用于创建天空图中的天空分区的分割数。

默认值为八个分割(相对于北方)。有效值必须是 8 的倍数。值必须大于零并且小于 160。

Long
diffuse_model_type
(可选)

散射辐射模型的类型。

  • UNIFORM_SKY 均匀散射模型。所有天空方向的入射散射辐射均相同。这是默认设置。
  • STANDARD_OVERCAST_SKY 标准阴天散射模型。入射散射辐射通量随天顶角而变化。
String
diffuse_proportion
(可选)

散射的总正常辐射通量的比例。值的范围介于 0 到 1 之间。

应根据大气条件设置该值。默认值为 0.3,适用于普通晴朗的天空条件。

Double
transmittivity
(可选)

穿过大气层的辐射部分(所有波长的平均值)。值的范围介于 0(无透射)到 1(完全透射)之间。

默认值为 0.5,适用于普通晴朗的天空。

Double
out_direct_radiation_features
(可选)

表示每个位置的直接入射太阳辐射的输出要素类。

输出单位为瓦特小时每平方米 (WH/m2)。

Feature Class
out_diffuse_radiation_features
(可选)

表示每个位置的散射入射太阳辐射的输出要素类。

输出单位为瓦特小时每平方米 (WH/m2)。

Feature Class
out_direct_duration_features
(可选)

表示直接入射太阳辐射的持续时间的输出要素类。

输出单位为小时。

Feature Class

代码实例

PointsSolarRadiation 示例 1(Python 窗口)

以下 Python 窗口脚本演示了 PointsSolarRadiation 工具的使用方法。

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 示例 2(独立脚本)

计算特定点位置的太阳辐射入射量。

# 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)

环境

相关主题

许可信息

ArcGIS for Desktop Basic:需要 Spatial Analyst
ArcGIS for Desktop Standard:需要 Spatial Analyst
ArcGIS for Desktop Advanced:需要 Spatial Analyst
9/15/2013