Sto cercando di leggere una tabella direttamente da un geodatabase di file ESRI in R. Un file di dati di esempio può essere scaricato qui . Il database contiene una classe di caratteristiche punto (Zone9_2014_01_Broadcast) e due tabelle collegate (Zone9_2014_01_Vessel e Zone9_2014_01_Voyage). Puoi leggere lo shapefile in R usando readOGRdal rgeospacchetto:
library(rgeos)
library(downloader)
download("https://coast.noaa.gov/htdata/CMSP/AISDataHandler/2014/01/Zone9_2014_01.zip", dest="Zone9_2014_01.zip", mode="wb")
unzip("Zone9_2014_01.zip", exdir = ".")
# Not Run (loads large point file)
# broadcast <- readOGR(dsn = "Zone9_2014_01.gdb", layer = "Zone9_2014_01_Broadcast")
Le due tabelle collegate mostrano anche quando si utilizza ogrListLayerso ogrInfo. Tuttavia, ogrInfodà un avvertimento:
Messaggio di avviso: in ogrInfo ("Zone9_2014_01.gdb", layer = "Zone9_2014_01_Vessel"): ogrInfo: tutte le funzioni NULL
E se si tenta di utilizzare readOGRsui tavoli si ottiene un errore:
vessel <- readOGR(dsn = "Zone9_2014_01.gdb", layer = "Zone9_2014_01_Vessel")
Errore in readOGR (dsn = "Zone9_2014_01.gdb", layer = "Zone9_2014_01_Vessel"): nessuna funzione trovata Inoltre: Messaggio di avviso: In ogrInfo (dsn = dsn, layer = layer, codifica = codifica, use_iconv = use_iconv,: ogrInfo: tutte le funzioni NULL
Pertanto, sembra che solo readOGR possa leggere solo le caratteristiche geografiche. Esiste un modo per importare le tabelle direttamente in R o è l'unica soluzione per esportarle da ArcGIS come file * .dbf (o * .txt) come in questa risposta?
Inoltre, se qualcuno può fornire chiamate da R a uno script Python che automatizza l'esportazione di file * csv (preferibilmente) o * .dbf, sarebbe una soluzione accettabile. La soluzione deve solo essere scalabile e automatizzata.
arcgisbbindingin R. La funzione arc.open()aprirà la tabella come arc.dataset-class object. Per aprire direttamente come a data.table, utilizzare la funzione arc.select.