【问题标题】:Get data in R from an ESRI v10 Geodatabase从 ESRI v10 地理数据库中获取 R 中的数据
【发布时间】:2026-01-08 13:10:02
【问题描述】:

有人知道从 R 中的 ESRI v10 文件地理数据库中获取(栅格)数据的方法吗?

ESRI 提供了C++ API(适用于 Linux 和 Windows),所以我想原则上 R 包应该可以检索(和写入)数据到地理数据库。我找不到任何能够做到这一点的软件包。

【问题讨论】:

    标签: r spatial esri


    【解决方案1】:

    显然是rgdalnow supports file geodatabase read access

    library(rgdal)
    subset(ogrDrivers(), grepl("GDB", name))
    ogrListLayers("/path/to/folder.gdb")
    

    在 Windows 上为我工作,R v3.2.0rgdal v0.9-3

    【讨论】:

    • grep("GDB", ogrDrivers()$name, ignore.case=TRUE) 没有点击率
    • @Adrian,很奇怪---我一直在用这个。您的代码为我返回 34(名称为“OpenFileGDB”的ogrDrivers() 的行号)。
    • 我在 ubuntu 上使用 R 版本 3.3.0 (2016-05-03),我有一个全新的 install.packages("rgdal") 香草安装。也许我必须单独安装那个驱动程序?
    【解决方案2】:

    快速谷歌将我带到以下页面:

    http://www.gdal.org/ogr/drv_filegdb.html

    建议gdal 支持文件地理数据库。很可能,R 还通过正确构建的rgdalpackage 支持该格式。本质上,如果独立的gdal 有支持,则基于它构建的rgdal 包也应该读取文件地理数据库。

    【讨论】:

    • rgdal 不支持读取或写入文件地理数据库——至少不支持“开箱即用”形式。 (我刚刚在我的 Windows 机器上做了library(rgdal); ogrDrivers(),那里没有 FileGDB 条目;有一个用于(读取)个人地理数据库。) Roger Bivand touches on the issue here 和相关条目 @ 987654323@ 表示即使在普通的旧 gdal 中,默认情况下也不编译对文件地理数据库的支持。
    • (不过,我非常有兴趣了解是否/如何在盒子上编译支持文件地理数据库的 rgdal 版本具有所需的 ESRI 端 API...)
    • 我也有兴趣。
    • 链接好像失效了。
    【解决方案3】:

    GDAL 无法从文件地理数据库中读取栅格。

    不过,它可以读取矢量要素类。这让我确信rgdal 也不支持读取栅格图层。事实上,ESRI 自己的 FileGDB API 并没有光栅支持。

    不幸的是,这意味着您将需要使用 ESRI 工具将栅格图层导出为可在 R 中使用的格式。希望很快就会有用于访问 ESRI GDB 的开源解决方案。

    【讨论】: