Tengo una característica contenida en una base de datos geográficos que tiene más de 2GB como un shapefile exportado. Necesito ejecutar una función de extracción en R para atribuir los polígonos con datos de un archivo raster. Exportar la característica como una tabla no es una solución. ¿Cómo puedo leer las clases de características contenidas en una geodatabase de archivo de Esri?
Respuestas
¿Demasiados anuncios?
Aaron
Puntos
25882
Puede utilizar rgdal para acceder a las clases de características en las geodatabases de archivos de 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)
Ömer
Puntos
988
Como ya se ha publicado en esta respuesta Esto ahora también funciona muy bien con sf
:
require(sf)
fc <- sf::st_read("C:/path/to/your/filegeodatabase.gdb", layer = "some_featureclass")
Pero escribir en un fgdb no está implementado ( ¿todavía? ), tendría que tener una licencia de ArcGIS / ArcMap, así como la biblioteca R arcgisbinding
(ver https://github.com/R-ArcGIS/r-bridge )
st_drivers()$write[st_drivers()$long_name == "ESRI FileGDB"]
#> [1] FALSE