WEBを共に愉しむ。

カテゴリー: 未分類

PostLBSをWindowsで使ってみる

オークニーさんが出しているオープンソースのルーティングエンジン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へ接続するための情報を設定する
これで、とりあえずは上手く動作しました。

Flashで3Dを実現するオープンソースのAPI

Sandy the best Flash 3D API
Flashには画像の変形処理を行うためのライブラリが用意されていますが、3×2のマトリックスにしか対応していないため、3次元のテクスチャ処理はとても大変な作業となります。
Sandyは、そういった3次元のレンダリング処理をラッピングしてくれるAPIです。JAVA3Dに基づいて設計されています。
ドキュメントもしっかりしています。
画像処理については、PixLibという外部ライブラリを参照しているようです。
上記以外にも、こちらのサイトにはたくさんのFlashプロジェクトが公開されています。
最近、Ajaxのサイトに紛れて、Flashを使ったRIAがかなり伸びてきているように思います。
リクルートがリリースしたスゴイ地図やMash up Awardでフロムエー特別賞を受賞したFind Funなどの(うねうねな)インタフェースは、Ajaxで簡単に真似出来るものではないでしょう。(がんばればできるかも?)
Googleのサービスも密かに?Flashで作られたものがいくつか紛れています。
Sandyのデモの中にこんなアプリがあるのですが、GoogleEarthのFlashバージョンも夢ではないかもしれません。

© 2024 Convivial-Web

Theme by Anders Noren上へ ↑