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

第1回:MapServerとは

著者:アシアル  森川 穣   2007/1/15
前のページ  1  2  3  次のページ
MapServerのインストール

   MapServerのインストールの前に、ApacheとPostgreSQL、PHPがインストールされていることが必要です。まずは、MapServerで使用する各種ライブラリをインストールします。必須のライブラリはlibpng、freetype、GD、Zlibとそれらの開発パッケージです。これらのライブラリは大抵のディストリビューションの配布パッケージに含まれていると思うので、インストール方法については省略します。それ以外に推奨されるライブラリが3つあります。

   1つめはPROJ.4という座標変換用ライブラリです。地球は丸いので、球の表面を平面上に描く(投影)と必ず誤差が出てしまいます。その誤差の影響範囲を制限するための色々な投影法があり、当然のように投影法によって緯度経度から平面の座標へのマッピング方法も異なってきます。その座標変換をこのライブラリを使用してMapServer内部で行います。

   パッケージもしくはソースをダウンロードして、インストールします。ソースからインストールする場合、特に問題がなければ、./configure、make、make installでインストール完了です。
PROJ.4のダウンロード先
http://www.remotesensing.org/proj/

   2つめはGEOSという、ある点がある領域に含まれているかどうかを判定するときに必要な解析を行うための幾何学解析ライブラリです。こちらもインストール時のオプションを特に指定する必要はありません。

GEOSのダウンロード先
http://geos.refractions.net/

   最後はGDALというラスターデータフォーマットをサポートするためのライブラリです。ラスターデータというのは、BMPやJPEGなどの画像データのように、座標と数値(画像データの場合は色情報)を持ったデータのことを言います。

   地理情報ではGeoTIFFなどがあります。このライブラリにはベクターデータフォーマットをサポートするOGRというライブラリも内包されています。パッケージもしくはソースをダウンロードして、インストールします。これも特に指定すべきオプションはありません。

GDALのダウンロード先
http://www.gdal.org/dl/

   これで、MapServerに必要なライブラリはインストールできました。今回はPostGISを使用して地図を描画するので、MapServerのインストールの前にPostGISをインストールします。

   PostGISはソースからインストールするので、ソースをダウンロードしてください。解凍したらディレクトリに移動します。PostGISで推奨されているPROJ.4とGEOSはすでにインストールされているので、以下のようにインストールします。なお、pg_configのパスは適宜修正してください。

PostGISのダウンロード先
http://postgis.refractions.net/download/

./configure --with-geos --with-proj⇒
--with-pgsql=/usr/local/pgsql/bin/pg_config
make

make install

   これで準備が整ったので、MapServerをインストールします。MapServerは下記のWebサイトからソースをダウンロードしてインストールします。


   インストールは以下のように行います。こちらもpg_config.php.httpdのパスを適宜修正してください。

./configure --with-proj --with-gdal --with-ogr
--with-geos --with-gd
--with-postgis=/usr/local/pgsql/bin/pg_config
--with-httpd=/usr/sbin/httpd
--with-php=/usr/local/include/php
make

   makeを実行するとphp_mapscript.soというPHPエクステンションがmapscript/php3内に生成されるので、そのファイルをphp.iniもしくはPHPスクリプト内でdl()関数を呼び出してロードします。そうすると地図画像を生成するためのMapScriptを使用することができるようになります。

   もし途中でエラーが発生してしまう場合、リンカのライブラリ検索パスの設定に/usr/local/libが含まれていないことが考えられます。/etc/ld.so.conf.d/などに設定ファイルを追加するなどして、リンカの設定を修正します。筆者の環境(Cent OS 4.3)では/etc/ld.so.conf.d/mapserver.confという以下を記述したファイルを追加した後で、ldconfigコマンドを実行することでエラーが修正されました。

/usr/local/lib

前のページ  1  2  3  次のページ

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

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


INDEX
第1回:MapServerとは
  はじめに
MapServerのインストール
  データの用意