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 readOGR
dal rgeos
pacchetto:
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 ogrListLayers
o ogrInfo
. Tuttavia, ogrInfo
dà 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 readOGR
sui 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.
arcgisbbinding
in 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
.