Bagaimana saya bisa mengekspor data raster dari Arcmap ke format file R * .grd?

10

Saya ingin bekerja dengan data raster di R, tapi saya punya masalah mengekspor dataset raster saya dari ArcMap. Dengan "ekspor data" / GRID saya mendapatkan file dengan ekstensi * .aux. Yang saya butuhkan adalah * .grd.

Adakah yang bisa membantu saya?

leni
sumber
5
Akan membantu calon responden untuk mengetahui bahwa file .grd berada dalam format khusus untuk paket raster di R. Jangan berharap menemukan (belum) cara apa pun untuk menulis format ini di Arc * dan berhati-hatilah dalam membingungkan format ini dengan format lain yang menggunakan "grd" sebagai ekstensi.
whuber
Apa format raster asli Anda? @RobertH menunjukkan bahwa Anda mungkin dapat membacanya langsung ke R, tanpa perlu mengekspornya.
djq

Jawaban:

6

Jawabannya adalah jangan ekspor, karena tidak perlu. Anda dapat langsung membaca data grid Arc * dengan paket raster (ketika library rgdal tersedia). Dan jika Anda mengekspor, lebih baik untuk menghindari ascii (gunakan misalnya 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
sumber
6

Edit

Solusi yang lebih nyaman untuk membaca disediakan oleh @RobertH di tempat lain di utas ini . Anda dapat membaca dataset grid Arc * secara langsung menggunakan pendekatan yang sama yang dijelaskan di sini: cukup referensi folder di mana datafil grid berada pada rasterperintah.

Balasan asli

Di Arc *, gunakan Raster to ASCIIalat (ditemukan dalam Conversion Tools|From Raster) untuk mengekspor kotak dalam format ASCII.

Di R, muat rasterdan rgdalpaket, lalu baca raster menggunakan rasterfungsi, seperti pada

r <- raster("G:/USGS/DEM/7_5min/VA/albem_s1.txt")
plot(r)

Untuk membuat versi .grd, gunakan writeRaster, seperti pada

writeRaster(r, "G:/USGS/DEM/7_5min/VA/albem_s1.grd")

Respons konsol akan menjelaskan apa yang ada di bagian .grd dari output (data ada dalam file .gri), seperti pada

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 
whuber
sumber
Ini adalah poin yang sangat kecil, tetapi jika diekspor sebagai ascii, seharusnya jenis file tidak *.asc? Saya kira keduanya berfungsi, tapi mungkin itu bisa menjadi masalah jika Anda mencoba membuka *.txtfile menggunakan ArcGIS.
djq
1
Format file dan ekstensi file adalah hal yang independen, @celenius. Benar, beberapa OS dan beberapa perangkat lunak menggunakan ekstensi sebagai petunjuk untuk format (meskipun perangkat lunak yang baik akan secara otomatis menimpa petunjuk itu atau akan menimpanya atas permintaan pengguna). Namun, dalam contoh ini, nama-nama tidak penting sama sekali. Jika Anda memiliki masalah dalam mengimpor atau membuka file dengan ekstensi .txt di ArcGIS, Anda selalu dapat mengubah nama file tersebut, tetapi itu tidak termasuk dalam cakupan pertanyaan ini.
Whuber
Saya sangat menghargai perbedaan antara format file dan ekstensi file. Saya terutama penasaran mengapa orang memilih untuk menampilkan file .txtdaripada .asc. Saya pikir itu mungkin kontra-intuitif.
djq
@celenius Input dalam contoh ini memiliki ekstensi .txt (bukan output). Itu diambil dari contoh aktual di mana file .txt awalnya diproduksi oleh perangkat lunak yang lebih lama.
whuber
2

Tampaknya tidak ada file ESRI GRID yang memiliki satu file dengan ekstensi .grd. Alih-alih itu tampaknya merupakan format multi-folder / multi-file yang ArcMap lihat sebagai satu file (mirip dengan cara kerja shapefile dan ArcInfo). Dalam setiap kasus file .aux adalah file pembantu ke format GRID yang menyimpan informasi yang tidak dapat disimpan dalam raster itu sendiri. Berikut ini beberapa tautan yang membicarakannya:

Tentang file tambahan http://webhelp.esri.com/arcgiSDEsktop/9.3/index.cfm?TopicName=About_auxiliary_files

Kapan file .aux dibuat? http://support.esri.com/en/knowledgebase/techarticles/detail/29821

Damon Pettitt
sumber
2
orang-orang, tolong jangan turunkan suara tanpa menjelaskan mengapa kecuali itu jelas apa yang salah. Dalam hal ini, saya tidak mengerti. ((Hai Damon, selamat datang di GIS.se. Itu akan lebih baik, jujur. ;-))
matt wilkie
Perhatikan, @Matt, bahwa hovertext untuk tombol downvote mengatakan "Jawaban ini tidak berguna ...", bukan itu salah. Pertanyaannya tidak menanyakan apakah file .aux itu: (jelas dan ringkas) meminta bantuan membuat file .grd untuk input ke R. Jadi, bagi saya, meskipun saran yang ditawarkan dalam balasan ini benar, namun gagal tes kegunaan. Dalam hal ini, downvotes melayani pembaca masa depan dengan menjauhkan mereka dari saran yang mungkin bermakna baik, benar, dan bahkan ditulis dengan baik dan menarik, tetapi (menurut pendapat masyarakat) kemungkinan tidak akan membuahkan hasil.
whuber
Terima kasih @whuber. Sangat membantu untuk diingatkan untuk melihat teks dari apa yang sebenarnya disajikan, dan kontras dengan makna yang telah saya bangun di kepala saya dari waktu ke waktu. Sudah ada pergeseran benua!
matt wilkie
1

konversikan data raster Anda ke ascii dan simpan di salah satu direktori Anda. lalu n R

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

ini akan membaca file grid ascii Anda, Anda juga dapat chech data Anda dengan perintah varioud seperti

summary(data)

alernatively menyimpan data raster Anda sebagai TIFF kemudian menggunakan paket yang sama (rgdal) itu membaca file tiff Anda akan membaca

data<-readGDAL("C:/filepath/file.tiff")
kaikombo
sumber