TOPシステム開発> FILTER
PHPプロ!マガジン
MapServerマスターへの道

第2回:MapServerで地図を表示してみよう

著者:アシアル  森川 穣   2007/1/22
前のページ  1  2  3
FILTER

   クラスではEXPRESSION によって条件を設定することができましたが、レイヤーでも条件を設定することができます。そのときに使用するのが、FILTER属性です。PostGISを使用する場合、FILTER属性の値はWHERE句の中身になります。

   PostGISのFILTERは普段使用しているSQLのように条件を設定できるので、非常に簡単です。データとしてシェープファイルを使用する場合、FILTERは正規表現を使用して記述しなければなりません。railroadテーブルのracフィールドを11に指定することで、JRのみを取り出すことができます。

   FILTER属性はLAYERオブジェクトの中で定義します。リスト4のMapファイルを以下のように修正します。

### 省略###

DATA "the_geom FROM railroad"
FILTER "rac = 11"

### 省略###

   こうすると、racが11のデータのみが処理されます。クラスのEXPRESSIONによって条件を設定することもできるのですが、FILTER との一番の違いは、EXPRESSIONを使用した場合、すべてのデータについて条件を判定してしまうことです。そのため、データ量が多い場合にEXPRESSIONで条件を設定するとパフォーマンスが落ちてしまいます。なるべくFILTERを使用して、あらかじめ不要なデータは処理しないようにした方がよいでしょう。

前のページ  1  2  3

アシアル株式会社 森川 穣
著者プロフィール
アシアル株式会社
森川 穣

高校まではPC・プログラミングとは無縁の生活を送っていたが、大学時代にプログラミングに目覚める。当時、主にC言語でのプログラミングを行っていた。大学4年時にアシアル株式会社にアルバイトとして入社。そこで初めてPHP言語でのプログラミングを覚え、会社に深く参画していく。「極める!PHP」や「超極める!PHP」、「WEB+DB PRESS」等、多数執筆。現在はオープンソースWeb地図作成ソフトMapServerを使った開発に力を入れている。


INDEX
第2回:MapServerで地図を表示してみよう
  簡単な地図の作成
  レイヤー・クラスの追加
FILTER