Spatial Analyst のライセンスで利用可能。
サマリ
ポイント フィーチャクラスまたはロケーション テーブルの特定位置での日射量を出力します。
使用法
入力位置には、ポイント フィーチャクラスまたはポイント座標のテーブルを使用できます。使用できるテーブルは、ジオデータベース テーブル、*.dbf ファイル、INFO テーブル、またはテキスト テーブル ファイルです。
テーブルで位置を入力する場合、位置のリストを 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
複数の日数間の解析における最大日数は、合計で 1 年 (365 日または、うるう年の 366 日) になります。開始日の数字が終了日よりも大きい場合、時間の計算は翌年に継続されます。
たとえば、[開始日、最終日] = [365、31] は、12 月 31 日から翌年の 1 月 31 日までを表します。また、[1、2] では、時間には最初の日の 0:00 (1 月 1 日) から 0:00 (1 月 2 日) までが含まれます。開始日と終了日に同じ値を使用することはできません。
時間設定における年の値は、うるう年を指定するためのもので、 日射量解析に対するその他の影響はありません。この理由は、計算がユリウス日により算出される期間を示す関数だからです。
1 日内での解析における最大時間は 1 日 (24 時間) です。たとえば、午後 12:00 から翌日の午後 12:00 までというように日をまたいだ計算は行われません。開始時間の数字は終了時間よりも小さくなければなりません。
サーフェスの Z 単位が地表面の X、Y の単位と異なる場合、正しく計算するためには Z 値の倍率を使用することが重要です。正確な結果を得るためには、Z 単位は X、Y の単位と等しくなければなりません。単位が等しくない場合には、Z 係数を使用して Z 単位を X、Y 単位に変換します。たとえば、X と Y の単位がメートルであり、Z 単位がフィートの場合、Z 係数 0.3048 を使用して Z 単位をフィートからメートルへ変換します。
投影座標系内でメートル単位でデータを保存することをお勧めします。球面座標系を使用した解析の実行を選択する場合には、その緯度に適した Z 係数を指定する必要があります。次のリストは、X、Y 単位が小数で Z 単位がメートルの場合に使用する適切な 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
高さのオフセットは、メートルで指定する必要があります。
解析の緯度 (単位: 10 進度、北半球では正の値、南半球では負の値) が太陽赤緯と太陽の位置の計算に使用されます。日射量の解析は地域ごとのランドスケープ スケールにのみ適用するよう設計されているため、DEM 全体に対して 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 に組み込まれた人工の構造体を用いる場合は、方位計算の数を増やすことが必要になります。方向の数を増やすことは精度を上げることになりますが、計算時間が増すことにもなります。
[各間隔で出力を作成] チェックボックスは、指定された期間に統合された日射量、または時系列の各間隔での日射量を計算するという柔軟性を提供します。たとえば、間隔が 1 時間に設定された 1 日という期間、このチェックボックスをオンにすると 1 時間おきに日射量の値を作成します。それが行われない場合には、1 日に統合された日射量が計算されます。
[各間隔で出力を作成] パラメーターは、出力フィーチャの属性の数に影響します。ポイント日射量解析をオンにすると、出力フィーチャクラスには追加属性 (t0、t1、t2 など) が含まれ、各期間の日射量や日照時を示します (時間構成が 1 日未満の場合は間隔が時間、複数日の場合は間隔が日)。
地表が受ける日射量は、大気圏外の日射量のほんの一部にすぎません。透過率は大気の特性です。これは、大気の上限部分 (地球の外側) で受け取られるエネルギーのうち、地表まで届いているエネルギーの割合 (すべての波長の長さの透過率の平均値) を示します。値の範囲は、0 (不透過) から 1 (完全透過) です。一般的に、快晴の場合で 0.6 または 0.7、概ね晴れの場合で 0.5 の観測値が得られます。
地表で受け取られるエネルギーの値は、大気を通過する最短経路 (つまり、太陽が頂点または真上にある)、および海面と同じ高さにいるときの値です。南回帰線および北回帰線を超えたエリアでは、正午のときでさえ太陽が完全に天頂に来ることはありませんが、それでもこの値は、太陽が頂点に来ていることを示します。アルゴリズムは標高の影響を考慮するため、透過率は常に海面に設定されなければなりません。
透過率は、散乱率パラメーターと逆相関関係にあります。
このツールに適用されるジオプロセシング環境の詳細については、「解析環境と Spatial Analyst」をご参照ください。
構文
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 | 各位置に対して計算した、全天日射量または日射量 (直達 + 散乱) を表す出力フィーチャクラス。 出力の単位は、1 平方メートルあたりのワット時 (WH/m2) です。 | Feature Class |
height_offset (オプション) | 計算が実行される DEM サーフェス上の高さ (メートル単位) 高さオフセットは、すべての入力位置に適用されます。 | Double |
latitude (オプション) | 解析エリアの緯度。単位は 10 進度で、北半球では正の値、南半球では負の値で表されます。 空間参照を含む入力サーフェス ラスターに対しては、平均緯度が自動的に計算されます。空間参照を含まない場合、緯度はデフォルトの 45 度に設定されます。 | Double |
sky_size (オプション) | 可視領域、天空図、太陽軌道図ラスターの解像度または天空サイズ。単位はセルです。 デフォルトでは、200 x 200 セルのラスターが作成されます。 | Long |
time_configuration (オプション) | 日射量の計算に使用する時間設定 (期間) を指定します。 Time クラス オブジェクトは、時間設定を指定するために使用します。 使用可能な時間設定のタイプは、TimeWithinDay、TimeMultiDays、TimeSpecialDays、および TimeWholeYear です。 形式は次のとおりです。
デフォルトの時間設定は TimeMultiDays で、現在のユリウス年の startDay が 5、endDay が 160 に設定されます。 | Time configuration |
day_interval (オプション) | 1 年間の時間間隔 (単位: 日) 太陽軌道図の天空のセクターの計算のために使用されます。 デフォルト値は 14 (隔週) です。 | Long |
hour_interval (オプション) | 1日間の時間間隔(単位: 時間)太陽軌道図の天空のセクターの計算のために使用されます。 デフォルト値は 0.5 です。 | Double |
each_interval (オプション) | すべての位置に対して、1 つの総日射量の値を計算するか、または特定の時間と日にちの間隔で複数の値を計算するかを指定します。
| Boolean |
z_factor (オプション) | サーフェス Z 単位あたりの地表 X、Y 単位の数。 Z 単位の測定基準が入力サーフェスの XY 単位と異なる場合、Z 係数を使用して Z 計測単位を調整します。最終的な出力サーフェスを計算する際、入力サーフェスの Z 値に Z 係数が乗算されます。 XY 単位と Z 単位の測定基準が同じ場合、Z 係数は 1 (デフォルト値) になります。 XY 単位と Z 単位の測定基準が異なる場合は、Z 係数に適切な値を設定する必要があります。Z 係数が適切でないと、正しい結果が得られません。 たとえば、Z 単位がフィートであり、XY 単位がメートルの場合、Z 係数 0.3048 を使用して Z 単位をフィートからメートルへ変換します (1 フィート = 0.3048 メートル)。 | Double |
slope_aspect_input_type (オプション) | 解析のために、傾斜角と傾斜方向の情報を得る方法
| String |
calculation_directions (オプション) | 可視領域の計算に使用する方位角の数 有効な値は 8 の倍数 (8、16、24、32 など) でなければなりません。デフォルト値は 32 方向で、複雑な地形に適しています。 | Long |
zenith_divisions (オプション) | 天空図内の天空のセクターを作成するために使用する分割数 デフォルトは 8 分割 (天頂への相対) です。値は 0 より大きく、天空サイズの値の半分よりも小さくなければなりません。 | Long |
azimuth_divisions (オプション) | 天空図内の天空のセクターを作成するために使用する分割数 デフォルトは 8 分割 (北から) です。有効な値は 8 の倍数でなければなりません。値は 0 より大きく 160 より小さくなければなりません。 | Long |
diffuse_model_type (オプション) | 散乱日射モデルのタイプ
| String |
diffuse_proportion (オプション) | 全天標準日射量のうち散乱する比率。値の範囲は、0 から 1 です。 この値は大気の状態に従って設定しなければなりません。デフォルト値は、一般的に晴れの場合で 0.3 です。 | Double |
transmittivity (オプション) | 大気を通過する日射量の一部 (波長全体での平均値)。値の範囲は、0 (不透過) から 1 (完全透過) です。 デフォルト値は、一般的に晴れの場合で 0.5 です。 | Double |
out_direct_radiation_features (オプション) | 各位置での直達日射量を表す出力フィーチャクラス。 出力の単位は、1 平方メートルあたりのワット時 (WH/m2) です。 | Feature Class |
out_diffuse_radiation_features (オプション) | 各位置での散乱日射量を表す出力フィーチャクラス。 出力の単位は、1 平方メートルあたりのワット時 (WH/m2) です。 | Feature Class |
out_direct_duration_features (オプション) | 直達日射量の期間を表す出力フィーチャクラス。 出力の単位は時間です。 | Feature Class |
コードのサンプル
PointsSolarRadiation (ポイントから日射量を抽出) の例 1 (Python ウィンドウ)
次の Python ウィンドウ スクリプトは、このツールを使用する方法を示しています。
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