太阳辐射图 (空间分析)

摘要

获得用于计算直接太阳辐射、散射太阳辐射和整体太阳辐射的半球视域、太阳图和星空图的栅格表达。

用法

语法

SolarRadiationGraphics (in_surface_raster, {in_points_feature_or_table}, {sky_size}, {height_offset}, {calculation_directions}, {latitude}, {time_configuration}, {day_interval}, {hour_interval}, {out_sunmap_raster}, {zenith_divisions}, {azimuth_divisions}, {out_skymap_raster})
参数说明数据类型
in_surface_raster

输入高程面栅格数据。

Raster Layer
in_points_feature_or_table
(可选)

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

Feature Layer | Table View
sky_size
(可选)

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

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

Long
height_offset
(可选)

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

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

Double
calculation_directions
(可选)

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

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

Long
latitude
(可选)

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

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

Double
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
out_sunmap_raster
(可选)

输出太阳图栅格。

该输出是指定太阳轨迹(即,太阳随着时间的推移而发生变化时所处的明显位置)的栅格表达。该输出的分辨率与视域和星空图相同。

Raster Dataset
zenith_divisions
(可选)

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

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

Long
azimuth_divisions
(可选)

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

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

Long
out_skymap_raster
(可选)

输出星空图栅格。

可通过将整个星空分成一系列由天顶分割和方位角分割定义的天空扇区来构造输出。该输出的分辨率与视域和太阳图相同。

Raster Dataset

返回值

名称说明数据类型
out_viewshed_raster

输出视域栅格。

生成的某一位置的视域表示哪些星空方向可见,哪些星空方向模糊不清。这与通过仰视半球(“鱼眼镜头”)照片提供的视角类似。

Raster

代码示例

SolarRadiationGraphics 示例 1(Python 窗口)

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

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outViewshedMap = SolarRadiationGraphics("elevation", "observers.shp", 200, 2, 32, 52,
                                 TimeMultipleDays(2009, 91, 212), 14, 0.5, 
                                 "c:/sapyexamples/output/sunmap", 8, 8, 
                                 "c:/sapyexamples/output/skymap")
outViewshedMap.save("c:/sapyexamples/output/viewmap")
SolarRadiationGraphics 示例 2(独立脚本)

创建用于太阳辐射分析的视域、太阳图和星空图。

# Name: SolarRadiationGraphics_Ex_02.py
# Description: Derives raster representations of a hemispherical viewshed, 
#    sunmap, and skymap, which are used in the calculation of direct, diffuse, 
#    and global solar radiation.
# 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 = "elevation"
pntFC = "observers.shp"
skySize = 200
zOffset = 2
directions = 32
latitude = 52
timeConfig = TimeMultipleDays(2009, 91, 212)
dayInterval = 14
hourInterval = 0.5
outSunMap = "c:/sapyexamples/output/sunmap"
zenDivisions = 8
aziDivisions = 8
outSkyMap = "c:/sapyexamples/output/skymap"

# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")

# Execute SolarRadiationGraphics
outViewshedMap = SolarRadiationGraphics(inRaster, pntFC, skySize, zOffset, 
                                    directions, latitude, timeConfig,
                                    dayInterval, hourInterval, outSunMap,
                                    zenDivisions, aziDivisions, outSkyMap)

# Save the output
outViewshedMap.save("c:/sapyexamples/output/viewmap")

环境

相关主题

许可信息

ArcView: 需要 Spatial Analyst
ArcEditor: 需要 Spatial Analyst
ArcInfo: 需要 Spatial Analyst

7/10/2012