第17章 OptaWeb 配送経路の手動での設定および実行
OptaWeb 配送経路を最も簡単な方法で実行するには、runlocally.sh
スクリプトを使用します。ただし、お使いのシステムでバッシュを利用できない場合は、runlocally.sh
スクリプトが実行する手順を手動で完了してください。
前提条件
- OptaWeb 配送経路が 15章OptaWeb 配送経路デプロイメントファイルのダウンロードおよびビルド の説明通りに、正常に Maven でビルドされている。
- インターネットを利用できる。
手順
経路データをダウンロードします。
経路エンジンでは、車両が場所間の移動にかかる時間を計算するのに地理データが必要です。ローカルのファイルシステムに OpenStreetMap (OSM) データファイルをダウンロードして保存してから、OptaWeb 配送経路を実行する必要があります。
注記OSM データファイルのサイズは通常 100 MB から 1 GB の間となり、ダウンロードに時間がかかるため、OptaWeb 配送経路アプリケーションをビルドまたは起動する前にこれらのファイルをダウンロードすることをお勧めします。
-
Web ブラウザーで
http://download.geofabrik.de/
を開きます。 - Sub Region リストで地域 (ヨーロッパ など) をクリックします。サブ地域ページが開きます。
-
Sub Regions の表で、国 (ベルギーなど) の OSM ファイル (
.osm.pbf
) をダウンロードします。
-
Web ブラウザーで
データのディレクトリー構造を作成します。
OptaWeb 配送経路では、ファイルシステム上の複数の種類のデータを読み取り、書き込みます。
openstreetmap
ディレクトリーから OSM (OpenStreetMap) ファイルを読み取り、道路網グラフをgraphhopper
ディレクトリーに書き込み、db
ディレクトリーでユーザーデータを永続化します。このデータをすべて格納する専用のディレクトリーを新たに作成して、今後簡単に新しいバージョンの OptaWeb 配送経路にアップグレードして、以前に作成したデータをそのまま使用できるようにします。-
$HOME/.optaweb-vehicle-routing
ディレクトリーを作成します。 $HOME/.optaweb-vehicle-routing
ディレクトリーにopenstreetmap
ディレクトリーを作成します。$HOME/.optaweb-vehicle-routing └── openstreetmap
ダウンロードした OSM ファイル (
.osm.pbf
の拡張子が付いたファイル) をすべてopenstreetmap
ディレクトリーに移動します。残りのディレクトリー構造は、OptaWeb 配送経路アプリケーションにより、初回実行時に作成されます。作成後のディレクトリー構造は以下のとおりです。
$HOME/.optaweb-vehicle-routing ├── db │ └── vrp.mv.db ├── graphhopper │ └── belgium-latest └── openstreetmap └── belgium-latest.osm.pbf
-
-
rhbop-8.29.0-kogito-and-optaplanner-quickstarts/optaweb-8.29.0.Final-redhat-00009/optaweb-vehicle-routing/optaweb-vehicle-routing-standalone/target
ディレクトリーに移動します。 OptaWeb 配送経路を実行するには、以下のコマンドを実行します。
java \ -Dapp.demo.data-set-dir=$HOME/.optaweb-vehicle-routing/dataset \ -Dapp.persistence.h2-dir=$HOME/.optaweb-vehicle-routing/db \ -Dapp.routing.gh-dir=$HOME/.optaweb-vehicle-routing/graphhopper \ -Dapp.routing.osm-dir=$HOME/.optaweb-vehicle-routing/openstreetmap \ -Dapp.routing.osm-file=<OSM_FILE_NAME> \ -Dapp.region.country-codes=<COUNTRY_CODE_LIST> \ -jar quarkus-app/quarkus-run.jar
このコマンドでは、以下の変数を置き換えてください。
-
<OSM_FILE_NAME>
: 以前にダウンロードした地域で、使用予定の地域の OSM ファイル。 <COUNTRY_CODE_LIST>
: 地理検索クエリーの絞り込みに使用するコンマ区切りの国コード一覧。国コードの一覧については、ISO 3166 Country Codes を参照してください。アプリケーションは、OSM ファイルのダウンロード後に起動します。
以下の例では、OptaWeb 配送経路は中央アメリカの OSM の地図 (
central-america-latest.osm.pbf
) をダウンロードして、ベリーズ (BZ) とグアテマラ (GT) の国で検索を行います。java \ -Dapp.demo.data-set-dir=$HOME/.optaweb-vehicle-routing/dataset \ -Dapp.persistence.h2-dir=$HOME/.optaweb-vehicle-routing/db \ -Dapp.routing.gh-dir=$HOME/.optaweb-vehicle-routing/graphhopper \ -Dapp.routing.osm-dir=$HOME/.optaweb-vehicle-routing/openstreetmap \ -Dapp.routing.osm-file=entral-america-latest.osm.pbf \ -Dapp.region.country-codes=BZ,GT \ -jar quarkus-app/quarkus-run.jar
-
OptaWeb 配送経路のユーザーインターフェイスを表示するには、Web ブラウザーに以下の URL を入力します。
http://localhost:8080
次のステップ