ฉันจะส่งออกข้อมูลแรสเตอร์จาก Arcmap เป็นรูปแบบไฟล์ R * .grd ได้อย่างไร


10

ฉันต้องการทำงานกับข้อมูลแรสเตอร์ใน R แต่ฉันมีปัญหาในการส่งออกชุดข้อมูลแรสเตอร์ของฉันจาก ArcMap โดย "export data" / GRID ฉันได้รับไฟล์ที่มีนามสกุล * .aux สิ่งที่ฉันต้องการคือ * .grd

ใครช่วยฉันออกได้ไหม


Raster to รูปแบบอื่น ๆ > help.arcgis.com/th/arcgisdesktop/10.0/help/index.html#//…ตาราง
กริด

5
มันจะช่วยให้ผู้ตอบแบบสอบถามรู้ว่าไฟล์. grd อยู่ในรูปแบบเฉพาะของแพ็คเกจแรสเตอร์ใน R อย่าคาดหวังว่าจะหาวิธีเขียนรูปแบบนี้ใน Arc * และระวังการทำให้รูปแบบนี้สับสน กับรูปแบบอื่น ๆ ที่ใช้ "grd" เป็นส่วนขยาย
whuber

แรสเตอร์ดั้งเดิมของคุณอยู่ในรูปแบบใด @RobertH ชี้ให้เห็นว่าคุณสามารถอ่านลงใน R ได้โดยตรงโดยไม่จำเป็นต้องส่งออก
djq

คำตอบ:


6

คำตอบคือไม่ส่งออกเนื่องจากไม่จำเป็นต้อง คุณสามารถอ่านข้อมูลกริด 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")

6

แก้ไข

@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 

นี่เป็นจุดที่เล็กมาก แต่ถ้ามันถูกส่งออกเป็น ascii ควรเป็นประเภทไฟล์*.ascหรือไม่? ฉันคิดว่าทั้งสองทำงาน แต่อาจเป็นปัญหาหากคุณลองเปิด*.txtไฟล์โดยใช้ ArcGIS
djq

1
รูปแบบไฟล์และนามสกุลไฟล์เป็นสิ่งที่เป็นอิสระ @celenius จริง ๆ แล้ว OS บางตัวและซอฟต์แวร์บางตัวใช้ส่วนขยายนั้นเป็นคำใบ้เกี่ยวกับรูปแบบ (แม้ว่าซอฟต์แวร์ที่ดีจะแทนที่คำแนะนำนั้นโดยอัตโนมัติหรือจะแทนที่มันตามคำขอของผู้ใช้) อย่างไรก็ตามในตัวอย่างนี้ชื่อมีความสำคัญน้อยที่สุด หากคุณมีปัญหาในการนำเข้าหรือเปิดไฟล์ที่มีนามสกุล. txt ใน ArcGIS คุณสามารถเปลี่ยนชื่อได้เสมอ แต่นั่นไม่ได้อยู่ในขอบเขตของคำถามนี้
whuber

ฉันขอขอบคุณความแตกต่างระหว่างรูปแบบไฟล์และนามสกุลไฟล์ ผมเป็นส่วนใหญ่อยากรู้ว่าทำไมใครจะเลือกที่จะส่งออกไฟล์เป็นมากกว่า.txt .ascฉันคิดว่ามันอาจจะตอบโต้ได้ง่าย
djq

@celenius อินพุตในตัวอย่างนี้มีนามสกุล. txt (ไม่ใช่เอาต์พุต) มันมาจากตัวอย่างจริงซึ่งไฟล์. txt นั้นผลิตโดยซอฟต์แวร์รุ่นเก่า
whuber

2

ไม่ปรากฏว่าไฟล์ 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


2
ผู้คนโปรดอย่าลงคะแนนโดยไม่ได้อธิบายว่าเพราะอะไรเว้นแต่ว่ามีเลือดออกชัดเจนว่ามีอะไรผิดปกติ ในกรณีนี้ฉันไม่ได้รับ ((สวัสดีเดม่อนยินดีต้อนรับสู่ GIS.se มันจะดีขึ้นซื่อสัตย์ ;-))
แมตต์วิลคี

หมายเหตุ @Matt ว่าปุ่มโฮเวอร์ของข้อความ downvote บอกว่า "คำตอบนี้ไม่มีประโยชน์ ... " ไม่ใช่ว่ามันผิด คำถามไม่ได้ถามว่าไฟล์. ost คืออะไร: มัน (ชัดเจนและชัดถ้อยชัดคำ) ขอความช่วยเหลือในการสร้างไฟล์. grd เพื่อป้อนไปยัง R ดังนั้นฉันจึงดูเหมือนว่าแม้ว่าคำแนะนำในการตอบนี้ถูกต้องแล้วก็ล้มเหลว การทดสอบประโยชน์ ในแง่นี้ downvote ให้บริการผู้อ่านในอนาคตโดยการแยกพวกเขาออกจากคำแนะนำที่อาจมีความหมายถูกต้องและแม้กระทั่งเขียนดีและน่าสนใจ แต่ (ในความเห็นของชุมชน) มีแนวโน้มที่จะไร้ผล
whuber

ขอบคุณ @whuber มันจะช่วยเตือนให้ดูข้อความที่นำเสนอจริงและเปรียบเทียบกับความหมายที่ฉันได้สร้างขึ้นในหัวของฉันเมื่อเวลาผ่านไป มีบางทวีปลอย!
matt wilkie

1

แปลงข้อมูลแรสเตอร์ของคุณเป็น ascii และบันทึกในไดเรกทอรีใด ๆ ของคุณ จากนั้น n R

library(rgdal)
libray(sp)
data<-readGDAL("C:/filepath/file")

สิ่งนี้จะอ่านไฟล์ ASCII ของคุณคุณยังสามารถตรวจสอบข้อมูลของคุณโดยใช้คำสั่งต่าง ๆ เช่น

summary(data)

เป็นการบันทึกข้อมูลแรสเตอร์ของคุณเป็น TIFF จากนั้นใช้แพ็คเกจเดียวกัน (rgdal) ซึ่งจะอ่านไฟล์ tiff ที่คุณจะอ่านเป็น

data<-readGDAL("C:/filepath/file.tiff")
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.