テーブルについて

 GISデータは空間的位置情報と、それに付随する情報を「表」として保存されています。属性テーブルとよばれるを使うことができます。このようなデータ保存の仕組みがGISの最大の特徴です。ただの地図だけではない情報処理の操作の仕方を今回一緒に学びましょう。

今日の目標

属性テーブルを使って情報を抽出する技術を学びます。

前回の様にmxdファイル(Ex1ver92 ←ここをクリック)をデスクトップにダウンロードして、デスクトップにあるEx1ver92.mxd という名前のファイルをダブルクリックして早速開けてみましょう。

「ん?なんか変だぞ?」

             

覚えてますか?このmxdという拡張子が付いてるファイルは、データ自体を保存してません。データがあるパス(データのある場所のアドレス、Cドライブにあるとか?Dドライブにあるとか?)しか保存してません。データの表示を復元するためには、そのパスを復元してやらないといけません。

1)レイヤーのプロパティを開いて再接続する方法

上のLとMドライブの設定が終わりましたら、今開いてる何も表示されていないArcMapの画面に戻ってください。

Chiba_Eki と書いてあるデータを右クリックするとメニューが出てきます。その中でプロパティを選んでください。

 

上の画面の様にソースというタブの所に行くと、レイヤーの詳細が表示されます。場所と書かれているところを注目してください。そこに L:\Chibaと書いてあるのがわかると思います。

マイコンピュータからLドライブがあるか?確認してみてください。もしなければ、Lドライブを設定しなければなりません。

覚えてますか?第一回目の演習では、黒いウィンドウを開いてというドライブを設定しましたね?それを今日も設定しましょう。詳しくは以下のリンクを参照してください。

実習を始める前に (← ここをクリック)

Lドライブを設定し終えたら、戻って レイヤのプロパティから実習を続けましょう。

右下のデータソースの設定をクリックしてください。「データソースの設定」とは、データがあるべき場所を意味してます。データソースの設定からデータを復元しましょう。

LやMを設定したにも関わらず、上の画面では表示されていません。ウィンドウズの設定では、すでにLやMは設定されていますが、ArcMapでまだ認識していません。ArcMapで認識させるために、右上のアイコン( 「フォルダーに接続」)をクリックしてください。そうすると、また違うウィンドウが現れます。

ここで、Lドライブをクリックして、OKをクリックしてください。

さらに、もう一回「フォルダーを接続」を使ってMドライブも接続してください。

「ここでLやMドライブをダブルクリックしてLやMドライブの中にある 特定のフォルダーを指定しないでね。そうするとデータが呼び込めないことがあります。上記のようにLやMドライブに接続すれば、LやMドライブ全体に接続できるので、全体に接続するようにしてください。

                                                                          

上記の作業は一度行えば、再起動しない限り接続してますので、もう一度接続しなくても大丈夫です。ソフトは無事LとMドライブを認識できました。

うまく接続できると以下の様になります。

右上の()をクリックすると下の様な画面が見れます。ドライブ、フォルダーは階層構造をしており、一番上の階層にいけば、全体のドライブ一覧が表示されます。

ここで、LやMドライブが見れることを確認してください。フォルダに接続は一回やれば、パソコンを終了するまで設定が保存されます。毎回しなくても良いので、注意!では、先ほどのL:\Chibaを捜しましょう。

Lドライブをクリックしてください。Chibaというフォルダーがあります。クリックすると以下の様な画面が現れます。

この中からChiba_Eki.shpをクリックして「追加」をクリックしてください(.shpシェープファイルと呼ばれ、ArcMap特有の拡張子です) 。そうするとChiba_Eki に関してはデータアドレス(リンク)が復元されて、データが画面上に表示されます。

Chiba_Eki のレイヤーの横のチェックをして、データを表示させましょう!データが見れますか?見れたらデータ復元は成功です。Chiba_Ekiのファイルに付いていた、赤いびっくりマークがなくなっていれば、データ復元が成功した証拠です。

この方法は、全部のデータを1個づつ、手作業で復元しなければなりません。一度に復元する方法としては、以下の手順でデータを復元してください。

