コンストラクタ:
mapObj ms_newMapObj(string map_file_name [, string new_map_path])
MapServerのマップファイルを扱う新しいオブジェクトを返します。
デフォルトでは、マップファイルのSYMBOLSET、FONTSET、その他のパスはマップファイルの位置からの相対パスです。new_map_pathが与えられた場合、このディレクトリがマップファイル中のすべての相対パスのベースパスとして使われます。
メンバ:
int numlayers (read-only)
string name
int status
int debug
int width (see setSize())
int height (see setSize())
int maxsize
outputformatObj outputformat
double resolution (1インチあたりのピクセル数, デフォルトは72)
rectObj extent;
double cellsize
int units (マップ・ユニット・タイプ)
double scale (read-only, drawMap()で設定される)
string shapepath
int keysizex
int keysizey
int keyspacingx
int keyspacingy
webObj web
referenceMapObj reference
colorObj imagecolor
scalebarObj scalebar
legendObj legend
string symbolsetfilename (read-only, setSymbolSet()で設定される)
string fontsetfilename (read-only, setFontSet()で設定される)
labelcacheObj labelcache (メンバなし。ラベルキャッシュの解放のためにだけ
使われる (ex : map->labelcache->free())
int transparent (非推奨、outputFormatObjを利用)
int interlace (非推奨、outputFormatObjを利用)
int imagetype (非推奨、use outputFormatObjを利用)
int imagequality (非推奨、outputFormatObjを利用)
メソッド:
mapObj clone()
現在のmapObjのクローンである新しいmapObjのハンドルを返します。現在のmapObjのすべてのパラメータが新しいmapObjにコピーされます。エラーの場合NULL (0) が返ります。
int set(string property_name, new_value)
マップオブジェクトのプロパティをnew_valueに設定します。エラーの場合 -1が返ります。
int getsymbolbyname(string symbol_name)
名前を使ってシンボル・インデックスを返します。
symbol getsymbolobjectbyid(int symbolid)
シンボルIDを利用してシンボルオブジェクトを取得する。
void preparequery()
地図の縮尺を計算し、map->scaleに割り当てます。
imageObj prepareImage()
空のイメージオブジェクトのハンドルを返します。
imageObj draw()
地図を描画し、イメージオブジェクトのハンドルを返します。
imageObj drawQuery()
照会結果地図を描画し、イメージオブジェクトのハンドルを返します。
imageObj drawLegend()
凡例を描画し、イメージオブジェクトのハンドルを返します。
imageObj drawReferenceMap()
リファレンスマップを描画し、イメージオブジェクトのハンドルを返します。
imageObj drawScaleBar()
スケールバーを描画し、イメージオブジェクトのハンドルを返します。
int embedlegend(imageObj image)
凡例を組み込みます。実際には凡例はラベルキャッシュに追加されるだけなので、drawLabelCache() を呼び出してレンダリングする必要があります。(postlabelcacheが設定されている場合はすぐに描画されるので必要なし)
int embedScalebar(imageObj image)
スケールバーを組み込みます。実際にはスケールバーはラベルキャッシュに追加されるだけなので、drawLabelCache() を呼び出してレンダリングする必要があります。(postlabelcacheが設定されている場合はすぐに描画されるので必要なし)
int drawLabelCache(imageObj image)
地図のラベルをレンダリングします。エラーの場合 -1が返ります。
layerObj getLayer(int index)
indexを与えてmapからlayerObjを返します。(0=最初のレイヤ)
layerObj getLayerByName(string layer_name)
layer_nameを与えてmapからlayerObjを返します。レイヤが存在しない場合FALSEが返ります。
colorObj getcolorbyindex(int iCloIndex)
バレットのカラーインデックスに対応するcolorObjを返します。
void setExtent(double minx, double miny, double maxx, double maxy)
mapのextentを、引数の地理座標範囲を使って設定します。
int setRotation(double rotation_angle)
地図回転角度を設定する。地図表示長方形は、反時計回りの方向で示された角度によって回転します。
戻り値:MS_SUCCESS or MS_FAILURE
int setSize(int width, int height)
地図の高さと幅を設定する。このメソッドは内部のgeotransformと地図回ための他のデータ構造を更新します、その為、それが直接幅と高さメンバーを配置する代わりに、使われなければなりません。
戻り値:MS_SUCCESS or MS_FAILURE
void zoompoint(int nZoomFactor, pointObj oPixelPos, int nImageWidth,int nImageHeight, rectObj oGeorefExt)
与えられたXY位置までズームします。
引数は:
- Zoom factor:正数ではズームイン、負数ではズームアウト。1はリセンター。
- Pixel position (pointObj):左上を(0, 0)とした、クリック地点のx、y座標。
- Width:ピクセルで表した現在のイメージの幅。
- Height:ピクセルで表した現在のイメージの高さ。
- Georef extent (rectObj) : 現在の地理座標範囲。
- MaxGeoref extent (rectObj):(オプション)最大地理座標範囲。指定した場合、この範囲を超えたズーム/パンはできない。
void zoomrectangle(rectObj oPixelExt, int nImageWidth, int nImageHeight,rectObj oGeorefExt)
mapのextentを与えられた範囲に設定します。
引数は:
- oPixelExt (rectObj):左上を(0, 0)としたピクセル範囲。矩形にはLLとURの座標をピクセルで含みます。(rectオブジェクトのmaxyは< minyでなければなりません)
- Width:ピクセルで表した現在のイメージの幅。
- Height:ピクセルで表した現在のイメージの高さ。
- Georef extent (rectObj):現在の地理座標範囲。
void zoomscale(double nScale, pointObj oPixelPos, int nImageWidth,int nImageHeight, rectObj oGeorefExt [, rectObj oMaxGeorefExt])
与えられたXY位置までズームインまたはズームアウトして、地図を指定したスケールで表示します。
引数は:
- Scale:地図を表示するスケール。
- Pixel position (pointObj):左上を(0, 0)とした、クリック地点のx、y座標。
- Width:ピクセルで表した現在のイメージの幅。
- Height:ピクセルで表した現在のイメージの高さ。
- Georef extent (rectObj):現在の地理座標範囲。
- MaxGeoref extent (rectObj):(オプション)最大地理座標範囲。指定した場合、この範囲を超えたズーム/パンはできない。
int queryByPoint(pointObj point, int mode, double buffer)
mapの全選択レイヤを地理座標(すなわち、ピクセルではありません)で指定されたポイントで照会します。
照会は、TEMPLATEに値が入っているクラス、または、所属するレイヤのTEMPLATEに値が入っているクラスに属するすべての形状に対して実行されます。 modeは欲しい結果数によって、MS_SIGLEまたはMS_MULTIPLEを指定します。 bufferを<=0としてマップファイルで設定したデフォルトのtolerance(ピクセル単位で指定)を使うか、一定の大きさのbuffer(地上の距離単位で指定)を使用できます。
形状が見つかった場合、MS_SUCCESSが返ります。何も見つからないか、何らかのエラーが発生した場合、MS_FAILUREが返ります。(何も見つからない場合のエラーメッセージは、PHPのエラー制御演算子’@’を使うと抑制できます)
int queryByRect(rectObj rect)
mapの全選択レイヤを地理座標(すなわち、ピクセルではありません)で指定された矩形を使って照会します。
照会は、TEMPLATEに値が入っているクラス、または、所属するレイヤのTEMPLATEに値が入っているクラスに属するすべての形状に対して実行されます。 形状が見つかった場合、MS_SUCCESSが返ります。何も見つからないか、何らかのエラーが発生した場合、MS_FAILUREが返ります。(何も見つからない場合のエラーメッセージは、PHPのエラー制御演算子’@’を使うと抑制できます)
int queryByShape(shapeObj shape)
mapの全選択レイヤを単一の形状に基づいて照会します。形状は現時点ではポリゴンでなければなりません。
形状が見つかった場合、MS_SUCCESSが返ります。何も見つからないか、何らかのエラーが発生した場合、MS_FAILUREが返ります。(何も見つからない場合のエラーメッセージは、PHPのエラー制御演算子’@’を使うと抑制できます)
int queryByFeatures(int slayer)
レイヤからの、先の結果セットに基づいて照会を実行します。結果セットは現時点ではポリゴンレイヤにもとづいていなければなりません。
形状が見つかった場合、MS_SUCCESSが返ります。何も見つからないか、何らかのエラーが発生した場合、MS_FAILUREが返ります。(何も見つからない場合のエラーメッセージは、PHPのエラー制御演算子’@’を使うと抑制できます)
int queryByIndex(layerindex, tileindex, shapeindex, addtoquery)
与えられたレイヤ上の特定の形状を、照会結果に追加します。
addtoquery(必須の引数ではありません)にMS_TRUEを設定すると、形状は既存の照会リストに追加されます。デフォルトでは、既存の照会リストを解放し、新しい形状だけを追加します。
int savequery(filename)
現在の照会をファイルに保存します。MS_SUCCESSまたはMS_FAILUREが返ります。loadquery() とともに使用できます。
int loadquery(filename)
現在の照会をファイルからロードします。MS_SUCCESSまたはMS_FAILUREが返ります。savequery () とともに使用できます。
void freequery(layerindex)
指定したレイヤの照会結果を解放します。layerindexに-1を指定すると、すべてのレイヤの照会が解放されます。
int save(string filename)
現在のmapオブジェクトの状態をファイルに保存します。エラーの場合 -1が返ります。絶対パスを使用します。相対パスの場合、マップファイルの場所からの相対位置になります。
string getProjection()
投影の文字列表現を返します。投影が何も設定されていない場合、MS_FALSEが返ります。
int setProjection(string proj_params, boolean bSetUnitsAndExtents)
mapの投影と座標系を設定します。引数は、PROJ.4パラメータをカンマ区切りでつなげた単一文字列で与えます。
bSetUnitsAndExtents引数は、mapのunitsとextentを新しい投影にもとづいて自動的に更新するために使われます。MS_TRUEとMS_FALSEが指定できます。デフォルトはMS_FALSEです。
int setWKTProjection(string proj_params, boolean bSetUnitsAndExtents)
setProjection() と同様ですが、入力がOGC WKTの投影定義文字列となります。
int getMetaData(string name)
metadataエントリーをnameによってフェッチします。(マップファイルのWEBオブジェクトに含まれます)nameと一致するエントリーがない場合 ”” が返ります。検索時の大文字小文字は区別されます。
int setMetaData(string name, string value)
mapのmetadataエントリーを設定します。(マップファイルのWEBオブジェクトに含まれます)MS_SUCCESSまたはMS_FAILUREが返ります。
int removeMetaData(string name)
mapのmetadataエントリーを削除します。(マップファイルのWEBオブジェクトに含まれます)MS_SUCCESSまたはMS_FAILUREが返ります。
array getLayersIndexByGroup(string groupname)
グループ名を与えて、レイヤのインデックスをすべて含む配列を返します。
array getAllGroupNames()
レイヤで使われているグループ名をすべて含む配列を返します。
array getAllLayerNames()
レイヤ名をすべて含む配列を返します。
boolean moveLayerUp(int layerindex)
レイヤを描画階層の中で繰り上げます。
boolean moveLayerDown(int layerindex)
レイヤを描画階層の中で繰り下げます。
array getlayersdrawingorder()
レイヤのインデックスを描画順に含む配列を返します。
boolean setlayersdrawingorder(array layeryindex)
レイヤ順の配列を設定します。引数は全レイヤのインデックスを含む正しい配列でなければなりません。
成功時はTRUEが、そうでない時はFALSEが返ります。
string processtemplate(array params, boolean generateimages)
webオブジェクトに指定されたテンプレートファイルを処理し、結果をバッファに返します。
処理内容は、テンプレートファイルを開き、見つかったすべてのタグを置き換えます。
タグに相当する要素がmapオブジェクトに存在するタグだけ置き換えられます。(例 [scale])
上述の内容には2つの例外があります。
- 引数generateimagesがMS_TRUEに指定された場合、[img], [scalebar], [ref], [legend] が適切なurlに置き換わります。(注:オブジェクトがマップファイル中MS_ONに設定されている場合、異なるオブジェクトに相当するイメージが生成されます)
- paramsパラメータを使って、ユーザがタグとその値を指定することができます。例えば、ユーザが [my_tag] という特別なタグを使っていてそれを ”value_of_my_tag” と置き換えたい場合、次のようにします:
$tmparray["my_tag"] = "value_of_my_tag";
$map->processtemplate($tmparray, MS_FASLE);
string processquerytemplate(array params, boolean generateimages)
照会テンプレートファイルを処理し、結果をバッファに返します。 2番目の引数generateimagesは必須ではありません。指定しない場合TRUEに設定されます。
processtemplate() 関数も参照してください。
string processlegendtemplate(array params)
凡例テンプレートファイルを処理し、結果をバッファに返します。
processtemplate() 関数も参照してください。
int setSymbolSet(string fileName)
シンボルファイルを動的にロードし設定します。
int getNumSymbols()
map中のシンボル数を返します。
int setFontSet(string fileName)
新しいフォントセットをロードし設定します。
int selectOutputFormat(string type)
mapで使われるoutputformatを選択します。
MS_SUCCESSまたはMS_FAILUREが返ります。
注:使用するtypeはマップフアイルで宣言したoutputformatのうちのひとつと一致していなければなりません。引数typeは、outputformatオブジェクト中のmimetypeパラメータと比較され、次にnameパラメータと比較されます。
int saveMapContext(string filename)
WMSサポートが有効な場合のみ実行可能です。
現在のmapオブジェクトの状態をWMSマップコンテクスト形式に保存します。 WMSレイヤだけがWMSマップコンテクストXMLファイルに保存されます。
MS_SUCCESSまたはMS_FAILUREが返ります。
int loadMapContext(string filename [, boolean unique_layer_name])
WMSサポートが有効な場合のみ実行可能です。
WMSマップコンテクストXMLファイルを現在のmapObjにロードします。
もしmapにすでにレイヤが含まれている場合、WMSマップコンテクスト・ドキュメントで定義されているレイヤが現在のmapに追加されます。
MS_SUCCESSまたはMS_FAILUREが返ります。
int applySLD(string sldxml)
マップファイルにSLDドキュメントを適用します。sldドキュメントとマップファイルとのマッチングにはレイヤのnameが使われます。
SLDサポートに関する詳細は他のドキュメントを参照してください。
int applySLDURL(string sldurl)
マップファイルにURLで参照されるSLDドキュメントを適用します。sldドキュメントとマップファイルとのマッチングにはレイヤのnameが使われます。
SLDサポートに関する詳細は他のドキュメントを参照してください。
string generateSLD()
全レイヤで見つかったすべてのクラスをもとにSLD XML文字列を返します。
string getconfigoption(string key)
キーと関連した構成の値を返します。
キー存在しない場合は、空文字列を戻ります。
int setconfigoption(string key, string value)
構成の値を設定します。
int applyconfigoptions()
マップファイル内の構成オプション設定を適用します。
int owsdispatch(owsrequest request)
転送されたOpenGIS Web Services請求を処理&実行します。
reqオブジェクト内に正しいOWS請求が存在しない場は、MS_DONE (2)を戻ります。
OWS請求が正常に処理された場合はMS_SUCCESS (0)、失敗の場合はMS_FAILURE (1)を戻ります。
OWS請求はWMS, WFS,WCS and SOSを含んでいます、
参考: http://mapserver.gis.umn.edu/docs/howto/wxs_mapscript/view














