Spatial Analyst のライセンスで利用可能。
概要
直達日射、散乱日射、および全天日射の計算に使用する全天可視領域、太陽軌道図、全天分割図を表示するラスターを出力します。
使用法
[日射量のグラフィックス (Solar Radiation Graphics)] ツールの出力はラスター表現で、エリアまたはポイントの日射量解析の出力に対応するマップではありません。この出力は、指定した位置から上方向の半球の方向を示します。半球の投影では、中心が天頂、円形マップ表現のエッジが水平線で、天頂からの角度が半径に比例します。半球の投影は地理座標系を持たず、左下隅が (0,0) になります。
DEM のすべての位置に対して可視領域を格納することは実際的ではないため、入力位置が指定されていない場合、入力サーフェス ラスターの中心に対して 1 つの可視領域が作成されます。入力ポイント フィーチャまたはロケーション ファイルが指定されている場合、各入力位置の複数の可視領域ラスターが作成されます。複数の位置を指定した場合、出力はマルチバンド ラスターになり、その各バンドは特定の位置の可視領域に対応します。
入力位置テーブルは、ポイント フィーチャクラスまたはポイント座標のテーブルを使用できます。テーブルで位置を入力する場合、位置のリストを X,Y 座標で指定する必要があります。再分類テーブルには、ジオデータベース テーブル、*.dbf ファイル、INFO テーブル、テキスト テーブル ファイルを使用できます。ASCII 座標ファイルを使用する場合、各行に X、Y の組をカンマ、スペース、またはタブで区切って入力します。
出力グラフィックス表示ラスターは、[範囲] または [セル サイズ] の環境設定を使用しません。出力範囲は、必ずそれぞれの天空サイズ/解像度となり、セル サイズは 1 になります。ただし、基になる解析は環境設定を使用し、可視領域の結果に影響を与える可能性があります。
時間構成に年間の太陽の位置のオーバーラップが含まれるかどうかに応じて、1 つまたは 2 つの太陽軌道図を作成できます。2 つの太陽軌道図が作成される場合、一方は冬至から夏至の間を表し、他方は夏至から冬至の間を表します。年によって異なりますが、冬至と夏至は通常、12 月と 6 月の 20 日または 21 日ですが、22 日の年もあります。複数の太陽軌道図が作成される場合、デフォルトの出力はマルチバンド ラスターになります。
解析エリアの緯度 (単位: 10 進度、北半球では正の値、南半球では負の値) が太陽赤緯と太陽の位置などの計算に使用されます。
解析は、地域ごとのランドスケープ スケールにのみ適用するよう設計されます。したがって、通常は DEM 全体に対して 1 つの緯度の値を使用することが可能です。さらに大きなデータセット (州、国、大陸など) を使用する場合、日射量の結果は、緯度ごとに大きく異なります (1 度以上)。このため広範な地理的範囲を分析する場合、解析領域を緯度ごとに異なるゾーンに分割する必要があります。
空間参照を含む入力サーフェス ラスターに対しては、平均緯度が自動的に計算されます。空間参照を含まない場合、緯度はデフォルトの 45 度に設定されます。入力レイヤーを使用する場合には、データ フレームの空間参照が使用されます。
天空サイズは、日射量の計算に使用される可視領域、天空図、太陽軌道図ラスターの解像度です (単位: 一辺のセル数)。これらは地表から見上げた際の天空の上半球のラスター表現であり、地理座標系を持ちません。これらのラスターは正方形 (列と行の数が等しい) です。
天空サイズを増やすと計算の精度が上がりますが、計算時間も大幅に増加します。
「日間隔」設定が小さい (14 日未満など) 場合には、より大きい天空サイズを使用する必要があります。解析において、直達日射量を計算するために、一定期間の太陽の位置 (軌跡) を表す太陽軌道図 (天空サイズによって決定) が使用されます。日間隔が小さい場合、天空サイズの解像度が十分に高くないと、太陽の軌道が重複して、その軌道に対して 0 以下の日射量の値が算出されます。解像度を上げると、より正確な結果を得ることができます。
天空サイズの最大値は 10,000 です。デフォルト値は 200 で、大きめの日間隔 (15 日以上など) でのすべての DEM にとって十分な値です。天空サイズの値が 512 の場合、計算時間があまりかからず、ポイント位置の計算には十分な値です。日間隔が小さい (14 日未満など) 場合、高い値を使用することをお勧めします。たとえば、日間隔 = 1 で赤道位置での日射量を計算する場合、天空サイズ 2,800 以上を使用することをお勧めします。
天空サイズや 1 年のどの時期かによって異なりますが、概して、太陽軌道は 3 日以内では同じ場所を通るため、日間隔は 4 日以上にすることをお勧めします。一月間隔で一年間の計算を行う場合には、日間隔は使用できなくなり、プログラムは内部でカレンダー月の 1 間隔を使用します。デフォルト値は 14 です。
可視領域の計算は非常に負担のかかるものであるため、水平角は指定された計算方向の数だけをトレースします。有効な値は 8 の倍数 (8、16、24、32 など) でなければなりません。一般的に、8 または 16 は、なだらかな地形に適しています。これに対し、32 は、複雑な地形に適しています。デフォルト値は 32 です。デフォルト値は 32 です。
必要とされる方位計算の数は、入力 DEM の解像度に関連します。30 メートルの解像度の自然地形は一般的に非常に平坦であるため、ほとんどの状況では条件を満たす方向はさらに少なくなります (16 または 32)。より解像度の高い DEM を使用する場合や、特に DEM に組み込まれた人工の構造体を用いる場合は、方位計算の数を増やすことが必要になります。方向の数を増やすことは精度を上げることになりますが、計算時間が増すことにもなります。
このツールに適用されるジオプロセシング環境の詳細については、「解析環境と Spatial Analyst」をご参照ください。
構文
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 (オプション) | 解析エリアの緯度。単位は 10 進度で、北半球では正の値、南半球では負の値で表されます。 空間参照を含む入力サーフェス ラスターに対しては、平均緯度が自動的に計算されます。空間参照を含まない場合、緯度はデフォルトの 45 度に設定されます。 | Double |
time_configuration (オプション) | 日射量の計算に使用する時間設定 (期間) を指定します。 Time クラス オブジェクトは、時間設定を指定するために使用します。 使用可能な時間設定のタイプは、TimeWithinDay、TimeMultipleDays、TimeSpecialDays、および TimeWholeYear です。 形式は次のとおりです。
デフォルトの時間設定は TimeMultipleDays で、現在のユリウス年の startDay が 5、endDay が 160 に設定されます。 | Time configuration |
day_interval (オプション) | 1 年間の時間間隔 (単位: 日) 太陽軌道図の天空のセクターの計算のために使用されます。 デフォルト値は 14 (隔週) です。 | Long |
hour_interval (オプション) | 1 日の時間間隔 (単位: 時間) 太陽軌道図の天空のセクターの計算のために使用されます。 デフォルト値は 0.5 です。 | Double |
out_sunmap_raster (オプション) | 出力太陽軌道図ラスター。 出力は、太陽の軌道、つまり時間で変化する見かけの太陽の位置を指定する表現です。出力は、可視領域や全天分割図と同じ解像度です。 | Raster Dataset |
zenith_divisions (オプション) | 天空図内の天空のセクターを作成するために使用する分割数 デフォルトは 8 分割 (天頂への相対) です。値は 0 より大きく、天空サイズの値の半分よりも小さくなければなりません。 | Long |
azimuth_divisions (オプション) | 天空図内の天空のセクターを作成するために使用する分割数 デフォルトは 8 分割 (北から) です。有効な値は 8 の倍数でなければなりません。値は 0 より大きく 160 より小さくなければなりません。 | Long |
out_skymap_raster (オプション) | 出力天空図ラスター。 出力は、天頂分割と方位分割によって定義される一連の天空域に全天空域を分割することで構築されます。出力は、可視領域や太陽軌道図と同じ解像度です。 | Raster Dataset |
戻り値
名前 | 説明 | データ タイプ |
out_viewshed_raster | 出力の可視領域ラスター。 ある位置の出力となる可視領域は、可視の天空の方向と可視でない方向を表します。これは、上半球 (魚眼) の写真によって提供される表示に似ています。 | Raster |
コードのサンプル
SolarRadiationGraphics (日射量のグラフィックス) の例 1 (Python ウィンドウ)
次の Python ウィンドウ スクリプトは、このツールの使用方法を示しています。
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")
環境
ライセンス情報
- Basic: 次のものが必要 Spatial Analyst
- Standard: 次のものが必要 Spatial Analyst
- Advanced: 次のものが必要 Spatial Analyst