16.4. 手动配置并运行 OptaWeb Vehicle Routing
运行 OptaWeb Vehicle Routing 的最简单方法是使用 runlocal.sh 脚本。但是,如果您的系统中没有 Bash,您可以手动完成 run.sh 脚本执行的步骤。
先决条件
- OptaWeb Vehicle Routing 已通过 Maven 成功构建,如 第 16.2 节 “下载并构建 OptaWeb Vehicle 路由部署文件” 所述。
- 可通过互联网访问。
流程
下载路由数据。
路由引擎需要地理数据来计算在位置间传输的时间。在运行 OptaWeb Vehicle 路由前,您必须在本地文件系统中下载并存储 OpenStreetMap(OSM)数据文件。
注意OSM 数据文件通常只在 100 MB 到 1 GB 之间下载,因此最好先下载这些文件,然后再构建或启动 OptaWeb Vehicle 路由应用程序。
-
在 Web 浏览器中打开
http://download.geofabrik.de/。 - 点 Sub Region 列表中的一个区域,如 。这时将打开 subregion 页面。
-
在 Sub Regions 表中,为国家下载 OSM 文件(
.osm.pbf),例如 Belgium。
-
在 Web 浏览器中打开
创建数据结构。
OptaWeb Vehicle Routing 读取和写入文件系统上多种类型的数据。它从
openstreetmap目录中读取 OSM(OpenStreetMap)文件,将路网络图形写入图形目录,并将用户数据保存在名为db的目录中。创建一个用于存储所有这些数据的新目录,以便更轻松地升级到未来 OptaWeb Vehicle 路由的更新版本,并继续处理之前创建的数据。-
创建
$HOME/.optaweb-vehicle-routing目录。 在
$HOME/.optaweb-vehicle-routing目录中创建openstreetmap目录:$HOME/.optaweb-vehicle-routing └── openstreetmap将所有下载的 OSM 文件(扩展名
.osm.pbf)移动到openstreetmap目录。剩余的目录结构由 OptaWeb Vehicle Routing 应用程序创建,在第一次运行时由 OptaWeb Vehicle Routing 应用程序创建。之后,您的目录结构类似以下示例:
$HOME/.optaweb-vehicle-routing ├── db │ └── vrp.mv.db ├── graphhopper │ └── belgium-latest └── openstreetmap └── belgium-latest.osm.pbf
-
创建
-
将目录改为
rhpam-7.13.2-kogito-and-optaplanner-quickstarts/optaweb-8.13.0.Final-redhat-00013/optaweb-vehicle-routing/optaweb-vehicle-routing-standalone/target。 要运行 OptaWeb Vehicle Routing,请输入以下命令:
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> : 用于过滤 geosearch 查询的国家代码的逗号分隔列表。有关国家代码的列表,请参阅 ISO 3166 国家 代码。应用程序在下载 OSM 文件后启动。
在以下示例中,OptaWeb Vehicle Routing 下载中心美国(
中央-america-latest.osm.pbf)的 OSM 映射,并在 Belize(BZ)和 Guatemala(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 Vehicle Routing 用户界面,在 web 浏览器中打开以下 URL:
http://localhost:8080