検索(空間検索と属性検索)




空間検索

空間検索と属性検索は,フィーチャ間の関係性を見たりする際に重要なツールの一つです。ふつーにメニューにありますが,GISの機能として最も重要な部分を占めます。

(1)ポリゴンに含まれるポリゴンを検索する

具体的には,任意のポリゴン(例えば町丁目や字界など)にどれくらいの建物数があるかという検索です。
メニューの[選択]-[空間検索]をクリックします。



まず,「ターゲットレイヤ」があります。「ターゲットレイヤ」=検索したい対象です。
「ソースレイヤ」=選択するための基準です。ここでは領域を示すデータを選択しています。
したがって,「空間検索方法」にもあるとおり,

「ソースレイヤ(=市域)」に含まれる「ターゲットレイヤ(=建物)」のフィーチャを選択する

ということになります。



画面上で,水色になっているところが選択された建物です。
ここからさらに検索をかけたい場合は,先ほどの空間検索から「絞り込み選択」にすすんだり,あるいは「属性検索」を行うこともできます。

それから,選択したフィーチャを別のファイルにエクスポートして複製したいということがあります。



エクスポートしたレイヤを右クリックし,[データ]-[データのエクスポート]をクリックすると,以下のダイアログが出ます。



エクスポートの対象を「選択フィーチャ」にして,出力します。
これを3つのポリゴンで繰り返し行うと,以下のような図で別々のファイルとして表示ができます。(属性別に表示も可能ですが。)





緑色が臼杵市の建物,赤色が津久見市の建物,青色が佐伯市の建物となります。

(2)ポリゴンに含まれるポイントを検索する

次は,ポリゴンに含まれるポイントを検索します。
以下のような,メッシュ(ポリゴン)にポイントが含まれているか否かを検索し,含まれているポリゴンに「1」を挿入するところまでやってみます。



メニューの[選択]-[空間検索]をクリックします。
空間選択方法はいくつか用意されていますので,最も適するものを選択しましょう。
選択方法の違いにより,結果が異なることもあります。


「適用」を行うとメッシュが以下のように選択された状態となります。


選択したままでは何ですので,フラグをいれます。ポイントを含んだメッシュなのかどうかの判断です,
このメッシュのレイヤの属性テーブルを開きます。選択されているメッシュ数が「37/72)となっているのがテーブルの下の方に表示されています。

フラグとなるフィールドを追加します。(テーブルオプション→フィールドの追加)形式はShort Integerで十分です。桁数も1桁。



では,ここから「Falg」フィールドに「1」を挿入します。
下の図の赤枠の「選択レコードを表示」ボタンをクリックします。すると,以下のように選択されたメッシュだけの属性が表示されます。「FID」をみると番号が飛び飛びになっています。


「Flag」フィールドを右クリックし,「フィールド演算」を実行します。


「Flag」に「1」を入れますので,以下のようにします。
メッシュを5分類などする場合は,それぞれ同じことを繰り返せばいいわけです。


以下のように,「Flag」に1が挿入されています。


すべてのレコードを表示します。赤枠の「すべてのレコードを表示」をクリックします。
そうすると,0と1のところで分かれていると思います。



この結果をもとに,表示を変えてみます。このレイヤのプロパティを開きます。
フィールドは「Flag」として,下の「すべての値を追加」ボタンをクリックし,0と1でそれぞれ色を設定します。
そして「OK」。



下の図のように,ポイントが含まれているメッシュとそうでないメッシュの色分けができました。




属性検索

次は「属性検索」です。
属性検索は,各レイヤの属性テーブルに含まれる情報をベースに検索を行います。
メニューの「選択」-「属性検索」を実行します。





青枠は検索対象とするレイヤとそのレイヤに含まれる属性テーブル内のフィールドの情報です。
赤枠は検索のための条件文を入れます。
緑枠は条件文を入れる際の不等号などのボタンで,入力の際にボタンをクリックするとその記号が自動で入力されます。


では,条件文を入れてみますが,その前に属性テーブルを確認します。
「Count_」はメッシュに含まれるポイントの数。「Sum_Pop」は人口の合計です。
この二つのフィールドを参考に条件文を入れてみます。




メッシュに含まれるポイントが「3」以上で,かつ人口が100人以上ということで検索します。

条件文のポイントですが,よく使うAndとOrは以下のようになります。
  • A And B  ・・・ AかつB
  • A Or B     ・・・ AまたはB
ですので,この場合は【"Count_" > 2 AND "Sum_Pop" >= 100】を入力します。
※A > 2であれば「2」は含まれませんね。"Count_" >= 3 でも同じ事になります。



検索結果は以下のようになり,メッシュが選択された状態となります。
空間検索と同様に,フラグを入れても構いません。






Comments