Raster verilerini Arcmap'ten R * .grd dosya biçimine nasıl aktarabilirim?


10

R'de raster verileriyle çalışmak istiyorum, ancak raster veri kümemi ArcMap'tan dışa aktarmada sorun yaşıyorum. "Verileri dışa aktar" / GRID ile * .aux uzantılı bir dosya alıyorum. İhtiyacım olan * .grd.

Biri bana yardım edebilir mi?



5
Yanıtlayanların, bir .grd dosyasının R'deki raster paketine özgü bir formatta olduğunu bilmelerine yardımcı olur. Bu formatı Arc * içine yazmanın (henüz) herhangi bir yolunu bulmayı beklemeyin ve bu formatı karıştırmayın. uzantı olarak "grd" kullanan diğer biçimlerle.
whuber

Orijinal rasteriniz hangi formatta? @RobertH, dışarı aktarmaya gerek kalmadan muhtemelen doğrudan R'ye okuyabileceğinizi belirtiyor.
djq

Yanıtlar:


6

Cevap ihraç etmiyor, çünkü buna gerek yok. Arc * grid verilerini raster paketiyle doğrudan okuyabilirsiniz (kütüphane rgdal mevcut olduğunda). Ve ihracat yaparsanız, ascii'den kaçınmak daha iyidir (örn. GTiff kullanın).

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

Düzenle

Bu konudaki başka bir yerde @RobertH tarafından okuma için daha uygun bir çözüm sağlanır . Arc * ızgara veri kümesini burada açıklananla aynı yaklaşımı kullanarak doğrudan okuyabilirsiniz: ızgara veri dosyalarının rasterkomutta bulunduğu klasöre başvurmanız yeterlidir .

Orijinal cevap

Arc * 'da, bir ızgarayı ASCII biçiminde dışa aktarmak için Raster to ASCII(içinde bulunan Conversion Tools|From Raster) aracını kullanın .

İçinde ve paketlerini Ryükleyin , ardından fonksiyonu kullanarak rasterleri okuyun .rasterrgdalraster

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

.Grd sürümünü oluşturmak için writeRaster,

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

Konsol yanıtı, çıktının .grd kısmında (veriler bir .gri dosyasında bulunur) olduğu gibi,

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 

Bu çok küçük bir nokta, ama ascii olarak dışa aktarılırsa dosya türü olmamalı *.ascmı? Her ikisinin de çalıştığını düşünüyorum, ancak *.txtArcGIS kullanarak bir dosya açmayı denerseniz belki de bir sorun olabilir .
djq

1
Dosya biçimi ve dosya uzantısı bağımsız şeylerdir, @celenius. Doğru, bazı işletim sistemleri ve bazı yazılımlar uzantıyı formata ilişkin bir ipucu olarak kullanır (iyi yazılım bu ipucunu otomatik olarak geçersiz kılar veya kullanıcının isteği üzerine geçersiz kılar). Ancak bu örnekte, isimler en azından önemli değildir. ArcGIS'de .txt uzantılı bir dosyayı içe aktarma veya açma konusunda sorun yaşıyorsanız, dosyayı her zaman yeniden adlandırabilirsiniz, ancak bu bu sorunun kapsamında değildir.
whuber

Dosya biçimi ve dosya uzantısı arasındaki farkı takdir ediyorum. Ben esas olarak neden dosya .txtyerine çıktı seçmeyi merak ediyordum .asc. Bunun sezgisel olabileceğini düşündüm.
djq

@celenius Bu örnekteki girdinin .txt uzantısı vardır (çıktı değil). .Txt dosyasının başlangıçta eski bir yazılım tarafından üretildiği gerçek bir örnekten alınmıştır.
whuber

2

ESRI GRID dosyasında .grd uzantılı tek bir dosya olduğu görülmüyor. Bunun yerine, ArcMap'in tek bir dosya olarak gördüğü çok katmanlı / çok dosyalı bir format gibi görünüyor (şekil dosyaları ve ArcInfo kapsamlarının nasıl çalıştığına benzer). Her durumda, .aux dosyası, rasterde depolanamayan bilgileri depolayan GRID biçimine yardımcı bir dosyadır. İşte bunun hakkında konuşan bazı bağlantılar:

Yardımcı dosyalar hakkında http://webhelp.esri.com/arcgiSDEsktop/9.3/index.cfm?TopicName=About_auxiliary_files

Bir .aux dosyasi ne zaman oluşturulur? http://support.esri.com/en/knowledgebase/techarticles/detail/29821


2
insanlar, neyin yanlış gittiğini açıkça göstermedikçe, nedenini açıklamadan aşağı inmeyin. Bu durumda anlamıyorum. ((Merhaba Damon, GIS.se'ye hoş geldiniz. Daha iyi, dürüst. ;-))
matt wilkie

@Matt, aşağı oy düğmesinin fareyle üzerine gelindiğinde "Bu yanıt yararlı değil ..." yazdığını, bunun yanlış olmadığını unutmayın. Soru bir .aux dosyasının ne olduğunu sormuyor: (açıkça ve özlü olarak) R'ye giriş için bir .grd dosyası oluşturmak için yardım ister. Bu yüzden bana bu cevapta sunulan tavsiye doğru olmasına rağmen başarısız oluyor kullanışlılık testi. Bu bakımdan aşağı oylar, gelecekteki okuyuculara, iyi niyetli, doğru ve hatta iyi yazılmış ve ilginç olabilecek tavsiyelerden uzaklaştırarak hizmet eder, ancak (topluluğun görüşüne göre) muhtemelen meyvesiz olacaktır.
whuber

Teşekkürler @whuber. Gerçekte sunulanın metnine bakmanın ve zamanla kafamda biriktirdiğim anlamla kontrast oluşturmasının hatırlatılmasına yardımcı olur. Bazı kıtasal sürüklenme oldu!
matt wilkie

1

Raster verilerinizi ASCII'ye dönüştürün ve dizininizden herhangi birine kaydedin. sonra n R

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

Bu, ascii ızgaralı dosyanızı okuyacaktır, ayrıca verilerinizi

summary(data)

Raster verilerinizi TIFF olarak dikkatlice kaydedin, ardından aynı paketi (rgdal) kullanarak okuduğunuz tiff dosyalarını okur

data<-readGDAL("C:/filepath/file.tiff")
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.