【发布时间】:2016-11-26 08:44:34
【问题描述】:
上下文
我目前正在从事一个涉及 osm 数据(开放街道地图)的项目。为了操作地理对象,我必须将数据(osm xml 文件)转换为对象。 osmar 包允许我这样做,但它无法解析原始 xml 数据。
错误
粘贴错误(file, collapse = "\n") : 结果将超过 2^31-1 个字节
代码
require(osmar)
osmar_obj <- get_osm("anything", source = osmsource_file("my filename"))
在get_osm函数内部,代码调用ret <- xmlParse(raw),几秒后触发错误。
问题
知道我有 64G 的内存,我应该如何读取一个大的 XML 文件(这里是 10GB)?
非常感谢!
【问题讨论】:
-
对于那些想知道的人,我检查了 R 的运行版本,它是一个 64bit 版本。我还更新了 XML 包。
-
更多细节!在 xmlParse 函数中,错误出现在第 12 行:
file = paste(raw, collapse = "\n")。好吧,这就是错误所说的内容。 -
请用完整的代码块编辑您的帖子,而不是在这里和那里的行数。
标签: r xml parsing openstreetmap large-files