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
./runLocally.shCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
如果提示创建
.optaweb-vehicle-routing目录,请输入y。首次运行脚本时,系统会提示您创建该目录。 如果提示下载 OSM 文件,请输入
y。您第一次运行脚本时,OptaWeb Vehicle Routing 会下载 Belgium OSM 文件。应用程序在下载 OSM 文件后启动。
要打开 OptaWeb Vehicle Routing 用户界面,请在网页浏览器中输入以下 URL:
http://localhost:8080
http://localhost:8080Copy to Clipboard Copied! Toggle word wrap Toggle overflow
您第一次运行脚本时,需要几分钟才能启动,因为 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
./runLocally.sh -iCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
在您选择的提示符处,输入d以显示下载菜单。之前下载的区域列表会显示,后跟您可以下载的区域列表。 可选:从之前下载的区域列表中选择区域:
- 在下载的区域列表中,输入与区域关联的数字。
- 按 Enter 键。
可选:下载区域:
-
输入与您要下载的区域关联的数字。例如,若要选择 Europe 映射,请输入
5。 -
要下载映射,请输入
d,然后按 Enter 键。 要在映射中下载特定区域,请输入
e,然后输入与您要下载的区域关联的数字,然后按 Enter 键。使用大型 OSM 文件为获得最佳用户体验,请使用较小的区域,如个人美国或美国状态。使用大于 1 GB 的 OSM 文件需要大量 RAM 大小,并且需要大量时间(最多几小时)进行初始处理。
应用程序在下载 OSM 文件后启动。
-
输入与您要下载的区域关联的数字。例如,若要选择 Europe 映射,请输入
要打开 OptaWeb Vehicle Routing 用户界面,请在网页浏览器中输入以下 URL:
http://localhost:8080
http://localhost:8080Copy to Clipboard Copied! Toggle word wrap Toggle overflow
在非互动模式中使用 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>
./runLocally.sh <OSM_FILE_NAME>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
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目录中的区域目录。