16.3. 使用 runLocally.sh 脚本在本地运行 OptaWeb Vehicle Routing
Linux 用户可以使用 runLocally.sh Bash 脚本来运行 OptaWeb Vehicle Routing。
runLocally.sh 脚本不会在 macOS 上运行。如果您无法使用 runLocally.sh 脚本,请参阅 第 16.4 节 “手动配置并运行 OptaWeb Vehicle Routing”。
runLocally.sh 脚本会自动执行以下设置步骤,否则必须手动执行:
- 创建数据目录。
- 从 Geofabrik 下载所选 OpenStreetMap (OSM)文件。
- 尝试自动将国家代码与每个下载的 OSM 文件关联。
- 如果 standalone JAR 文件不存在,构建项目。
- 通过取单个区域参数或以交互方式选择区域,启动 OptaWeb Vehicle Routing。
有关执行 runLocally.sh 脚本的说明,请参见以下部分:
使用 OptaWeb Vehicle Routing 开始的最简单方法是在没有任何参数的情况下运行 runLocally.sh 脚本。
先决条件
- OptaWeb Vehicle Routing 已成功使用 Maven 构建,如 第 16.2 节 “下载并构建 OptaWeb Vehicle Routing 部署文件” 所述。
- 可通过互联网访问。
流程
在
rhdm-7.12.0-kogito-and-optaplanner-quickstarts/optaweb-8.11.1.Final-redhat-00006/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 网络图。下次运行 runlocally.sh 脚本时,加载时间会显著提高。
16.3.2. 以交互模式运行 OptaWeb Vehicle Routing runLocally.sh 脚本 复制链接链接已复制到粘贴板!
使用交互模式查看分配给每个区域的下载 OSM 文件和国家代码的列表。您可以使用交互模式从 Geofabrik 下载额外的 OSM 文件,而无需访问网站并选择下载目的地。
先决条件
- OptaWeb Vehicle Routing 已成功使用 Maven 构建,如 第 16.2 节 “下载并构建 OptaWeb Vehicle Routing 部署文件” 所述。
- 可通过互联网访问。
流程
-
将目录更改为
rhdm-7.12.0-kogito-and-optaplanner-quickstarts/optaweb-8.11.1.Final-redhat-00006/optaweb-vehicle-routing。 输入以下命令以互动模式运行脚本:
./runLocally.sh -i
./runLocally.sh -iCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
在您选择的提示符处,输入d以显示下载菜单。之前下载的区域列表后跟您可以下载的区域列表。 可选:从之前下载的区域列表中选择区域:
- 在下载的区域列表中,输入与地区关联的数字。
- 按 Enter 键。
可选:下载区域:
-
输入与您要下载的区域关联的数字。例如,要选择欧洲地图,请输入
5。 -
要下载映射,请输入
d,然后按 Enter 键。 要在映射中下载特定区域,请输入
e,然后输入与您要下载的区域关联的数字,然后按 Enter 键。使用大型 OSM 文件为获得最佳用户体验,请使用较小的区域,如欧洲或美国状态。使用大于 1 GB 的 OSM 文件将需要大量的 RAM 大小,并花费大量时间(最多几个小时)进行初始处理。
应用程序在下载 OSM 文件后启动。
-
输入与您要下载的区域关联的数字。例如,要选择欧洲地图,请输入
要打开 OptaWeb Vehicle Routing 用户界面,在网页浏览器中输入以下 URL:
http://localhost:8080
http://localhost:8080Copy to Clipboard Copied! Toggle word wrap Toggle overflow
在非交互模式中使用 OptaWeb Vehicle Routing,通过包含您之前下载的 OSM 文件的单个命令启动 OptaWeb Vehicle Routing。这在您要快速或进行演示时快速切换时,这非常有用。
先决条件
- OptaWeb Vehicle Routing 已成功使用 Maven 构建,如 第 16.2 节 “下载并构建 OptaWeb Vehicle Routing 部署文件” 所述。
- 要使用的区域的 OSM 文件已下载。有关下载 OSM 文件的详情,请参考 第 16.3.2 节 “以交互模式运行 OptaWeb Vehicle Routing runLocally.sh 脚本”。
- 可通过互联网访问。
流程
-
将目录更改为
rhdm-7.12.0-kogito-and-optaplanner-quickstarts/optaweb-8.11.1.Final-redhat-00006/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
16.3.4. 更新数据目录 复制链接链接已复制到粘贴板!
如果要使用不同的数据目录,您可以更新 OptaWeb Vehicle Routing 使用的数据目录。默认数据目录为 $HOME/.optaweb-vehicle-routing。
先决条件
- OptaWeb Vehicle Routing 已成功使用 Maven 构建,如 第 16.2 节 “下载并构建 OptaWeb Vehicle Routing 部署文件” 所述。
流程
-
要使用不同的数据目录,请将目录的绝对路径添加到当前数据目录中的
.DATA_DIR_LAST文件。 要更改与区域关联的国家代码,请在当前数据目录中编辑
country_codes目录中相应的文件。例如,如果您下载了 Scotland 的 OSM 文件,并且脚本无法猜测国家代码,请将
country_codes/scotland-latest的内容设置为 GB。-
要删除区域,请从数据目录中的
openstreetmap目录中删除对应的 OSM 文件,并删除graphhopper目录中的区域目录。