Home > PostLBSをWindowsで使ってみる

PostLBSをWindowsで使ってみる

  • Posted by: maeda
  • 2006年11月23日 06:45

オークニーさんが出しているオープンソースのルーティングエンジンPostLBSを、Windows環境で構築してみました。
WindowsXPのSP2で試してみたところ、サンプルアプリを動かすところまでは上手くいきました。
以下はそのときのメモです。

PostLBSのセットアップ

まずはPostGISが動く環境を作ります。 PostgreSQL 8.1.4で動作確認しました。(8.1.5では上手くいきませんでした) PostGISはインストールオプションに付属のものでOKでした。

PostLBSのダウンロードページから、pgRouting(Windows binary)をダウンロードし、中身をPostgreSQLのインストール先フォルダへコピーします。

routingを使用するDBへ対して以下のSQLを実行します。


share\contrib\routing.sql
share\contrib\routing_postgis.sql

pgAdminⅢから実行すると上手くいくのですが、psqlで実行するとエラーになりました。
「\'を使わずに、''を使え」と言ってきたので、置換してから実行する上手くいきました。
これで、pgRoutingの各ファンクションが使えるようになります。


サンプルアプリを入れる


MS4Wをセットアップします。
バージョンは2.2.1で試しました。

「pgRouting Sample Application」をダウンロードして、MS4Wのappsフォルダへコピーします。
「httpd.d」フォルダへApacheの定義ファイルを追加して、routingjアプリケーションを使えるようにします。

「routing」というDBを作り、pgRoutingを使えるようにします。


createdb -U postgres routing
psql -U postgres -d routing -f "C:\Program Files\PostgreSQL\8.1\share\contrib\routing.sql"
psql -U postgres -d routing -f "C:\Program Files\PostgreSQL\8.1\share\contrib\routing_postgis.sql"

「data\kanagawa.shp」をroutingデータベースへインポートします。
インデックスも作っておくと処理速度が速くなります。


shp2pgsql -D -c kanagawa.shp kanagawa > kanagawa.sql
psql -U postgres -f kanagawa.sql routing
psql -U postgres -d routing -c "create index k1 on kanagawa using gist (the_geom GIST_GEOMETRY_OPS);"
psql -U postgres -d routing -c "create index k2 on kanagawa( source );"
psql -U postgres -d routing -c "create index k3 on kanagawa( target );"
psql -U postgres -d routing -c "vacuum full;"

サンプルファイルはLinux用?なので、以下の修正を行います。
phtmlsフォルダ内の各「.phtml」ファイルの中身を以下のように修正します。
「php_mapscript.so」→「php_mapscript_4.10.0.dll」

「maps/routing.map」ファイル内の、
「IMAGEPATH」定義をフルパスに代える。
各「LAYER」の「CONNECTION」へPostgreSQLへ接続するための情報を設定する

これで、とりあえずは上手く動作しました。

Comments:0

Comment Form

Trackbacks:0

TrackBack URL for this entry
http://convivial-web.com/mt/mt-tb.cgi/27
Listed below are links to weblogs that reference
PostLBSをWindowsで使ってみる from convivial-weblog

Home > PostLBSをWindowsで使ってみる

Profile
other

あわせて読みたいブログパーツ
Feeds
track feed convivial-weblog

Return to page top