16.3. 使用 runLocally.sh 脚本在本地运行 OptaWeb Vehicle Routing
Linux 用户可以使用 runLocally.sh Bash 脚本来运行 OptaWeb Vehicle 路由。
runLocally.sh 脚本不会在 macOS 中运行。如果您无法使用 runLocally.sh 脚本,请参阅 第 16.4 节 “手动配置并运行 OptaWeb Vehicle Routing”。
runLocally.sh 脚本自动执行以下设置步骤,否则必须手动执行:
- 创建数据目录。
- 从 Geofabrik 下载所选 OpenStreetMap(OSM)文件。
- 尝试自动将国家代码与每个下载的 OSM 文件关联。
- 如果独立 JAR 文件不存在,则构建项目。
- 使用单一地区参数或以交互方式选择地区,启动 OptaWeb Vehicle 路由。
有关执行 runLocally.sh 脚本的说明,请参见以下小节:
使用 OptaWeb Vehicle Routing 入门的最简单方法是运行不带任何参数的 runLocally.sh 脚本。
先决条件
- OptaWeb Vehicle Routing 已通过 Maven 成功构建,如 第 16.2 节 “下载并构建 OptaWeb Vehicle 路由部署文件” 所述。
- 可通过互联网访问。
流程
在
rhpam-7.13.2-kogito-and-optaplanner-quickstarts/optaweb-8.13.0.Final-redhat-00013/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 用户界面,在 web 浏览器中打开以下 URL:
http://localhost:8080
http://localhost:8080Copy to Clipboard Copied! Toggle word wrap Toggle overflow
第一次运行脚本时,需要几分钟才能启动,因为 OSM 文件必须由 GraphHopper 导入,并存储为路路图。下一次运行 runlocal.sh 脚本时,加载时间会非常快。
16.3.2. 以互动模式运行 OptaWeb Vehicle Routing runLocally.sh 脚本 复制链接链接已复制到粘贴板!
使用互动模式查看为每个地区分配了下载的 OSM 文件和国家代码的列表。您可以使用互动模式从 Geofabrik 下载其他 OSM 文件,而无需访问网站并选择下载目标。
先决条件
- OptaWeb Vehicle Routing 已通过 Maven 成功构建,如 第 16.2 节 “下载并构建 OptaWeb Vehicle 路由部署文件” 所述。
- 可通过互联网访问。
流程
-
将目录更改为
rhpam-7.13.2-kogito-and-optaplanner-quickstarts/optaweb-8.13.0.Final-redhat-00013/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 用户界面,在 web 浏览器中打开以下 URL:
http://localhost:8080
http://localhost:8080Copy to Clipboard Copied! Toggle word wrap Toggle overflow
以非互动模式使用 OptaWeb Vehicle Routing,通过单个命令启动 OptaWeb Vehicle 路由,其中包含您之前下载的 OSM 文件。当您想快速或进行演示时,这非常有用。
先决条件
- OptaWeb Vehicle Routing 已通过 Maven 成功构建,如 第 16.2 节 “下载并构建 OptaWeb Vehicle 路由部署文件” 所述。
- 要用于下载的区域的 OSM 文件。有关下载 OSM 文件的详情,请参考 第 16.3.2 节 “以互动模式运行 OptaWeb Vehicle Routing runLocally.sh 脚本”。
- 可通过互联网访问。
流程
-
将目录更改为
rhpam-7.13.2-kogito-and-optaplanner-quickstarts/optaweb-8.13.0.Final-redhat-00013/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 路由部署文件” 所述。
流程
-
要使用不同的数据目录,请在当前数据目录中添加目录绝对路径到
.DATA_DIR_LAST文件。 要更改与区域关联的国家代码,编辑当前数据目录中的
country_codes目录中的对应文件。例如,如果您为 SVRF 下载了 OSM 文件,且该脚本无法猜测国家代码,将
country_codes/stunnel-latest的内容设置为 GB。-
要删除区域,请从数据目录中的
openstreetmap目录删除对应的 OSM 文件,并删除graphhopper目录中的区域目录。