Tôi đang cố đọc một bảng trực tiếp từ cơ sở dữ liệu địa lý tệp ESRI vào R. Một tệp dữ liệu mẫu có thể được tải xuống ở đây . Cơ sở dữ liệu chứa một lớp đối tượng điểm (Zone9_2014_01_Broadcast) và hai bảng được liên kết (Zone9_2014_01_V Tàu và Zone9_2014_01_Voyage). Bạn có thể đọc shapefile trong R sử dụng readOGR
từ rgeos
gói:
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")
Hai bảng được liên kết cũng hiển thị khi bạn sử dụng ogrListLayers
hoặc ogrInfo
. Tuy nhiên, ogrInfo
đưa ra một cảnh báo:
Thông báo cảnh báo: Trong ogrInfo ("Zone9_2014_01.gdb", layer = "Zone9_2014_01_V Tàu"): ogrInfo: tất cả các tính năng NULL
Và nếu bạn cố gắng sử dụng readOGR
trên các bảng, bạn sẽ gặp lỗi:
vessel <- readOGR(dsn = "Zone9_2014_01.gdb", layer = "Zone9_2014_01_Vessel")
Lỗi trong readOGR (dsn = "Zone9_2014_01.gdb", layer = "Zone9_2014_01_V Tàu"): không tìm thấy tính năng nào Ngoài ra: Thông báo cảnh báo: Trong ogrInfo (dsn = dsn, layer = layer, mã hóa = mã hóa, sử dụng tất cả các tính năng NULL
Do đó, dường như chỉ có các tính năng địa lý có thể được đọc bởi readOGR. Có cách nào để nhập các bảng trực tiếp vào R hoặc là giải pháp duy nhất để xuất chúng đầu tiên từ ArcGIS dưới dạng tệp * .dbf (hoặc * .txt) như trong câu trả lời này ?
Ngoài ra, nếu bất kỳ ai cũng có thể cung cấp các cuộc gọi từ R đến tập lệnh python tự động hóa việc xuất các tệp * csv (ưu tiên) hoặc * .dbf, thì đó sẽ là một công việc có thể chấp nhận được. Các giải pháp chỉ cần có thể mở rộng và tự động.
arcgisbbinding
trong R. Hàm arc.open()
sẽ mở bảng dưới dạng arc.dataset-class object
. Để mở trực tiếp như một data.table
, sử dụng chức năng arc.select
.