ฉันต้องการทำงานกับข้อมูลแรสเตอร์ใน R แต่ฉันมีปัญหาในการส่งออกชุดข้อมูลแรสเตอร์ของฉันจาก ArcMap โดย "export data" / GRID ฉันได้รับไฟล์ที่มีนามสกุล * .aux สิ่งที่ฉันต้องการคือ * .grd
ใครช่วยฉันออกได้ไหม
ฉันต้องการทำงานกับข้อมูลแรสเตอร์ใน R แต่ฉันมีปัญหาในการส่งออกชุดข้อมูลแรสเตอร์ของฉันจาก ArcMap โดย "export data" / GRID ฉันได้รับไฟล์ที่มีนามสกุล * .aux สิ่งที่ฉันต้องการคือ * .grd
ใครช่วยฉันออกได้ไหม
คำตอบ:
คำตอบคือไม่ส่งออกเนื่องจากไม่จำเป็นต้อง คุณสามารถอ่านข้อมูลกริด Arc * โดยตรงได้ด้วยแพ็คเกจ raster (เมื่อไลบรารี rgdal พร้อมใช้งาน) และถ้าคุณส่งออกควรหลีกเลี่ยง ascii (ใช้เช่น GTiff)
library(raster)
library(rgdal)
#For an arc/grid (albem_s1 is the folder!):
r <- raster("G:/USGS/DEM/7_5min/VA/albem_s1")
#For a geotiff
r <- raster("G:/USGS/DEM/7_5min/VA/albem_s1.tif")
@RobertH มีวิธีแก้ไขที่สะดวกกว่าสำหรับการอ่านที่อื่นในชุดข้อความนี้ คุณสามารถอ่านชุดข้อมูลกริด Arc * ได้โดยตรงโดยใช้วิธีการเดียวกับที่อธิบายไว้ที่นี่: เพียงอ้างอิงโฟลเดอร์ที่กริด datafiles อยู่ในraster
คำสั่ง
ใน Arc * ใช้Raster to ASCII
เครื่องมือ (พบในConversion Tools|From Raster
) เพื่อส่งออกกริดในรูปแบบ ASCII
ในR
โหลดraster
และrgdal
แพ็กเกจแล้วอ่านแรสเตอร์โดยใช้raster
ฟังก์ชั่นเช่นเดียวกับใน
r <- raster("G:/USGS/DEM/7_5min/VA/albem_s1.txt")
plot(r)
ในการสร้างรุ่น. grd ให้ใช้writeRaster
เหมือนใน
writeRaster(r, "G:/USGS/DEM/7_5min/VA/albem_s1.grd")
การตอบสนองของคอนโซลจะอธิบายสิ่งที่อยู่ในส่วน. grd ของเอาต์พุต (ข้อมูลอยู่ในไฟล์. gri) เช่นเดียวกับใน
class : RasterLayer
filename : G:/USGS/DEM/7_5min/VA/albem_s1.grd
nrow : 1415
ncol : 1133
ncell : 1603195
min value : 70
max value : 960
projection : +proj=utm +zone=17 +ellps=GRS80 +datum=NAD83 +units=m +no_defs +towgs84=0,0,0
xmin : 686280
xmax : 720270
ymin : 4179990
ymax : 4222440
xres : 30
yres : 30
*.asc
หรือไม่? ฉันคิดว่าทั้งสองทำงาน แต่อาจเป็นปัญหาหากคุณลองเปิด*.txt
ไฟล์โดยใช้ ArcGIS
.txt
.asc
ฉันคิดว่ามันอาจจะตอบโต้ได้ง่าย
ไม่ปรากฏว่าไฟล์ ESRI GRID มีไฟล์เดียวที่มีนามสกุล. grd แต่ดูเหมือนว่าจะเป็นรูปแบบหลายโฟลเดอร์ / หลายไฟล์ที่ ArcMap มองว่าเป็นไฟล์เดียว (คล้ายกับการทำงานของ shapefiles และ ArcInfo) ไม่ว่าในกรณีใดไฟล์. ao เป็นไฟล์ตัวช่วยในรูปแบบ GRID ที่เก็บข้อมูลที่ไม่สามารถเก็บไว้ใน raster ได้ นี่คือลิงค์บางส่วนที่พูดถึง:
เกี่ยวกับไฟล์เสริม http://webhelp.esri.com/arcgiSDEsktop/9.3/index.cfm?TopicName=About_auxiliary_files
ไฟล์ .aux ถูกสร้างขึ้นเมื่อใด http://support.esri.com/en/knowledgebase/techarticles/detail/29821
แปลงข้อมูลแรสเตอร์ของคุณเป็น ascii และบันทึกในไดเรกทอรีใด ๆ ของคุณ จากนั้น n R
library(rgdal)
libray(sp)
data<-readGDAL("C:/filepath/file")
สิ่งนี้จะอ่านไฟล์ ASCII ของคุณคุณยังสามารถตรวจสอบข้อมูลของคุณโดยใช้คำสั่งต่าง ๆ เช่น
summary(data)
เป็นการบันทึกข้อมูลแรสเตอร์ของคุณเป็น TIFF จากนั้นใช้แพ็คเกจเดียวกัน (rgdal) ซึ่งจะอ่านไฟล์ tiff ที่คุณจะอ่านเป็น
data<-readGDAL("C:/filepath/file.tiff")