37 votos

¿Lectura de una clase de característica en un archivo de geodatabase usando R?

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?

51voto

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)

22voto

Ö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

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X