2)mxdファイルをクリックする前に、最初に仮想ドライブを設定すれば、上記のように1つずつデータを復元しなくても良いです。今回はmxdファイルを仮想ドライブを設定する前にクリックしてしまいましたが、仮想ドライブを設定して(LやMドライブを作成し、LドライブにChibaというフォルダを準備しておけば、)すべてのデータが自動で復元されます。

最初開いたmxdファイルを閉じて、デスクトップにあるEx1ver92.mxdを再度ダブルクリックしてください。そうするとすべてのデータが自動で復元されます。

なぜこのようなことが起きたか?mxdファイルをクリックした時点で、正確なパスが設定していないとデータは表示されません。きちんとLやMドライブを設定した後なら、mxdファイルをクリックすれば、自動的にすべてのパスを認識してデータを正しく表示してくれます。この授業では、LとMの仮想ドライブを最初に設定することを忘れないようにしてください

将来、mxdファイルを使う時、以前保存した状態にパスを設定してから、mxdファイルを開くようにしてください。何度も言いますが、mxdファイルは、データのパス(場所)、色や線の太さなどの設定した補足情報しか保存しておりません。例えば、先生にメールでmxdファイルだけ送っても、GISのデータを全く開くことができません。データも一緒に送らないとダメです。その際、どのように開くか?(どのようにパスを設定しているか?)も説明してください。そうでないと、今日の実習で行った最初のようになります。

「先生を困らせないようにね!」

                   

では、今日のトピック、「属性テーブル」について、少し演習してみましょう。

Chiba_boudanryのレイヤーを右クリックして、属性テーブルを開くをクリックしてみましょう。前回も見ましたが、この属性テーブルにある情報は、以下です。

PREF 都道府県名  
CITY1 市町村名 政令指定都市の場合は区名
CITY2 政令指定都市の市名  
TOWN1 郡名(町村部のみ)  
TOWN2 県市区町村名  
JCODE 市町村コード 5桁のJISコード
P-NUM 人口  
H-NUM 世帯数  
FLAG1 陸/水フラグ 陸部:1、 湖沼:2
FLAG2 更新時のデータ変更フラグ 変更無:0、ver3.0:1、ver5.0:3

左から、PREF, CITY1,... FLAG2 まで上2つの表が対応していることがわかります。

では、前回と同じく、P_NUM(人口)に注目して、まずは、人口10万人以上の市町村を捜しましょう。一番手取り早い方法として、P_NUMと書いてあるところを右クリックしてください。

昇順、降順で並び替え等があります。これを使えば、数字の大小で表全体を並び替えてくれます。では、昇順で並び替えをクリックしてみましょう。小さい順に、上から下へ並び替えられたことがわかります。一番右のバーを使ってP_NUMを下に見ていくと、FID 26の鎌ヶ谷市が10万人を超える最初の市ということがわかります。

FIDの26という数字のすぐ左をクリックすると、その行が上の様に薄い青色に色づくことがわかります。これは選択と呼ばれ、この市町村一個を選択したことを意味します。

では画面に戻って、その場所がどこにあるか?見てみましょう。

テーブルを最小化してGISの画面上を見ると、薄い青で色づけされているところが、人口10万人を最初に超える「鎌ヶ谷市」の場所です。

このようにテーブルの中に表示されていることが、画面上とリンクします。もっと詳しく見たいときは、テーブルに戻ってください(最小化されたテーブルは、画面左下に小さく表示されています。それを元のサイズに戻してください)。FID の列の26という数字のすぐ左横を右クリックすると、以下の様なメニューが出てきます。

選択セットにズームをクリックすると、選択したところにズームインしてくれます。

「鎌ヶ谷市にズームイン!」

                

この様にテーブルで選択したものが、画面と同時にリンクして瞬時に表示されるので、大変便利です。他の行も選択してズームインして遊んでみてください。

テーブル上で複数選択したい場合は、キーボードで Ctr を押して、他の行の左端をクリックすると、複数選択することもできます。選択をすべて解除したい時は、テーブルの左上にあるオプション()をクリックして、選択セットの解除をクリックすると、すべての選択が解除され最初からやり直すことができます。これは、Chiba_boundaryのレイヤーを右クリックして選択ー>選択解除という操作でも可能です。

