#1 楼
您可以使用rgdal来访问Esri文件地理数据库中的要素类。require(rgdal)
# The input file geodatabase
fgdb <- "C:/path/to/your/filegeodatabase.gdb"
# List all feature classes in a file geodatabase
subset(ogrDrivers(), grepl("GDB", name))
fc_list <- ogrListLayers(fgdb)
print(fc_list)
# Read the feature class
fc <- readOGR(dsn=fgdb,layer="some_featureclass")
# Determine the FC extent, projection, and attribute information
summary(fc)
# View the feature class
plot(fc)
#2 楼
就像已经在此答案中发布的那样,现在也可以与sf
一起很好地使用:require(sf)
fc <- sf::st_read("C:/path/to/your/filegeodatabase.gdb", layer = "some_featureclass")
但是写入未实现的fgdb ist(还可以吗?),拥有ArcGIS / ArcMap许可证以及R库
arcgisbinding
(请参阅https://github.com/R-ArcGIS/r-bridge)st_drivers()$write[st_drivers()$long_name == "ESRI FileGDB"]
#> [1] FALSE
评论
以前,只有下载了ESRI filegeodatabase API并针对该API编译了GDAL,您才能执行此操作。如果使用OSGeo4W安装GDAL,则可以选择自动执行此操作。但是,这可能在GDAL的更高版本中已更改,并且现在可以是本机的,因此,如果我输入错误,我表示歉意。
–杰弗里·埃文斯(Jeffrey Evans)
2015年6月19日在20:00
@JeffreyEvans这是本地人。
–亚伦♦
15年6月19日在20:04
尽管它是Windows的本机,但其他平台(至少是Debian Jessie)目前似乎并未包含它。
–棉花。洛克伍德
16-4-4在3:21
+1效果很好。知道在GDB中只有一个要素类时,可以省略layer参数。
– hu
18年5月8日在20:29
对于那些对gdb文件一无所知的人,这里的答案中的fgdb是一个目录,而ogrListLayers()可以在此目录下工作...
–MichaelChirico
18/12/7在8:26