Saya mencoba membaca tabel langsung dari file ESRI geodatabase ke dalam R. Contoh file data dapat diunduh di sini . Basis data berisi kelas fitur titik (Zone9_2014_01_Broadcast) dan dua tabel tertaut (Zone9_2014_01_Vessel dan Zone9_2014_01_Voyage). Anda dapat membaca shapefile di R menggunakan readOGR
dari rgeos
paket:
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")
Dua tabel tertaut juga menunjukkan kapan Anda menggunakan ogrListLayers
atau ogrInfo
. Namun, ogrInfo
beri peringatan:
Pesan peringatan: Di ogrInfo ("Zone9_2014_01.gdb", layer = "Zone9_2014_01_Vessel"): ogrInfo: semua fitur NULL
Dan jika Anda mencoba menggunakan readOGR
tabel Anda mendapatkan kesalahan:
vessel <- readOGR(dsn = "Zone9_2014_01.gdb", layer = "Zone9_2014_01_Vessel")
Kesalahan pada readOGR (dsn = "Zone9_2014_01.gdb", layer = "Zone9_2014_01_Vessel"): tidak ada fitur yang ditemukan Selain itu: Pesan peringatan: Di ogrInfo (dsn = dsn, layer = layer, pengkodean = penyandian, use_iconv = use_iconv,: ogrInfo:: semua fitur NULL
Dengan demikian, tampaknya hanya fitur geografis yang dapat dibaca oleh readOGR. Apakah ada cara untuk mengimpor tabel secara langsung ke R atau merupakan satu-satunya solusi untuk mengekspornya dari ArcGIS sebagai file * .dbf (atau * .txt) seperti dalam jawaban ini ?
Sebagai tambahan, jika ada yang dapat memberikan panggilan dari R ke skrip python yang mengotomatiskan ekspor file * csv (lebih disukai) atau * .dbf, itu akan menjadi solusi yang dapat diterima. Solusinya hanya perlu scalable dan otomatis.
arcgisbbinding
di R. Fungsi ini arc.open()
akan membuka tabel sebagai arc.dataset-class object
. Untuk membuka langsung sebagai data.table
, gunakan fungsi arc.select
.