Estou tentando ler uma tabela diretamente de um geodatabase de arquivo ESRI para R. Um arquivo de dados de exemplo pode ser baixado aqui . O banco de dados contém uma classe de recurso de ponto (Zone9_2014_01_Broadcast) e duas tabelas vinculadas (Zone9_2014_01_Vessel e Zone9_2014_01_Voyage). Você pode ler o shapefile no R usando readOGR
o rgeos
pacote:
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")
As duas tabelas vinculadas também são exibidas quando você usa ogrListLayers
ou ogrInfo
. No entanto, ogrInfo
emite um aviso:
Mensagem de aviso: No ogrInfo ("Zone9_2014_01.gdb", layer = "Zone9_2014_01_Vessel"): ogrInfo: todos os recursos NULL
E se você tentar usar readOGR
nas tabelas, receberá um erro:
vessel <- readOGR(dsn = "Zone9_2014_01.gdb", layer = "Zone9_2014_01_Vessel")
Erro no readOGR (dsn = "Zone9_2014_01.gdb", camada = "Zone9_2014_01_Vessel"): nenhum recurso encontrado Além disso: Mensagem de aviso: No ogrInfo (dsn = dsn, camada = camada, codificação = codificação, use_iconv = use_iconv,: ogrInfo: todos os recursos NULL
Assim, parece que apenas características geográficas podem ser lidas pelo readOGR. Existe alguma maneira de importar as tabelas diretamente para o R ou a única solução para exportá-las primeiro do ArcGIS como arquivos * .dbf (ou * .txt), como nesta resposta?
Além disso, se alguém puder fornecer chamadas de R para um script python que automatize a exportação de arquivos * csv (preferencialmente) ou * .dbf, isso seria uma solução alternativa aceitável. A solução só precisa ser escalável e automatizada.
arcgisbbinding
em R. A função arc.open()
abrirá a tabela como um arc.dataset-class object
. Para abrir diretamente como data.table
, use a função arc.select
.