最短経路探索を試みる(アプリ版)
元はただのダイクストラ・アルゴリズムの検証用アプリです。
これに道路情報を食わせてやると..........
最短経路探索用アプリになるというわけです。
スナップショットはこんな感じ
ただし、細かい処理をやってませんので、おかしな結果を表示する場合が
多々あります。
こんな感じです
ダウンロードしたものをデスクトップで解凍して、インストーラを起動してください。
SPFフォルダー内のDijkstra_Engine.exeを起動してください。
GoogleMapとメニュが表示されます。詳しくはヘルプを参照してください。
▲TOP
最短経路探索エンジンは、デフォルトではwisteriahillのサーバーを使っています
最短経路探索を行うには、このままで十分ですが、サーバーが遅かったりダウン
していて使えないこともあります。
自前サーバーを立てると自分だけのシステムにすることができます。
何が便利かというと、
データ構造に手を加えて自分好みの「最適ルート探索エンジン」を作ることも可能
...かもしれない。というわけで、自前サーバーの立て方です。
サイト構築の詳細はこちらをごらんください。 サイト構築
手順は以下のとおり。
1:サーバーをインストールする
サーバーのインストールにおいては、xamppliteを推奨します。
xampplite は、XAMPP for Windowsのページの1/3あたりにあります。
ただ、xamppliteは簡易にサーバーを立てるには最適ですが、
初期設定ではセキュリティに難があります。
ローカルでのみ運用するように必ず設定変更を行ってください。
httpd.conf内の
Allow from all を
Allow from localhost 127.0.0.1 にする
2:ドメインを取得する
本システムを運用するには、GoogleAPIキーが必要です。
このキーを取得するには、ドメイン名が必要です。
有料で取得するのもいいいですが、無料でも問題ありません。
このサイトをおすすめします。ddo.jp
3:GoogleAPIキーを取得する
キーはIPアドレスでは取得できません。
取得サイトはこちらです。Sign Up for the Google Maps API
4:初期ファイルにデータを書き込む
対象ファイルは2つです。
ini_spfinder.php、ini_spfinder.txt
ini_spfinder.phpはサーバー、ini_spfinder.txtはクライアント用です。
必要項目を書き込んでください。
XML形式になっています(同梱のサンプル参照)。
domain (取得したドメイン名)
port (ポート番号、通常80)
googlekey (取得したGoogleAPIキー)
ini_mapinfo (地図の初期位置 緯度10進,経度10進)
db_user (データベースユーザー名 rootでいいです)
db_id (データベースユーザーのパスワード)
5:データをダウンロードして、データベースに登録する
データベースは2つです。
roaddb
wisteriahillからダウンロードしてください
解凍後、readdb に展開してください。
nodedb
wisteriahillから各都道府県のテーブルデータを取得して
nodedb に展開してください。
6:SP_SRVフォルダーをサーバーのルートに置いてください。
通常ルートディレクトリーは、xampplite\htdocsです。
以上の手順で運用環境を構築できます。
サーバーをレンタルする場合もこの手順を参考にしてください。
ください。
サイト構築の詳細はこちらをごらんください。 サイト構築
Dijkstra_Engineを起動して、実行してみてください。
▲TOP
道路情報は、国土地理院さんご提供の数値地図2500。
(ちょっと前まで、無償でダウンロードできていた頃のもの)
「生」のままでは、箸にも棒にもかからないので、「調理」します。
ちなみにデータベースはこんな感じ
▲TOP