現在地

Asial トップページ > MapServer開発キットホーム > チュートリアル

アシアル株式会社 事業紹介 MapServer 開発キット

地図作成ソフト

チュートリアル

PHPスクリプト

PHPを使用した簡単な地図の作成方法です。

PHPスクリプトとして以下の内容を記述することで$image_file_pathで指定した画像が出力されます。



$map = ms_nwMapObj("./config.map");
$image_file_path = dirname(__FILE__) . "/figure.png";
$img = $map->draw();
$img->saveImage($image_file_path);

Mapファイル

PHPスクリプトでms_newMapObj()関数に指定したMapファイル(config.map)として以下のような内容を記述することで、出力する地図をカスタマイズします。



MAP
  STATUS ON # 地図を表示するかどうか。ほとんどの場合はON
  UNITS DD # この地図の単位(緯度経度)
  IMAGECOLOR 0 0 0 # 背景色 R G B
  EXTENT 
    # 表示する領域

  IMAGETYPE PNG # 地図画像を保存する形式

  SCALEBAR # スケールバーオブジェクトの開始
    STATUS embed # スケールバーを地図内に埋め込むという意味
    UNITS KILOMETERS # スケールバーの単位
    SIZE 20 10 # スケールバーの大きさ(ピクセル)
    COLOR 255 255 255 # スケールバーの色
    IMAGECOLOR 0 0 0 # スケールバーの背景色
    INTERVALS 2 # 線の間隔の数

    LABEL # ラベルオブジェクトの開始
      COLOR 255 255 255 # 文字の色
    END
  END # スケールバーのオブジェクトの終了

  LAYER # ここからレイヤーの開始
    NAME "sample1" # レイヤーを識別するための名前
    CONNECTIONTYPE POSTGIS # PostGISを使用するための宣言
    CONNECTION "user=dbuser password=pass dbname=data host=localhsot port=5432" 
      # データベースとの接続情報
    DATA " geom FROM t_gaiku " # 取得するカラム名とテーブル名を指定する
    TYPE POLYGON # 図形の描画方法(POLYGONは多角形)
    STATUS ON # レイヤーのステータス

    CLASS # クラスオブジェクトの開始
      COLOR 255 255 255 # 色
      OUTLINECOLOR 255 0 0 # 輪郭の色
      SYMBOL 0 # POLYGONの場合0で内部を塗りつぶす
    END
  END
END

サンプル画像

Mapファイルを色々と変更することで、様々なファイルを作成することができます。サンプルでは街区のみの表示ですが、道路、鉄道などのレイヤーを追加していくことで下記のような地図とすることができます。

地図画像サンプル1 地図画像サンプル2 地図画像サンプル3 地図画像サンプル4