画面上で選択することも可能です。テーブルを最小化して、全体表示にして、チーバ君の足(千葉県の房総半島の下辺)をズームインしてください。

ズームインや全体表示のツールの並びにというフィーチャを選択と呼ばれるマークを見つけてください。そのマークをクリックして、以下の場所で、赤茶色の線(川)上を避けて紫色のところをクリックしてみてください。以下のように選択されます。

このポリゴンの情報が何か?画面上で確認することができます。同じツールの並びにというマークがあることがわかります。それをクリックして、選択された紫色部分のどこかクリックしてください。

この様に選択したポリゴンの情報が、テーブルを開けなくてもわかります。この選択したポリゴンは、「館山市」のポリゴンであることが上からわかります。上の様にポリゴンを選択したら、Chiba_boundaryのレイヤを右クリックして、属性テーブルを開くでテーブルを開くと、表の中で、選択された行(「館山市」であることを確認してください。)が薄い青色に色付いていることがわかります。

上の図で、一番上のレイヤと書かれているところで、現在<最上位のレイヤ>となってますが、これを<すべてのレイヤ>に変更して、どこか近くの線(川)をクリックしてみてください。その場所に重なり合っているすべてのGISデータの属性情報を表示します。

ここまでは、テーブルを使ってデータを選択し、画像上とリンクして表示させました。また、画像上で選択したものがテーブルとリンクもしました。これで、必要なところを手動で選択していく技術を学びました。しかし、テーブルによっては、何百万行のデータがあり、手動でやっていたら日が暮れてしまうこともあります。そんな時は、自動で選択することもできます。自動で選択(フィーチャの選択と呼びます)は、Chiba_boundaryの属性テーブルを開いて、左上のオプションにクリックします。そのあと「属性検索」をクリックします。

電卓のようなものが現れましたが、ここに条件を書き込むと、その条件に合ったものを自動的に選択してくれます。

人口10万人以上の市町村はどこですか?という問いに答えるには、この方法が一番早いです。人口はP_NUMという列に情報が入ってます。この数字の中で10万以上であればいいので、以下のように式を入力していきます。

まず、上のカテゴリーが表示してあるところで、”P_NUM”を捜しだし、ダブルクリックをします。そうすると、下の空欄に "P_NUM" と入力されます。 >=のボタンをクリックします。そうすると、"P_NUM" >= と下の空欄に入力されます。その後、数字で100000と入力します。

上の様に、空欄を入力できたら、OKをクリック。そうすると、人口10万人以上の条件に合う行がすべて選択されます。

一番下に(21 / 61 選択)とあります。これは61個データがある中で、21個選択されたという意味です。下のをクリックすると、選択された列だけ表示されます。全体を表示したかったら、をクリックすると、上記の画面に戻ります。

選択した後、テーブルオブコンテンツに行き、Chiba_boundaryを右クリックし、データー>データのエクスポートをクリックすると、選択したものだけ別のレイヤーとして保存可能です。

エクスポートのところで、選択フィーチャになってることを確認してください。そこをすべてのフィーチャにすると選択関係なく全ての情報を含んだレイヤーのコピーを作成します。今回は選択した行だけ別のレイヤーとして作成するため、選択フィーチャのままにしておいてください。

をクリックして、出力先をMドライブにして、ファイル名をpop_b10として、ファイルの種類をシェープファイルにしてください。

ファイルの名前は、どんな名前でも良いですが、 $ % ' " ! # ( ) \ スペース等を用いてファイル名を作成しないでください。この文字は、ファイル名として受け付けないので、ファイル作成中に、何の説明なくエラーが発生し、ソフトが思う様に動いてくれません。

「ファイル名は、数字、かな、英数字等を使ってね。でもアンダーバー( _ )は大丈夫だよ」

                                                    

できたらクリックOK

クリック 「はい」 にしてください。そうすると選択したデータだけ(人口10万人以上の市町村だけ)で新しくレイヤーができ、追加されていることが画面上でわかります。

