随着 2024 年 4 月 r5r 的最新更新,要求用户拥有 Java Development Kit 21 来运行 r5r setup() 命令,在我看来,现在为简单的应用程序运行 r5r 包存在问题。
我在一个名为“transitfeeds_GTFS.zip”的 GTFS zip 文件夹的文件夹中运行了一个非常简单的设置,符合我所理解的必要命名约定(即以 GTFS.zip 结尾)和一个简单的 geofabrik osm.pbf文件。我已经放弃了可选的海拔 Tif。运行 r5_setup() 时,我只需指定包含这两个文件的文件夹,初始化就会运行并以一行结束,表明 network.dat 文件已成功完成。然而,这个文件并没有出现在我能找到的任何地方。出于同样的原因,network_settings.json 文件也不会。当我尝试创建 Travel_time_matrix 时,我最终遇到了一个令人难以置信的模糊 java 错误,除了至少 3 年前发现的其他错误之外,我无法在互联网上的其他任何地方找到参考。我认为这是因为 network.dat 文件未生成且不可引用。
data_path <- file.path("C://Users//Admin//Documents//RStudio//Spatial Analysis//Research Project")
r5r_core2 <- setup_r5(data_path = data_path)
不幸的是,代码就像上面段落中描述的那样简单,没有太多可分享的。
网上有很多关于此 r5r 包的示例,我无法找到 2023 年末 Java 更改后的任何一个。每个示例都明确提到使用 Java 11 的特定版本,并在使用另一个版本时发出有关错误的警告用过的。为了按照这些示例来查看是否确实是 java 或包的问题,我必须下载早期版本的 R、RStudio 和 r5r 包才能使其正常工作,并且仅对此进行早期尝试给我带来了进一步的问题,因为我没有这三者的完全正确的组合。
此外,在之前的分析中,我不知道 GTFS 文件的命名约定,并且在文件名中间的某个位置有“gtfs”。 r5_setup() 运行得很好,但我相信它当然丢失了网络中的大部分数据。无论哪种方式,即使它确实包含必要的元素,它也无法准确地绘制网络,因为 Travel_time_matrix 的进一步结果存在问题。我想这里有用的是 r5_setup() 已被证明能够在我的计算机上生成 network.dat 文件,但仅当我对 GTFS 文件使用错误的命名约定时。换句话说,根本没有考虑过境。
有人遇到过这种情况吗?
我已经为此失去了理智好几天了!看起来有一个错误,如果 osm.pbf 太大(节点太多)而无法成功构建网络,它不会给出错误消息 - 它只是返回“network.dat 文件已成功创建” “无论如何。
当我使用具有足够少节点的 osm.pbf 运行相同的代码时(在我的例子中,我将状态 OSM 剪切到一个城市周围的边界框),network.dat 文件出现在我的工作目录中。