Tôi muốn làm việc với dữ liệu raster trong R, nhưng tôi gặp vấn đề khi xuất dữ liệu raster của mình từ ArcMap. Bằng cách "xuất dữ liệu" / GRID, tôi nhận được một tệp có phần mở rộng * .aux. Cái tôi cần là * .grd.
Ai có thể giúp tôi không?
Tôi muốn làm việc với dữ liệu raster trong R, nhưng tôi gặp vấn đề khi xuất dữ liệu raster của mình từ ArcMap. Bằng cách "xuất dữ liệu" / GRID, tôi nhận được một tệp có phần mở rộng * .aux. Cái tôi cần là * .grd.
Ai có thể giúp tôi không?
Câu trả lời:
Câu trả lời là không xuất khẩu, vì không cần. Bạn có thể đọc trực tiếp dữ liệu lưới Arc * với gói raster (khi thư viện rgdal có sẵn). Và nếu bạn xuất, tốt hơn là tránh ascii (sử dụng ví dụ 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")
Một giải pháp thuận tiện hơn để đọc được cung cấp bởi @RobertH ở nơi khác trong chuỗi này . Bạn có thể đọc trực tiếp tập dữ liệu lưới Arc * bằng cách sử dụng cùng một cách tiếp cận được mô tả ở đây: chỉ cần tham khảo thư mục chứa các tệp dữ liệu lưới trong raster
lệnh.
Trong Arc *, sử dụng Raster to ASCII
công cụ (tìm thấy trong Conversion Tools|From Raster
) để xuất lưới ở định dạng ASCII.
Trong R
, tải các gói raster
và rgdal
gói, sau đó đọc raster bằng raster
hàm, như trong
r <- raster("G:/USGS/DEM/7_5min/VA/albem_s1.txt")
plot(r)
Để tạo phiên bản .grd, hãy sử dụng writeRaster
, như trong
writeRaster(r, "G:/USGS/DEM/7_5min/VA/albem_s1.grd")
Phản hồi của bàn điều khiển sẽ mô tả những gì trong phần .grd của đầu ra (dữ liệu nằm trong tệp .gri), như trong
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
? Tôi cho rằng cả hai đều hoạt động, nhưng có lẽ nó có thể là vấn đề nếu bạn thử mở *.txt
tệp bằng ArcGIS.
.txt
chứ không phải .asc
. Tôi nghĩ rằng nó có thể là phản trực giác.
Dường như tệp ESRI GRID có một tệp có phần mở rộng .grd. Thay vào đó, nó có vẻ là một định dạng nhiều thư mục / nhiều tệp mà ArcMap xem là một tệp (giống như cách các shapefiles và ArcInfo hoạt động). Trong mọi trường hợp, tệp .aux là tệp trợ giúp theo định dạng GRID lưu trữ thông tin không thể được lưu trữ trong chính raster. Dưới đây là một số liên kết nói về nó:
Giới thiệu về các tệp phụ trợ http://webhelp.esri.com/arcgiSDEsktop/9.3/index.cfm?TopicName= About_auxadder_files
Khi nào một tệp .aux được tạo? http://support.esri.com/en/ledgeledridease/Techarticles/detail/29821
chuyển đổi dữ liệu raster của bạn thành ascii và lưu trong bất kỳ thư mục nào của bạn. sau đó n R
library(rgdal)
libray(sp)
data<-readGDAL("C:/filepath/file")
điều này sẽ đọc tệp grcii của bạn, bạn cũng có thể kiểm tra dữ liệu của mình bằng các lệnh varioud như
summary(data)
về cơ bản lưu dữ liệu raster của bạn dưới dạng TIFF, sau đó sử dụng cùng một gói (rgdal), nó sẽ đọc các tệp tiff bạn sẽ đọc dưới dạng
data<-readGDAL("C:/filepath/file.tiff")