Python でのカスタム ラスター タイプの実装

追加するラスター データのタイプに合わせて、Python でラスター タイプをカスタマイズして実装することができます。ラスター タイプは、データに関連付けられたメタデータ構造の形式を認識する一連の関数と比較できます。また、ラスター タイプでメタデータを解析して、データ ファイルへのパス、空間参照情報、メタデータ (センサー名、太陽高度、太陽方位、太陽距離、取得日、放射輝度、および反射率パラメーター) などの情報を取得することもできます。

ラスター タイプでは、メタデータ ファイルからのメタデータ情報の読み取りと解析だけでなく、読み取るデータのタイプに適した処理テンプレートの定義も実行できます。処理テンプレートを使用すると、ソース データのさまざまな情報を組み合わせて、表示と今後の解析に役立つ重要な出力を生成することができます。センサー データに基づくほとんどのラスター タイプでは、マルチスペクトルが処理テンプレートの 1 つとして定義されています。これ以外にも、製品に使用できるデータのタイプに合わせて多数のテンプレートを定義できます。たとえば、Landsat 8 ラスター タイプには、マルチスペクトル、パンクロマティック、パンシャープン、植生、巻雲、雪/氷など、さまざまなテンプレートが定義されています。

Python で実装された ArcGIS ラスター タイプの詳細については、「Github ラスター タイプ」をご参照ください。

ラスター タイプのプロパティ

ラスター タイプを作成するには、そのソース データから次のプロパティのうちの 1 つ以上を定義します。

  • バンド プロパティ - バンド名、最小波長と最大波長、太陽放射照度など。
  • 処理テンプレート - 入力、関数、および値/変数を含むラスター関数テンプレート。
  • 補助フィールド - モザイク データセットに追加されるフィールド。
  • 補助入力 - データ ソースを詳細に記述するためにラスター タイプで必要となる追加情報 (画像をオルソ補正するためにソース データセットに適用される DEM など)。

カスタム ラスター タイプの実装

Python モジュールでラスター タイプを実装する方法の詳細を次に示します。ラスター タイプは、データのさまざまな側面に対するアプリケーションの操作を容易にするレイヤーです。また、ラスター タイプは、[モザイク データセットにラスターを追加 (Add Rasters To Mosaic Dataset)] ツールを使用してモザイク データセットにラスターを追加する場合の中心的要素にもなります。

ArcGIS フレームワークでは、既知のファクトリ パターンを使用してラスター タイプを識別します。ラスター タイプ ファクトリには、ラスター タイプのコレクションが保持されています。このコレクションは、特定の条件に基づいて整理することも、単にすべてのラスター タイプを保持しておくだけのコンテナーにすることもできます。

Python で実装されるラスター タイプには、次の 3 つのコンポーネントがあります。

機能の説明

Python でラスター タイプを実装する方法は直観的な操作です。ArcGIS には、ラスター タイプを実装する際に ArcGIS システムと Python モジュールとのインターフェイスになるラスター タイプ アダプターが用意されています。このアダプターは、Python モジュールを読み込み、RasterTypeFactory を確認して、そのモジュール内で関連しているラスター タイプを特定します。RasterTypeFactory には、ファクトリ内のすべてのラスター タイプの情報が返される少なくとも 1 つのパブリック関数 (getRasterTypesInfo) を含める必要があります。getRasterTypesInfo 関数は、RasterTypeDefinitions のディクショナリを返します。次に、このアダプターは、RasterTypes に関する情報を取得し、ArcGIS に含まれる他のラスター タイプと同様に Python ベースのラスター タイプを処理します。この後、ArcGIS フレームワークは、Builder API および Crawler API を使用して Python ベースのラスター タイプを操作します。

Python でラスター タイプを実装したら、Python モジュールを [InstallDirectory]\Resources\Raster\Types フォルダーに配置します。

ArcGIS のラスター タイプ フレームワークは、この場所からすべての *.py ファイルを取得し、有効なラスター タイプがこれらのファイルに含まれているかどうかを確認します。有効なラスター タイプが見つかった場合は、[モザイク データセットにラスターを追加 (Add Rasters To Mosaic Dataset)] ツールで、サポートされているラスター タイプのリストにこれらのラスター タイプが追加されます。

Python モジュールでラスター タイプを実装する方法の詳細については、「Python ラスター タイプの構造」をご参照ください。

関連トピック