Próbuję odczytać tabelę bezpośrednio z geobazy bazy danych pliku ESRI do R. Przykładowy plik danych można pobrać tutaj . Baza danych zawiera punktową klasę obiektów (Zone9_2014_01_Broadcast) i dwie połączone tabele (Zone9_2014_01_Vessel i Zone9_2014_01_Voyage). Możesz odczytać plik kształtu w R, używając readOGR
z rgeos
pakietu:
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")
Dwie połączone tabele pokazują także, kiedy używasz ogrListLayers
lub ogrInfo
. Jednak ogrInfo
daje ostrzeżenie:
Komunikat ostrzegawczy: W ogrInfo („Zone9_2014_01.gdb”, layer = „Zone9_2014_01_Vessel”): ogrInfo: wszystkie funkcje NULL
A jeśli spróbujesz użyć readOGR
na stołach, pojawi się błąd:
vessel <- readOGR(dsn = "Zone9_2014_01.gdb", layer = "Zone9_2014_01_Vessel")
Błąd w readOGR (dsn = "Zone9_2014_01.gdb", layer = "Zone9_2014_01_Vessel"): nie znaleziono funkcji Ponadto: komunikat ostrzegawczy: W ogrInfo (dsn = dsn, layer = warstwa, kodowanie = kodowanie, use_iconv = use_iconv,: ogrInfo: wszystkie funkcje NULL
Wydaje się zatem, że readOGR odczytuje tylko cechy geograficzne. Czy istnieje sposób na zaimportowanie tabel bezpośrednio do R lub czy jest to jedyne rozwiązanie, aby je najpierw wyeksportować z ArcGIS jako pliki * .dbf (lub * .txt), jak w tej odpowiedzi?
Jako dodatek, jeśli ktokolwiek może dostarczyć wywołania z R do skryptu Pythona, który automatyzuje eksport plików * csv (najlepiej) lub * .dbf, byłoby to możliwe do obejścia. Rozwiązanie musi być skalowalne i zautomatyzowane.
arcgisbbinding
w R. Funkcja arc.open()
otworzy tabelę jako arc.dataset-class object
. Aby otworzyć bezpośrednio jako data.table
, użyj funkcji arc.select
.