14.3. 使用 runLocally.sh 脚本在本地运行 OptaWeb Vehicle Routing
Linux 用户可以使用 runLocally.sh Bash 脚本来运行 OptaWeb Vehicle Routing。
runLocally.sh 脚本不会在 macOS 中运行。如果您无法使用 runLocally.sh 脚本,请参阅 第 14.4 节 “手动配置和运行 OptaWeb Vehicle Routing”。
runLocally.sh 脚本自动执行以下设置步骤,否则必须手动执行:
- 创建数据目录。
- 从 Geofabrik 下载所选的 OpenStreetMap (OSM)文件。
- 尝试自动将国家代码与每个下载的 OSM 文件关联。
- 如果独立 JAR 文件不存在,则构建项目。
- 通过使用一个 region 参数或以交互方式选择区域来启动 OptaWeb Vehicle 路由。
有关执行 local Locally.sh 脚本的说明,请参见以下小节:
使用 OptaWeb Vehicle Routing 启动的最简单方法是在没有任何参数的情况下运行 runLocally.sh 脚本。
先决条件
- optaweb Vehicle Routing 已成功使用 Maven 构建,如 第 14.2 节 “下载并构建 OptaWeb Vehicle Routing 部署文件” 所述。
- 可通过互联网访问。
流程
在
rhpam-7.11.0-decision-services-quickstarts/optaweb-8.5.0.Final-redhat-00004/optaweb-vehicle-routing目录中输入以下命令。./runLocally.sh-
如果提示创建
.optaweb-vehicle-routing目录,请输入y。首次运行脚本时,系统会提示您创建该目录。 如果提示下载 OSM 文件,请输入
y。您第一次运行脚本时,OptaWeb Vehicle Routing 会下载 Belgium OSM 文件。应用程序在下载 OSM 文件后启动。
要打开 OptaWeb Vehicle Routing 用户界面,请在网页浏览器中输入以下 URL:
http://localhost:8080
您第一次运行脚本时,需要几分钟才能启动,因为 OSM 文件必须由 GraphHopper 导入,并存储为 road 网络图。下一次运行 run ly.sh 脚本时,负载时间会非常快。
14.3.2. 以互动模式运行 OptaWeb Vehicle Routing runLocally.sh 脚本 复制链接链接已复制到粘贴板!
使用交互模式查看下载的 OSM 文件和分配给每个区域的国家代码的列表。您可以使用交互模式从 Geofabrik 下载额外的 OSM 文件,而无需访问网站并选择下载目的地。
先决条件
- optaweb Vehicle Routing 已成功使用 Maven 构建,如 第 14.2 节 “下载并构建 OptaWeb Vehicle Routing 部署文件” 所述。
- 可通过互联网访问。
流程
-
将目录更改为
rhpam-7.11.0-decision-services-quickstarts/optaweb-8.5.0.Final-redhat-00004/optaweb-vehicle-routing。 输入以下命令以互动模式运行脚本:
./runLocally.sh -i-
在您选择的提示符处,输入d以显示下载菜单。之前下载的区域列表会显示,后跟您可以下载的区域列表。 可选:从之前下载的区域列表中选择区域:
- 在下载的区域列表中,输入与区域关联的数字。
- 按 Enter 键。
可选:下载区域:
-
输入与您要下载的区域关联的数字。例如,若要选择 Europe 映射,请输入
5。 -
要下载映射,请输入
d,然后按 Enter 键。 要在映射中下载特定区域,请输入
e,然后输入与您要下载的区域关联的数字,然后按 Enter 键。使用大型 OSM 文件为获得最佳用户体验,请使用较小的区域,如个人美国或美国状态。使用大于 1 GB 的 OSM 文件需要大量 RAM 大小,并且需要大量时间(最多几小时)进行初始处理。
应用程序在下载 OSM 文件后启动。
-
输入与您要下载的区域关联的数字。例如,若要选择 Europe 映射,请输入
要打开 OptaWeb Vehicle Routing 用户界面,请在网页浏览器中输入以下 URL:
http://localhost:8080
在非互动模式中使用 OptaWeb Vehicle Routing 启动 OptaWeb Vehicle Routing,并带有之前下载的 OSM 文件的单一命令。当您想快速切换区域或进行演示时,这非常有用。
先决条件
- optaweb Vehicle Routing 已成功使用 Maven 构建,如 第 14.2 节 “下载并构建 OptaWeb Vehicle Routing 部署文件” 所述。
- 您要使用的区域的 OSM 文件已被下载。有关下载 OSM 文件的详情,请参考 第 14.3.2 节 “以互动模式运行 OptaWeb Vehicle Routing runLocally.sh 脚本”。
- 可通过互联网访问。
流程
-
将目录更改为
rhpam-7.11.0-decision-services-quickstarts/optaweb-8.5.0.Final-redhat-00004/optaweb-vehicle-routing。 执行以下命令,其中 <
;OSM_FILE_NAME> 是之前下载的 OSM 文件:./runLocally.sh <OSM_FILE_NAME>
14.3.4. 更新数据目录 复制链接链接已复制到粘贴板!
如果要使用不同的数据目录,您可以更新 OptaWeb Vehicle Routing 使用的数据目录。默认数据目录为 $HOME/.optaweb-vehicle-routing。
先决条件
- optaweb Vehicle Routing 已成功使用 Maven 构建,如 第 14.2 节 “下载并构建 OptaWeb Vehicle Routing 部署文件” 所述。
流程
-
要使用不同的数据目录,请将目录的绝对路径添加到当前数据目录中的
.DATA_DIR_LAST文件。 要更改与地区关联的国家代码,请在当前数据目录中编辑
national_codes目录中的对应文件。例如,如果您为 Scotland 下载 OSM 文件,且脚本无法猜测国家代码,请将 national
_codes/scotland-latest的内容设置为 GB。-
要删除区域,请从 data 目录中的
openstreetmap目录中删除对应的 OSM 文件,并删除graphhopper目录中的区域目录。