Esri グリッド形式
グリッドは、Esri のネイティブ ラスタ データ格納形式です。グリッドには、整数と浮動小数点の 2 種類があります。整数グリッドを使用して不連続データを表し、浮動小数点を使用して連続データを表します。
整数グリッドの属性は、値属性テーブル(VAT)に格納されます。VAT には、グリッド内の一意な値ごとにレコードが 1 つ含まれます。レコードは、一意な値(VALUE は特定のクラスのセルまたはセルのグループを表す整数)と、その値によって表されるグリッド内のセル数(COUNT)を保持します。たとえば、森林を表す 1 の値を持つセルが 50 個ある場合、VAT は 50 個のセルごとに VALUE = 1 と COUNT = 50 を示します。
浮動小数点グリッドでは、グリッド内のセルに所定の範囲内の任意の値を想定できるため、VAT はありません。このタイプのグリッド内のセルは、離散カテゴリにうまく分類することができません。セル値自体は、その位置を描画する属性です。たとえば、海面からの標高データをメートルで表すグリッドでは、10.1662 の値を持つセルは、海面から 10 メートルほどの位置を示します。
グリッド値として格納できるデータ値の範囲は次のとおりです。
- 浮動小数点グリッドは、-3.4 x 1038 ~ 3.4 x 1038 の値を格納できます。
- 整数グリッドは、-2147483648 ~ 2147483647(-231 ~ 231-1)の値を格納できます。
整数グリッドの場合、この情報は VALUE アイテムにのみ適用されます。整数グリッドでは、値の範囲がアイテム定義に依存する VAT に、他の INFO アイテムが追加されていることがあります。
グリッドの座標系は、他の地理データの座標系と同じです。行と列は、座標系の X 軸と Y 軸に平行です。グリッド内の各セルのディメンションは他のセルと同じなので、任意のセルの位置とエリアはその行と列によって簡単に特定されます。このため、グリッドの座標系は、セルのサイズ、行と列の数、および左上隅の XY 座標によって定義されます。グリッドには、そのグリッドに関連付けられた座標系などの追加情報もあります。
ほとんどの形式と同様、グリッド名では、スペースおよびその他の特殊文字を使用できません。マルチバンド グリッドのファイル名は最長 9 文字、シングルバンド ラスタ データセットのファイル名は最長 13 文字です。
グリッド データの構造
グリッドは、タイル状のラスタ データを使用して実装されます。そのデータ ストレージの基本単位は、四角形のセルのブロックです。ブロックは、ファイルと呼ばれる可変長のファイル構造で、圧縮形式でディスクに格納されます。各ブロックは、1 つの可変長レコードとして格納されます。
グリッドのタイルのサイズは、グリッドの作成時の行と列の数に基づきます。タイル サイズの上限は、アプリケーションによって非常に大きなサイズに設定されます(現時点では、4,000,000 x 4,000,000 セルに設定されています)。このため、GIS アプリケーションに使用されるほとんどのセルは、単一のタイルに自動的に格納されます。グリッドの作成時のサイズがタイル サイズの上限を超える場合、グリッドの空間データは複数のタイルに自動的に分割されます。
グリッドのブロック ストレージ構成は、大きなラスタ データセットへの順次的なおよびランダム空間アクセスをサポートします。ブロック構造は、グリッドの結合解析に制限を設けません。また、結合解析のために、さまざまなグリッド内のタイルやブロックがマップ空間で一致する必要はありません。グリッドのタイルおよびブロック構造はユーザからはまったく見えず、ユーザは常にグリッドを均一な正方形のセルのシームレス ラスタであるかのように作成し、操作します。
グリッドは、ブロック レベルで適応できるランレングス ラスタ圧縮方式を使用します。ブロックに使用される深度(各セルのビット数)と、より効果的なストレージ手法(セル単位またはランレングス コード)を判断するために、各ブロックが評価されます。ブロックは、省ディスク スペース形式で格納されます。適応型圧縮方式は、同じカテゴリに属するデータと同種の連続データの両方を効果的に表すことができ、両方のタイプのデータを使用した結合解析をサポートする点で、最適な選択肢です。データの再分類など、単一レイヤのセルごとの操作では、一連のデータが圧縮解除されずに直接処理されます。圧縮された入力レイヤでのセルごとのマルチレイヤ操作では、複数のレイヤからの一連のデータを交差させ、交差したデータを処理します。単一レイヤの近傍ごとの操作、および圧縮データと非圧縮データを混合するマルチレイヤのセルごとの操作では、一連のデータをセルに展開し、従来のセルごとの処理を透過的に実行します。
グリッドのタイルブロック構造は、グリッド内の空間データにアクセスするアプリケーション プログラムからも見えません。グリッドを操作するプログラムは、マップ座標で定義された四角形のウィンドウを設定することにより、空間データにアクセスします。
グリッド データのストレージ
グリッドは、ArcInfo ワークスペースに格納されます。グリッドは、カバレッジと同様に、グリッドに関する特定の情報が含まれた関連テーブルおよびファイルからなる、個別のディレクトリとして格納されます。整数グリッド ディレクトリ(ArcInfo Workstation で導入)に含まれるテーブルおよびファイルは、グリッドの範囲を格納する BND テーブル、セル解像度やブロック ファクタなどグリッドを記述する特定の情報を格納する HDR ファイル、グリッドの統計情報が含まれた STA テーブル、グリッドのゾーンに関連する属性データを格納する VAT テーブル、グリッドで発生したアクティビティを記録するログ ファイル(LOG)、そしてセル データを格納するタイル ファイル w001001.adf(q0x1y1)と、それに付随してタイルと LOG のブロックにインデックスを付けるインデックス ファイル w001001x.adf(q0x1y1x)です。(ログ ファイルなど、これらの中には、ArcGIS の演算子で作成した場合は存在しないものがあります)。
グリッドが変更されると、ファイルやテーブルに含まれている値や情報が直ちに更新されます。INFO テーブルに含まれた情報は、ユーザからアクセス可能であり、グリッドに関する情報を提供します。
BND テーブル
グリッドの BND テーブルには、グリッドの範囲が含まれます。範囲は、グリッドのセルを取り囲む四角形であり、マップ座標で格納されます。すべての BND テーブルは倍精度で格納されます。
BND テーブルの最小座標値は、グリッドの左下のセルの左下隅の座標です。最大座標値は、グリッドの右上のセルの右上隅の座標です。
HDR ファイル
HDR はバイナリ ファイルです。このファイルに格納される情報には、セル サイズ、グリッドの種類(整数または浮動小数点)、圧縮方式、ブロック ファクタ、およびタイル情報があります。
STA テーブル
STA テーブルは、グリッドに関する統計データが含まれた INFO テーブルです。グリッドの最小、最大、平均、標準偏差は、STA テーブルに浮動小数点数値として格納されます。これらの値を直接変更することはできません。
NoData は不明な値を表すため、STA テーブルでの統計計算には使用されません。
バイレベル グリッド(0 と 1 の値のみを含む)が作成されると、STA テーブルには平均の値 0 と標準偏差の値-1 が含まれます。標準偏差値-1 は、グリッドの統計が計算されていることを示します。
標準偏差値-2 は、グリッドに NoData セルのみが含まれていることを示します。
VAT テーブル
VAT は、0 のグリッドと関連付けられた属性を格納する INFO テーブルです。VAT は整数グリッドにのみ関連付けられます。すべての VAT には、少なくとも VALUE と COUNT の 2 つのアイテムが含まれています。VALUE アイテムには、ある位置の特性をグリッドの他の位置と区別するために使用される整数値が含まれています。同じ値が割り当てられたセルはすべて同じ特性を含んでいるため、同じゾーンに属します。COUNT はゾーン内のセル数です。
VAT には新しいアイテムを追加することができます。VALUE アイテムと COUNT アイテムを変更することはできません。VAT は常に VALUE アイテムで並べ替える必要があります。VALUE または COUNT の前に新しいアイテムを追加しないでください。
NoData が含まれているセルは、VAT では表現されません。
次に、VAT の例を示します。
Record VALUE COUNT 1 0 628872 2 1 265043 3 2 151150 4 3 3185652 5 4 79983 6 5 4782 7 6 74334 8 7 8877 9 8 1817 10 9 491 11 10 858 12 11 8770 13 12 28789 14 13 72539 15 14 3686 16 15 3932 17 16 13227 18 17 1890 19 18 1305 20 19 427286 21 20 6695
タイル ファイル
w001001.adf(q0x1y1)ファイルと w001001x.adf(q0x1y1x)ファイルは、グリッドの最初のタイルまたはベース タイルのデータとインデックスを格納します。タイル サイズの上限は非常に大きいため、ほとんどのグリッドは 1 つのタイルを使用して格納されます。追加タイルを使用すると、最初のタイルとの空間リレーションシップに基づいて、それらに自動的に番号がふられます。タイルは可変長のバイナリ ファイルとして実装されます。ARC/INFO 7.x よりも前のバージョンでは、これらのファイルの名前は q0x1y1 および q0x1y1 であり、現行のソフトウェアにも対応します。
LOG ファイル
LOG ファイルは、グリッドの作成と変更に関する情報が含まれた ASCII ファイルです。LOG はグリッドで実行されたアクションを監視しますが、グリッドで実行されたアクションがすべて含まれているとは限りません。すべてのグリッド関数は新しいグリッドを生成するため、RENAME や COPY などのグリッド コマンドのみが既存のグリッドを変更でき、それらは LOG ファイルに記録されます。LOG ファイルには、ASCII ファイルと同様に、システム コマンドや任意のテキスト エディタからアクセスできます。
ストレージに関する制限
グリッドの名前には次のような制限があります。
- スペースを使用した名前を保存することはできません。
- 数字で始まる名前は使用できません。
- 名前が 13 文字を超えてはなりません(マルチバンド グリッドは最大 9 文字まで)。
カバレッジとグリッドの両方について、INFO ディレクトリに格納できるファイルの数には制限があります。この合計は約 10,000 です。このため、ワークスペースに格納できるグリッドの数が制限されます。たとえば、単一のワークスペース ディレクトリに格納できるグリッド データセットの理論上の最大数は、次のとおりです。
- 浮動小数点グリッドの場合は 5,000 個まで
- VAT がある整数グリッドの場合は、3,333 個まで(VAT がない場合は、5,000 個まで)
- グリッド スタックの場合は 10,000 個まで
前述の数は、理論上の最大値です。中間グリッドを作成する(したがって、INFO ディレクトリにファイルを作成する)プロセスの場合、これらの数は減少します。また、グリッドとカバレッジのように混合したファイルを格納する場合は、格納できる数は少なくなります。これは、グリッドごとに INFO ディレクトリに少なくとも 2 つのファイルが作成されるからです。VAT を格納するために 3 つめのファイルが作成されます。グリッド スタックごとに、INFO ディレクトリにファイルが 1 つ必要です。
スタック
スタックは、多変量解析において単一のエンティティとして扱われ、空間的に重なり合う、順序付けされた一連のグリッド(レイヤ)で構成されます。クラスタ解析、分類、主成分解析はすべて、スタック内のレイヤに対して実行されます。
スタックには次の特徴があります。
- それぞれ対応するグリッドを持つ一連のレイヤ
- マップ範囲または BND
- セル サイズ
- データ タイプ
- 投影法
スタックで指定された各レイヤは、スタック内での順序を示すインデックス番号を持ちます。スタックを構成するグリッドは、同じワークスペースに属していなければなりません。
入力レイヤの境界は、正確に重なる、部分的に重なる、またはまったく重ならない場合がありますが、スタックはレイヤが重なり合うエリアでのみ構成されます。スタックの BND は、レイヤの交差部分の境界線です。多変量解析関数の計算は、重なり合うエリアで実行されます。入力レイヤの間に共通のエリアがない場合、スタックは空となり、計算は実行されません。
スタックのセル サイズは、デフォルトではスタックにおいて最も解像度の低いレイヤとなります。
スタックの入力グリッドのデータ タイプ(実数または整数)はいくつでも組み合わせることができます。ただし、多変量解析を適用する前に、それらの値が何を表すのか、カテゴリ データか連続データか、そして値の範囲または相対範囲を知っておく必要があります。特定の解析では、スタックの入力データ タイプによって出力データ タイプが決定します。
入力グリッドに関連付けられた投影情報はスタックに格納されます。スタックは単一のエンティティとして扱われるため、スタック内のすべてのグリッドが同じ投影法で表示される必要があります。投影情報は、スタックの各グリッドが同じ地理エリアに属することを保証するために使用されます。
グリッド スタックの格納
スタックは、グリッドやカバレッジに類似したディレクトリ構造に格納されます。スタック ディレクトリには、外部 INFO STK テーブルと ASCII PRJ ファイルの 2 つのファイルが含まれます。スタックを構成する実際のグリッドはスタックに格納されません。それらはワークスペース内の通常のグリッドです。つまり、どのグリッドも複数のスタックで使用することができます。STK テーブルは、スタックを構成するグリッドの名前と、それらに対応するインデックス値を格納します。
GRID: LIST JER135.STK Record INDEX GRID 1 1 jer1 2 2 jer3 3 3 jer5
INDEX アイテムはスタック内のグリッドの位置を表し、GRID アイテムはスタックを構成するグリッドの名前を示します。入力グリッドの空間データはスタック上に複製されません。このため、スタックは常に入力グリッドの最新バージョンを反映します。STK ファイルには、他の INFO ファイルと同じようにアクセスできます。データを収集した日付を格納するためのアイテムなど、説明目的のアイテムを追加することは可能ですが、INFO を使用して INDEX アイテムの値や GRID アイテムの名前を変更しないでください。こうしたアイテムの操作はすべて、グリッドで利用可能な各種スタック管理コマンドのみを使用して行う必要があります。
PRJ ファイルが存在する場合、このファイルにはスタックの投影情報が格納されます。
Projection STATEPLANE Zone 4701 Datum NAD27 Zunits NO Units FEET Spheroid CLARKE1866 Xshift 0.0000000000 Yshift 0.0000000000 Parameters
スタック内のすべての入力グリッドの投影法が不明である場合、PRJ ファイルは作成されません。
グリッド スタックには、スペースが含まれた名前、数字で始まる名前、および 9 文字を超える名前は使用できません。
グリッド内の NoData
グリッド内のすべてのセルには値が関連付けられています。しかし、実際の値を持たないセルには、そのテーマを表すグリッドで NoData を割り当てることができます。NoData と 0(ゼロ)は同じでありません。0 は有効な値です。このため、NoData セルをグリッドの STA テーブルでの統計計算に使用することはできません。