GeoTIFF ファイルについて

スタックされた 4 つのラスターのレンダリング。

dataLayers エンドポイントは、GeoTIFF ファイルとしてエンコードされたデータを返します。このファイルを地理情報システム(GIS)アプリケーションで使用して、太陽光発電システムを設計できます。

dataLayers レスポンスの各文字列には URL が含まれており、これを使用して対応する GeoTIFF を取得できます。URL は、元のデータレイヤー リクエストから生成された後、最長 1 時間有効です。GeoTIFF ファイルは最長 30 日間保存できます。

RGB レイヤを除き、GeoTIFF ファイルは画像ビューアで正しく表示されません。これは、コンテンツが RGB 画像ではなくエンコードされたデータであるためです。また、GeoTIFF ファイルを、Maps JavaScript API のオーバーレイ画像として直接使用することはできません。

次の表に、各レイヤの詳細を示します。

ピクセル深度 解像度 説明
数値表層モデル(DSM) 32 ビット浮動小数点数 0.1 m/ピクセル 地表の地形を表す標高データ(自然対象物や建物を含む)。値は海抜メートル単位で指定します。無効な場所、またはデータがない地域は、「-9999」として保存されます。
RGB 8 ビット 0.1 m/ピクセル
0.25 m/ピクセル
0.5 m/ピクセル
1 m/ピクセル
地域の航空画像。GeoTIFF 画像ファイルには、各ピクセルの 24 ビット RGB 値を構成するために、赤、緑、青の値に対応する 3 つのバンドが含まれています。

デフォルトのピクセル解像度は 0.1 m/ピクセルです。
建物マスク 1 ビット 0.1 m/ピクセル ピクセルあたり 1 ビット。そのピクセルが屋上に含まれるかどうかを表します。
年間フラックス 32 ビット浮動小数点数 0.1 m/ピクセル 地域の年間フラックス マップ、つまり屋根に付く年間太陽光。値は kWh/kW/年です。

フラックスは建物の屋上だけでなく、すべての場所について計算されます。無効な場所、またはフラックスを計算できなかったエリアは、-9999 として保存されます。対象地域外のロケーションは無効です。

注: これはマスクされていないフラックスです。
1 か月のフラックス 32 ビット浮動小数点数 0.5 m/ピクセル 地域の月次フラックス マップ(屋根に当たる日照、月別に分類)。値は kWh/kW/年です。GeoTIFF 画像ファイルには、12 月から 12 月までの順で 12 個のバンドが含まれています。
1 時間ごとの日陰 32 ビットの整数 1 m/ピクセル 1 月~ 12 月に対応する時間単位のシェードマップの 12 個の URL(順)。

各 GeoTIFF ファイルには、24 時間に対応する 24 のバンドが含まれます。各ピクセルは 32 ビットの整数で、その月の(最大)31 日に対応します。1 ビットは、対応する場所がその月のその日、その時間、太陽を見ることができることを意味します。

無効な場所は -9999 として格納され、ビット 31 が設定されます。これは、月の 32 日に対応するため無効です。

1 時間ごとのシェード ラスターをデコードする

1 時間ごとのシェードデータは、マルチバンド ラスターでエンコードされます。ラスターの基本について詳しくは、Solar API のコンセプトをご覧ください。

1 時間ごとのシェードデータをリクエストすると、最大 12 個のラスターを受け取ることができます(1 月から 12 月までの各月に 1 つずつ)。各ラスターは 24 のレイヤ(バンド)で構成されており、1 日の 24 時間に対応します。

各帯域は、セルの行列(ピクセル)で表されます。各ピクセルの深さは 32 ビットで、その月の(最大)31 日に相当します。したがって、シェードデータの日付、時刻、月をデコードするには、分析するビット、帯域、ラスターを理解する必要があります。

たとえば、6 月 22 日午後 4 時に座標 (x, y) にある特定の場所で太陽が見えたかどうかを特定するには、次のようにします。

  1. 位置 (x, y) のすべてのレイヤのデータレイヤをリクエストします。
  2. 6 月は 6 月であるため、hourlyShadeUrls リストで 6 番目の URL を取得します。
  3. 時間単位のバンドは 24 時間表記です。午後 4 時(16 時)のデータを取得するには、17 番目のチャネルを検索します。
  4. 0 からのビット(日数)インデックス。6 月 22 日のデータを取得するには、ビット 21 を読み取ります。
  5. ビットは、指定された日時にその場所で太陽が映ったかどうかを示すバイナリデータを提供します。ビットが 1 の場合、その場所で太陽が見えています。ビットが 0 の場合、その場所にシェードが表示されます。

次のコードは上記の手順をまとめたものです。

(hourly_shade[month - 1])(x, y)[hour] & (1 << (day - 1))