上の様に肌色が選択した市町村のみのレイヤーで、上の図の様に紫色がもともとのデータ。Chiba_boundaryのチェックをはずすと、pop_b10のレイヤーだけ表示され、選択したレイヤーのみ画面に表示できます。

もう一度、Chiba_boundaryの属性テーブルで、右下のオプションから、属性検索を使って、2つ以上のカテゴリーを検索する練習をしましょう。Chiba_boundaryを右クリックして、属性データを開き、オプションから属性検索をもう一度開いてください。

人口10万人で、世帯数(H_NUM)も10万世帯以上の市町村を検索するときは、以下の様にANDを用います。ANDは And というボタンをクリックしてください。

クリックOKで、結果を見てください。より選択されたものが少なくなったことがわかります。

属性テーブルの一番下のバーにあるというボタンをクリックすると、下図のように、選択されたものだけテーブルに表示されます。下のバーで レコード表示 (5/61選択)とは、全体の中で5つ選択されたことを意味します。ですので、この場合、人口10万人、世帯数10世帯ある市町村は、5つあるということです。

では、次に、「もしくは」という条件を使ってみましょう。属性検索をもう一度開けて、下記の様に設定してみてください。人口10万人、もしくは、世帯数も10万世帯以上の市町村を検索するときはOrのボタン を使います。

次に、選択した市町村での人口の平均値をみてみましょう。選択した行(上図の様に薄い青色の行)だけで人口の平均値を自動的に計算します。(何も選択しない場合は、全体の平均を計算します。)

人口の平均ですので、P_NUMの列で、P_NUMのラベル上を右クリックしてください。そうするとメニューが出てきて、統計情報をクリックします。

そうすると選択された21の市町村だけを対象に最小値、最大値、合計、平均値等の統計値が一瞬で計算されてます。フィールドのP_NUMH_NUMに変更すると、世帯数の統計情報が表示されます。このように統計情報を利用すれば、いちいちエクセルを開かなくても瞬時に統計情報を計算できます。

属性検索は、数値の扱いだけでなく、名前の検索も可能です。柏市のデータを、数値検索を使って捜しましょう。CITY1をダブルクリックして=のボタンをクリックすると、下記の様になります。

"CITY1" をクリック

= をクリックすると、下のようになります。

その後個別値を取得をクリックすると、CITY1の列の中のすべての名前一覧が出てきます。

柏市を捜してダブルクリックして、式を完成させてください。その後クリックOKで、柏市のポリゴンだけが選択されます。

統計の応用

統計を活用してみましょう。全国の市町村のポリゴンをダウンロードしてみて使ってみましょう。 全国の市町村界ポリゴン ←ココからクリックしてダウンロード

Lドライブにzipファイルを保存して、ファイルを展開(解凍)してください。

このデータは全国のデータですので、千葉県のデータと一緒に地図上で表示すると変な表示になってしまいます。

新たなGISデータを開く時は、新規データフレームで行いましょう!常にそうするようにしてください。ArcMapのトップメニューから挿入をクリック、データフレームをクリックすると、新規データフレームがテーブルオブコンテンツに追加されます。データフレームを追加後、を捜してクリックしてみてください。(新規データフレーム2を右クリックして、データの追加をクリックしても良いです。)

Lドライブを一番上のメニューから選んでください。japan_ver62のフォルダーをクリックして、japan_ver62.shpを追加してください。

上の様に全国地図が現れます。このレイヤーの属性テーブルを開くと、PREFの中に各県名が、重複して出てくることがわかります。重要なことに、このGISデータは市町村別に人口をまとめているので、1つの県でたくさんの市町村があり、県別に人口を表示はしてくれません。ここで、県別人口を計算してみましょう。

県名が各行で重複していると、県別に数字を出すのに、県ごとにまとめていたら、とても大変です。日が暮れます。

どうしたら良いのでしょうか?

このような場合は「サマリ」を使って、情報をうまくまとめましょう。PREFの字を右クリックして、サマリーを選択してください。

