もっともマップファイルで多用されるオブジェクトであり、これら一つ一つが地図を作り上げるレイヤ群を構成している。レイヤはマップファイルに記述された順序で描画される(最初のレイヤが最下層に描かれ、最後のものが最上部に描かれる。)
CLASS
CLASSオブジェクトの始まりを表す。
CLASSITEM [attribute]
適用するクラスの識別に使用する属性テーブルでの項目名。
CONNECTION [string]
データベース接続文字列。
SDE接続文字列はカンマで区切られたホスト名、インスタンス名、データベース名、ユーザ名、パスワードからなる。
PostGIS接続文字列は基本的なPostgreSQLの接続文字列であり、これは"user=nobody password=** dbname=dbname host=localhost port=5432"のような形をとる。
Oracleの接続文字列:user/pass[@db]
CONNECTIONTYPE [local|sde|ogr|postgis|oraclespatial|wms]
接続のタイプを表す。デフォルトはlocalである。それぞれのタイプのドキュメントを参照のこと。
DATA [filename]|[sde parameters][postgis table/column][oracle table/column]
処理する空間データの完全なファイル名。シェイプファイルの拡張子は必要ない。 MapオブジェクトでのSHAPEPATHオプションに対する相対パスとして記述できる。
SDEレイヤであれば、パラメータはジオメトリ列とレイヤの名称をあわせて含んだものとなる。
PostGISレイヤであれば、パラメータは"<列名> from <テーブル名>"の形とならなければならない。ここで"列名"はジオメトリオブジェクトを含んだ列の名称であり、"テーブル名"は読み込むべきジオメトリデータを含んだテーブルの名称である。
Oracleでは、"shape FROM table"もしくは"shape FROM (SELECT句)"もしくはより複雑なOracleに適応したクエリを使用する。空間サブクエリを使用した場合、パフォーマンスに大きな影響を与えることに注意が必要である。必要ならば代わりにMapserverのFILTERを使ってみよう。
DEBUG [on|off]
レイヤオブジェクトのデバッグを可能にする。標準エラー出力(STDERR)もしくはWEBオブジェクトでLOGパラメータが設定されていればMapserverのログファイルへと詳細な出力が生成され、そこへと送られる。
DUMP [true|false]
MapserverにデータをGMLフォーマットで返すかどうかを切り替える。 WMSのGetFeatureInfo?命令とあわせて使用する場合には有用である。デフォルトはfalseである。
FEATURE
FEATUREオブジェクトの始まりを表す。
FILTER [string]
このパラメータはデータ特有の属性フィルタリングを可能にする。これは空間フィルタリングが行なわれるのと同時に適用され、いかなるCLASS表現が評価されるよりも先に適用される。 OGRとシェイプファイルでは文字列は単にMapserverの正規表現である。空間データベースにおいては文字列は対象となるデータベースに適応したSQLのWHERE句である。
例えば:FILTER "type='road' and size <2"
FILTERITEM [attribute]
簡単なFILTER表現を適用するアイテム。 OGRとシェイプファイル限定である。
FOOTER [filename]
フッタテンプレートです。マルチ結果のみ有効。
GRID
GRIDオブジェクトの始まりを表す。
GROUP [name]
このレイヤが属するグループの名称。グループ名はテンプレートファイルでの通常のレイヤ名称同様に参照することができ、グループをまとめての表示/非表示の切り替えのような操作を一度で可能にする。
HEADER [filename]
ヘッダテンプレートです。マルチ結果のみ有効。
LABELANGLEITEM [attribute]
回転角を分類するために使用される、属性テーブルでの項目名。値は度数のみが許される。
LABELCACHE [on|off]
ラベルが、描画されるこのレイヤの地物として描画されるのか、キャッシュされ、全てのレイヤが描画された後に描画されるのかを指定する。デフォルトはonである。ラベルの重なりの除去や自動配置などなど…はラベルキャッシュが生きている場合のみ適用できる。
LABELITEM [attribute]
ラベルを表示するために使用される属性テーブルでの項目名。
LABELMAXSCALE [double]
ラベル処理がなされる最大スケール。
LABELMINSCALE [double]
ラベル処理がなされる最小スケール。
LABELREQUIRES [expression]
このレイヤにラベル処理のコンテキストを設定する。
LABELREQUIRES "![orthoquads]"
上の例はこのレイヤは"orthoquads"レイヤが表示されているならば、ラベル処理を行なわないということを意味している。式は他のレイヤの状態に基づいた論理式から構成される。それぞれの[レイヤ名]部分文字列は、そのレイヤの状態に応じて0または1の値に置き換えられ、その後、通常の論理式同様に評価される。論理演算子ANDとORも使用できる。
LABELSIZEITEM [attribute]
ラベルサイズを設定するのに用いられる属性テーブルでの項目名。値はピクセルでなければならない。
MAXFEATURES [integer]
現在のウィンドウでのこのレイヤで表示される地物の数を指定する。注記やソートしたデータ(面積順での湖のような)興味深い使用法がある。
MAXSCALE [double]
このレイヤが描画される最大スケール。
METADATA
METADATA
title "My layer title"
author "Me!"
MINSCALE [double]
レイヤが描画される最小スケール。
NAME [string]
このレイヤに対する短い名称。 20文字の制限がある。この名称はマップファイルとこの名称を参照しているウェブインターフェースの間でリンクしている。これは全て同一でなければならない。あるレイヤが異なるスケールでは別のレイヤに置き換えられるのでない限り、名称はユニークである必要があり。 GROUPオプションを使用すると互いにレイヤを関連付けられる。
OFFSITE [r] [g] [b]
ラスタレイヤの透過色として扱う色。
POSTLABELCACHE [true|false]
このレイヤをキャッシュされた全てのラベルが表示された後に処理するかどうか。きれいな線や同様の要素を追加するのに有用である。デフォルトはfalse。
PROCESSING [string]
このレイヤで用いられるプロセッシングディレクティブを渡す。サポートされているプロセッシングディレクティブはレイヤのタイプごとに様々であり、下層のドライバがそれを処理する。現在、SCALE、BANDS、DITHERディレクティブがラスタレイヤではGDALドライバ経由での処理としてサポートされている。これについてはラスタHOWTOで詳しく説明されている。
PROCESSING "SCALE_1=AUTO"
PROCESSING "SCALE_2=AUTO"
PROCESSING "SCALE_3=AUTO"
PROCESSING "BANDS=3,2,1,4"
DB接続プールの有効化もできる。DB接続プールを利用して、MapServerはDB接続を共有して、各レイヤを処理する。現時点Oracle、ArcSDE、OGR、 PostGISはサポートされている。PROCESSING "CLOSE_CONNECTION=DEFER"
PROJECTION
PROJECTIONオブジェクトの始まりを表す。
REQUIRES [expression]
このレイヤを表示するコンテキストを設定する(LABELREQUIRESを参照)。
SIZEUNITS [pixels|feet|inches|kilometers|meters|miles]
CLASSオブジェクトのSIZE値の単位を設定する(デフォルトはピクセル)。バッファリングをシミュレートするのに有効である。
STATUS [on|off|default]
レイヤの現在の状態を設定する。 Mapserver自身によっても修正される。defaultではレイヤを永久に表示したままとする。
STYLEITEM [attribute]
地物のスタイルを指定する項目。現在ではOGRのみが対象であり、非常に実験的なものである。
SYMBOLSCALE [double]
シンボルとテキストをフルサイズで表示するスケール。これにより地図のスケールに応じた動的なオブジェクトのスケーリングができるようになる。設定を行なわなければ常に同じサイズで表示される。スケーリングはMINSIZEとMAXSIZEの間に制限されている。
TEMPLATE [file|url]
CLASS TEMPLATE に対するグローバルなものとして用いられる。
TILEINDEX [filename|layername]
このレイヤで定義するインデックスもしくはタイルの完全なファイル名。 ArcIn?ふぉのライブラリインデックス同様に、このシェイプファイルはタイルそれぞれを表すポリゴンを含んでいる。それぞれのタイルの位置を含んだ項目は、TILEITEMパラメータを通してあたえられる。もしDATAパラメータが値を有していれば、ロケーションの最後に追加される。もしDATAが空であればロケーションはファイル名全体となる。
注記:Mapserverが正しくファイルをインデックス化するために、タイルインデックスに含まれる全てのシェイプファイルのDBFファイルは完全に同一のフィールドを有していなければならず、そのフィールドは同じ順序で並んでいる必要がある。
TILEITEM [attribute]
個々のタイルの位置を含んでいる項目名。デフォルトは"location"。
TOLERANCE [double]
点を基準としたクエリにおける許容範囲(マウスもしくは地図の座標系による)。 TOLERANCEUNITSとあわせてデフォルトでは3ピクセルが設定される。ポリゴンの探索で必ず基準となる点がポリゴンの内部にある必要があるのであれば、0に設定しなければならない。
TOLERANCEUNITS [pixels|feet|inches|kilometers|meters|miles|dd]
TOLERANCE値の単位。デフォルトはピクセルである。
TRANSPARENCY [integer|alpha]
レイヤでの全ての整えられたピクセルの透過レベルを設定する。値は0から100の間の整数値もしくは"ALPHA"という名のシンボルであたえられる。このパラメータは"透過度"であるにも関わらず、整数値は実際にはレイヤの不透明度を表している。値が100の場合、不透明であり、0で完全に透過となる。
"ALPHA"シンボルはMapserverにインデックスされ、もしくはα値の透過の持つピクスマップのシンボルをレイヤのスタイルを用いて処理するように指示することになる。これはRGBの出力フォーマットの場合にのみ必要とされる。 RGBの地図画像に対して透過するピクスマップのシンボルを描画する行為はコスト高いな処理となるので、必要となる場合にのみ用いられるべきである。
TRANSFORM [true|false ul|uc|ur|lc|cc|lr|ll|lc|lr]
Mapserverに対してこのレイヤをある座標系から画像の座標系へと変換する必要があるかどうかを設定する。デフォルトはtrueである。これにより画像上での座標系でシェイプファイルを作成することが可能となり、全ての地図上で同一の場所に常に表示される地物を用意することができる。ロゴやテキストを地図上に表示するのに最適である。画像の座標系は、多くの地図座標系と異なり、左上の角を基準とすることを忘れてはならない。
TYPE [point|line|polygon|circle|annotation|raster|query|chart]
どのようなデータが描画されるのかを指定する。シェイプファイルの型と同一である必要はない。例えば、ポリゴンのシェイプファイルがポイントレイヤとして描画されたり、ポイントのシェイプファイルがポリゴンのレイヤとして描画されることもある。常識が基準となる。 "Annotation"はラベルの基準点が地物に対して計算されることを意味しているが、マーカーシンボルとして描画される可能性はあるが、地物自身は描画されないことを意味する。これは高速道路の番号をあらわすマークのようなラベルに対して有効である。 "Point"ではその点にラベル処理がなされる。 "Polygon"では最初に中心でラベルの処理がなされる。もしそれがポリゴン内部にない場合は、scanlineアプローチによりラベルが地物の内部にあるように決定される。 "Line"では線の表示される範囲での中間点でラベル処理がなされる。 "Query"はクエリが発行されるが描画はなされないことを意味する。
POLYGONとPOLYLINE(タイプとして存在していない)の識別については、単にクラスわけにおいてCOLORキーワードを使用するかどうかで決定される。もしそれを使うのであれば、塗りつぶされるのがポリゴンであり、ポリラインはOUTLINECOLORのみとなる。
円は最小の境界となる長方形で定義される。 2点で定義される最小の長方形がその円を含むことになる。これらの2点は長方形の対角点同士となる。
インラインポイント レイヤサンプル
LAYER NAME 'inline_circles' TYPE CIRCLE STATUS ON FEATURE POINTS 74.01 -53.8 110.7 -22.16 END END CLASS STYLE COLOR 0 0 255 END END END














