テーブルの解析と管理
ほぼすべての GIS データは、単純なデータベース テーブルとして格納または表現されます。たとえば、フィーチャクラスは Shape 属性を持つテーブルであり(テーブルの属性はフィールドまたは列とも呼ばれます)、ラスタは属性のテーブルと見なすことができ、ほとんどの GIS データベースには属性が含まれたスタンドアロン テーブルが存在し、共通の属性に基づいて他のテーブルに関連付けることができます。データベースを構築する、または解析を実行する際には、テーブルの管理、新しい属性の追加および計算、テーブルまたはそれらの行のコピー、テキスト文字列の座標値を含んでいるテーブルからフィーチャへの変換、テーブル同士の関連付け、または要約統計量の計算にほとんどの時間を費やすことになります。
解析によっては、別のアプリケーションに GIS データをテーブルとして抽出しなければならないこともあれば、別のアプリケーションからの表形式データが GIS への入力になることもあります。多くの場合は、複数のジオプロセシング手順によってデータが変更/結合され、表形式の結果を生成するために選択または集計できる、他のデータから派生した多くの属性を持つフィーチャクラスが得られます。
テーブルからの GIS データの作成
テーブルの結合
一般的な手法の 1 つは、人口統計や医療統計といったデータのテーブルを地理フィーチャ セットに結合して視覚化することです。そのためには、テーブルと地理フィーチャが名前や ID コードなどのキー フィールドを共有している必要があります。
次の例は、別のテーブルのデータを結合することにより、GIS フィーチャに追加属性を割り当てる方法を示しています。このアイオワ州の郡を表すフィーチャクラスには、テーブル結合のキー フィールドとして使用できる名前属性と FIPS コード属性があります。
このスタンドアロン テーブルには、各郡の大豆の収穫高に関する情報が含まれています。名前属性と FIPS コード属性も含まれているので、どちらかを使って County フィーチャを結合することができます。
収穫データを County フィーチャに結合した後、収穫テーブルのフィールドを使用して、County フィーチャのシンボル表示、ラベリング、選択を行うことができます。
異なるソースのデータを結合する場合は、キー フィールドのデータ タイプと値が正確に一致することが重要となります。一方のフィールドが数値タイプで、もう一方のフィールドがテキスト タイプである場合、それらのフィールドを使用して結合することは不可能です。この問題を解決するには、一方のテーブルにもう一方のテーブルのデータ タイプと一致する新しいフィールドを作成し、一致しないフィールドの値から新しいフィールドの値を計算します。また、キー値のスペルが誤っている、スペルが異なる、(最後にスペース文字が含まれているなど)余計な文字が含まれている場合、一致しないキーを持つレコードは結合されません。
テーブルからのフィーチャの作成
表形式データからの空間情報の作成も、一般的な方法の 1 つです。
XY イベント
おそらくそのための最も単純な方法は、[XY イベント レイヤの作成(Make XY Event Layer)] ツールを使用して、XY 座標フィールドを含むテーブルからレイヤを作成することです。次の例は、座標と他のデータからなる単純なテーブルをポイント イベントに変換する方法を示しています。
テーブルから作成されたポイント イベントはフィーチャクラスのように動作し、テーブルの属性を使ってシンボル表示およびラベリングすることができます。
ジオコーディング
また、テーブルの値をリファレンス フィーチャクラスと照合することにより、ポイントを作成することもできます。そのための方法の 1 つがジオコーディングです。この場合、テーブルには住所情報が含まれ、リファレンス フィーチャクラスには道路と地域の情報が含まれます。
次の例は、住所をリファレンス道路データに対してジオコーディングすることにより、住所から作成されたポイントを示しています。
リニア リファレンス
もう 1 つの方法は、ライン沿いの距離に従って場所を照合するもので、リニア リファレンスと呼ばれます。この方法を使用して、ライン沿いの指定された距離にポイント イベントを作成するか、指定された場所から別の場所へのライン沿いにライン イベントを作成することができます。
次の例は、計測距離とルート ID からなるテーブルを、ルート フィーチャと計測値が含まれたライン フィーチャクラスと照合することによって生成された、一連のポイント イベントを示しています。
次の例は、始点からの距離、終点からの距離、ルート ID からなるテーブルを、ルート フィーチャと計測値が含まれたライン フィーチャクラスと照合することによって生成された、一連のライン イベントを示しています。
表形式データの解析
表形式データの解析では、特定のカテゴリに属している何かの数を調べたり、何らかの値の分布を調べたりすることがよくあります。多くの場合、興味の対象は、わずかに(または大幅に)異なる他の多くのデータに囲まれています。そうした相違点に基づいたフィーチャの検索では、テーブルの結合または空間結合とオーバーレイによって異なるソースのデータを結合した後、フィールドの値を選択および計算することがよくあります。
数量の検索
GIS のフィーチャに、選択フィーチャで何らかのフィールドの合計を求める、または特定のフィーチャ タイプの頻度を求めることによって解析したい属性が含まれていることがあります。[統計情報] ツールボックスの [要約統計量(Summary Statistics)] ツールと [頻度(Frequency)] ツールを使用して、1 つ以上のフィールドの統計値を計算し、さらに別のフィールドの値に従って結果を集計することができます。これはレポートと解析に便利です。
[頻度(Frequency)] ツールによる頻度の計算は、特定のカテゴリに属する何かの数を調べるのに役立ちます。たとえば、このツールを一連の土地区画で実行し、複数の土地利用カテゴリのそれぞれに属している土地区画の数を確認することができます。カテゴリ データの頻度分布を調べることは、多くの解析において重要な最初のステップです。
この頻度テーブルは、Residential 土地区画の数が Office 土地区画のほぼ 5 倍であることと、Utility カテゴリまたは Institutional カテゴリに属している土地区画がほんのわずかであることを示しています。
また、テーブル内のフィールドの頻度情報を ArcMap で取得することもできます。そのためには、テーブル ウィンドウでフィールドの見出しを右クリックし、[統計情報] をクリックします。
値の分布の調査
[要約統計量(Summary Statistics)] ツールにより、フィーチャに属している何らかのデータを数量化することができます。たとえば、[頻度(Frequency)] ツールを使って各タイプの土地区画の数を調べる代わりに、[要約統計量(Summary Statistics)] ツールを使用して、各カテゴリの土地区画の合計面積を計算するか、各タイプの土地区画の平均的な大きさを調べることができます。
この要約統計テーブルは、Institutional 土地区画よりも Manufacturing 土地区画のほうが多いものの、これらのカテゴリが占めている面積がほぼ同じであることを示しています。これは、Institutional 土地区画と Utility 土地区画が、Office、Residential、Manufacturing 土地区画よりも大きい傾向にあることを示しています。
また、[要約統計量(Summary Statistics)] ツールを使用して、フィーチャの値の分布を調べることもできます。たとえば、調査地域の数種類の植物に対する最小標高値と最大標高値、ある地域の特定タイプの住宅の価格帯、または平均価格とそのタイプの住宅の平均価格の差額(標準偏差)を比較することができます。
テーブルの要約統計は ArcMap で調べることもできます。そのためには、テーブル ウィンドウでフィールドの見出しを右クリックし、[サマリ] をクリックします。
GIS での統計情報の使用については、「統計解析」をご参照ください。
レコードのカウント
場合によっては、テーブルまたは選択セットに含まれているレコードの数を知ることが重要となります。この情報をモデルやスクリプトで使用して、解析やレポートの処理を自動化することができます。[行のカウント(Get Count)] ツールは、フィーチャクラス、テーブル、レイヤ内のフィーチャまたは行の数を返します。このツールは、クエリに基づく選択セット、テーブル ビュー、レイヤを使用します。[行のカウント(Get Count)] ツールをループ処理を行うスクリプトで使用して、徐々に離れた場所をバッファリングし、指定された数のフィーチャが選択されるまでバッファ内のフィーチャを選択することができます。
表形式データの管理
値の計算
[フィールド演算(Calculate Field)] ツールは、1 つ以上のフィールドの値を数学的に結合または操作するために使用されます。このような計算は、すべてのフィーチャの指定したフィールドに 23 を入力する単純なものから、すべての選択フィーチャの指定したフィールドに true を入力するもの、複数のフィールドの値を結合するものまで、さまざまです。たとえば、人口フィールドを面積フィールドで割って人口密度値を取得したり、複数の住所フィールドのテキストを 1 つの住所フィールドに連結したりできます。多くの場合は、[フィールドの追加(Add Field)] ツールを使用して、計算結果を保持する新しいフィールドを追加します。
テーブルの結合
[テーブル結合(Add Join)] ツールは、解析の 1 つの手順において他のデータから派生した表形式データを結合するためによく使用されます。キー値(フィーチャ ID、名前など)を共有するテーブルは結合することができます。これにより、両方のテーブルのデータをまとめて解析できるようになります。このツールは、ArcMap のコンテンツ ウィンドウにあるフィーチャ レイヤまたはテーブル ビュー、または、[フィーチャ レイヤの作成(Make Feature Layer)] ツールと [テーブル ビューの作成(Make Table View)] ツールによって作成されたフィーチャ レイヤまたはテーブル ビューに対してしか機能しません。結合は一時的なものであり、セッションが終了すると消滅します。結合の結果は新しいフィーチャクラスまたはテーブルに保存できます。これには、[フィーチャのコピー(Copy Features)] ツールまたは [行のコピー(Copy Rows)] ツールを使用するか、ArcMap でデータをエクスポートします。
属性インデックス
フィールドをインデックス付けすると、その属性に基づいて行を選択するプロセスをより効率的にすることができます。[属性インデックスの追加(Add Attribute Index)] ツールを使用して、フィールドをインデックス付けできます。
サブタイプと属性ドメイン
テーブルがジオデータベースに格納される場合は、フィーチャと属性のサブタイプを作成することができます。サブタイプは、フィーチャクラスまたはテーブルを属性値に基づいて論理的なグループに分割するための方法を提供し、フィーチャクラスのフィーチャまたはテーブルの行のサブセットを操作できるようにします。サブタイプにより、それらのサブセットの属性や振舞いを統一することが可能になります。
ドメインは、複数の属性フィールドで使用できる値の範囲を定義するための手段となります。ドメインを使用して、特定のフィールドに設定できる値を制限すれば、データの整合性を維持するのに役立ちます。
テーブル ビュー
テーブルとは、ディスク上またはデータベース内の物理的なテーブルです。テーブル ビューとは、コンピュータのメモリ上で一時的に保持され、実際のテーブルと同じように使用できるテーブルです。一般に、テーブル ビューは SQL SELECT ステートメントなどのクエリによって作成され、実際のテーブルのレコードのサブセットだけがテーブル ビューに含まれます。
[テーブル ビューの作成(Make Table View)] ツールは 1 つの入力テーブルからテーブル ビューを作成し、[クエリ テーブルの作成(Make Query Table)] ツールは結合できる多数の入力テーブルからテーブル ビューを作成します。
テーブルビューを実際のテーブルに保存する場合は、[行のコピー(Copy Rows)] ツールを使用します。
ピボット テーブル
[ピボット テーブル(Pivot Table)] ツールにより、大きなテーブル内の重複を減らすことができます。これは、特定の CAD データ構造を GIS フィーチャに変換したり、カンマ区切りのリストに含まれている測定点と値をテーブルに変換したりするのに役立ちます。1 つのフィールドの一意な値(ピボット フィールド)が出力テーブルの列見出しになります。
ラスタ テーブル
ラスタのピクセル値に、植生タイプなどのデータを分類する整数値が含まれていることがあります。たとえば、1 というピクセル値は山林に相当し、2 というピクセル値は湿地を表します。このようなラスタについては、一意なピクセル値について記述するラスタ属性テーブルを作成して、先に説明したテーブル操作の多くを実行するのが効果的です。[ラスタの属性テーブルの構築(Build Raster Attribute Table)] ツールは、ラスタ属性テーブルを作成または更新します。
テーブル ツール
テーブルとそれらの属性を管理および操作するためのツールが多数用意されています。それらのツールのほとんどは、[データ管理] ツールボックスにあります。
ツールボックス |
説明 |
---|---|
[頻度(Frequency)] ツールと [要約統計量(Summary Statistics)] ツールを含みます。 |
|
データを ArcGIS 形式に変換します。 |
|
住所テーブルをポイント フィーチャに変換します。 |
|
[ルート、メジャー] 座標を含むテーブルをポイント フィーチャに変換します。 |