県別の人口を計算したいので、一番上の要約するフィールド(属性テーブルの表で、列のことです)は、そのままPREFを選択、出力テーブルに追加する統計情報は、P_NUM(人口のデータが入ってます)をクリックして、統計情報すべてチェックしてください。

出力テーブル指定では、右のフォルダーマーク(ブラウザと言います)をクリックして、Mドライブへ行き、summaryと書いて、ファイルの種類をdBASEテーブルを選んで、クリック保存。そしてオッケーをクリック。

「ファイルの種類で、テキストを選択して保存しても良いよ。」

                     

とでたら、「はい」をクリック。

県別統計のテーブルが追加されましたが、左側がソースになっていることに注意!!!もしこれが表示になっていると、県別統計のテーブルが見えなくなります(表示をクリックして体験してみよう)。テーブルだけを追加する時、必ず左のウィンドウの下で、ソースを選択して、テーブルを開いてください。県別統計のテーブルを右クリックして、開くをクリックすると、以下の様な表が現れます。

PREFは県名、Count_PREFは各県での市町村数、Minimum_P_NUM, Maximum_P_NUMは各県の人口の最小値、最大値、Average_P_NUMは各県の人口の平均値、Sumは各県の県別人口合計、StdDevは人口の標準分布、Varianceは人口の分散です。

各県での、市町村の数を考慮した平均人口を求めてみましょう。

エクセルなどを用いなくても、ここで簡単に計算できます。右下のオプションからフィールドの追加をクリック。下記の様に記入してください。

種類のLong Integer とは、小数点なしの整数のことを意味しており、Short Integerとの違いは、Longの方が保存できる整数値が長いです。他の floating, double 等は、後に説明します。精度は、10で良いです。整数値の10桁まで表示するようなフィールド(列)の挿入を意味してます。

平均人口という列が挿入されたことがわかります。その後、文字の上を右クリックして、フィールド演算をクリック

もし以下のようなメッセージがでてきたら、気にせずクリックYes

各県における各市町村の平均人口は、(各県の人口合計 / 各市町村数) ですので、[Sum_P_NUM] / [Cnt_PREF] と式を完成してクリックOK

県別で、各市町村数を考慮した 平均人口がテーブル上で計算できるようになりました。

ここで注意してほしいのは、Ave_P_NUMと書かれている列(少数点有)と平均人口(少数点無)とが、少数点の有無の違いだけで、実際一緒の数字になってます。サマリを使って自動で計算した平均人口とは、「県別での市町村数を考慮した平均人口」と同じ意味だということがここでわかります。

県別統計の表は、ただの表で、地図とはリンクしていません!うまく地図とリンクさせるためにテーブルの結合で、計算した統計情報を、もとの地図と連結させましょう。

japan_ver62のレイヤを右クリックして、選択ー>選択解除をします。選択解除をしないと選択したところのみ対象に作業をしてしまいます。再びjapan_ver62を右クリックして今度は、テーブル結合とリレートテーブル結合を選択してください。

上記の様に設定をしてください。クリックOKをし、japan_ver62の属性テーブルを開くと、県名(PREF)のカテゴリーを基にjapan_ver62の表県別統計の表の二つの表が結合していることがわかります。スライドを右へ動かして行くと、さっきまでjapan_ver62になかった統計の項目が語尾に追加していることがわかります。

「県別の市町村数を考慮した平均人口」で、日本地図を色づけしていきましょう。

japan_ver62を右クリックしてプロパティを開きます。シンボルへ行って下記の様に設定してみましょう。

クリックOKで画面上に「県別で、市町村数を考慮した平均人口」が色づけされました。赤が平均人口が高い県です。

「お疲れ様。」

       

今日の実習はここまでです。では、Cドライブにあるworkplaceフォルダー削除して、必要なら持ってきたメモリーにファイルをコピーして帰りましょう。コンピュータをシャットダウンすることも忘れずに!千葉大環境ISOにご協力を。Cドライブの他のフォルダーを削除しないように!コンピュータに必要なファイルを削除したら、利用委員の規約より厳重に罰せられます。気をつけてくださいね。

「お疲れ様、また会おうね。バイバ〜イ」

                       

To top