ฉันพยายามที่จะอ่านตารางโดยตรงจากแฟ้มของ Geodatabase ESRI เข้าไปในอาร์ไฟล์ตัวอย่างเช่นข้อมูลที่สามารถดาวน์โหลดได้ที่นี่ ฐานข้อมูลมีคลาสคุณลักษณะจุด (Zone9_2014_01_Broadcast) และตารางที่เชื่อมโยงสองตาราง (Zone9_2014_01_Vessel และ Zone9_2014_01_Voyage) คุณสามารถอ่าน shapefile ใน R โดยใช้readOGR
จากrgeos
แพ็คเกจ:
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")
ทั้งสองตารางที่เชื่อมโยงยังแสดงให้เห็นเมื่อคุณใช้หรือogrListLayers
ogrInfo
อย่างไรก็ตามogrInfo
ให้คำเตือน:
ข้อความเตือน: ใน ogrInfo ("Zone9_2014_01.gdb", layer = "Zone9_2014_01_Vessel"): ogrInfo: คุณลักษณะทั้งหมด NULL
และถ้าคุณพยายามใช้readOGR
บนโต๊ะคุณจะได้รับข้อผิดพลาด:
vessel <- readOGR(dsn = "Zone9_2014_01.gdb", layer = "Zone9_2014_01_Vessel")
ข้อผิดพลาดใน readOGR (dsn = "Zone9_2014_01.gdb", layer = "Zone9_2014_01_Vessel"): ไม่พบคุณลักษณะนอกจากนี้: ข้อความเตือน: ใน ogrInfo (dsn = dsn, layer = layer, การเข้ารหัส = การเข้ารหัส, use_iconv = use_iconv,: ogrInfo: คุณสมบัติทั้งหมดเป็นโมฆะ
ดังนั้นจึงปรากฏว่าคุณลักษณะทางภูมิศาสตร์เท่านั้นที่สามารถอ่านได้โดย readOGR มีวิธีใดที่จะนำเข้าตารางโดยตรงไปยัง R หรือเป็นทางออกเดียวที่จะส่งออกจาก ArcGIS เป็นไฟล์ * .dbf (หรือ * .txt) เช่นเดียวกับคำตอบนี้หรือไม่?
นอกจากนี้หากใครก็ตามสามารถโทรจาก R ไปยังสคริปต์ python ที่ทำการเอ็กซ์พอร์ตไฟล์ * csv (ดีกว่า) หรือ * .dbf โดยอัตโนมัตินั่นจะเป็นการแก้ไขที่ยอมรับได้ การแก้ปัญหาเพียงแค่ต้องปรับขนาดได้และเป็นแบบอัตโนมัติ
arcgisbbinding
ในอาร์ฟังก์ชั่นจะเปิดตารางในฐานะที่เป็นarc.open()
arc.dataset-class object
เพื่อเปิดโดยตรงเป็นฟังก์ชั่นการใช้งานdata.table
arc.select