Voglio lavorare con i dati raster in R, ma ho problemi nell'esportazione del mio set di dati raster da ArcMap. Con "export data" / GRID ottengo un file con estensione * .aux. Quello di cui ho bisogno è * .grd.
Qualcuno può darmi una mano?
Voglio lavorare con i dati raster in R, ma ho problemi nell'esportazione del mio set di dati raster da ArcMap. Con "export data" / GRID ottengo un file con estensione * .aux. Quello di cui ho bisogno è * .grd.
Qualcuno può darmi una mano?
Risposte:
La risposta è non esportare, perché non è necessario. È possibile leggere direttamente i dati della griglia Arc * con il pacchetto raster (quando è disponibile la libreria rgdal). E se esporti, è meglio evitare ascii (usare ad esempio 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")
Una soluzione più comoda per la lettura è fornita da @RobertH altrove in questo thread . È possibile leggere il set di dati della griglia Arc * direttamente utilizzando lo stesso approccio descritto qui: fare semplicemente riferimento alla cartella in cui si trovano i file di dati della griglia nel rastercomando.
In Arc *, utilizzare lo Raster to ASCIIstrumento (disponibile in Conversion Tools|From Raster) per esportare una griglia in formato ASCII.
In R, carica i pacchetti rastere rgdal, quindi leggi il raster usando la rasterfunzione, come in
r <- raster("G:/USGS/DEM/7_5min/VA/albem_s1.txt")
plot(r)
Per creare la versione .grd, utilizzare writeRaster, come in
writeRaster(r, "G:/USGS/DEM/7_5min/VA/albem_s1.grd")
La risposta della console descriverà cosa c'è nella parte .grd dell'output (i dati sono in un file .gri), come in
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? Suppongo che entrambi funzionino, ma forse potrebbe essere un problema se provi ad aprire un *.txtfile usando ArcGIS.
.txtpiuttosto che .asc. Ho pensato che potesse essere controintuitivo.
Non sembra che un file GRID ESRI abbia un singolo file con estensione .grd. Invece sembra essere un formato multi-cartella / multi-file che ArcMap vede come un unico file (simile a come funzionano gli shapefile e le copertine di ArcInfo). In ogni caso, il file .aux è un file di supporto nel formato GRID che memorizza informazioni che non possono essere archiviate nel raster stesso. Ecco alcuni link che ne parlano:
Informazioni sui file ausiliari http://webhelp.esri.com/arcgiSDEsktop/9.3/index.cfm?TopicName=About_auxitime_files
Quando viene creato un file .aux? http://support.esri.com/en/knowledgebase/techarticles/detail/29821
converti i tuoi dati raster in ascii e salvali in qualsiasi directory. quindi n R
library(rgdal)
libray(sp)
data<-readGDAL("C:/filepath/file")
questo leggerà il tuo file grido ASCII e puoi anche controllare i tuoi dati con comandi variud come
summary(data)
salva in modo alternativo i tuoi dati raster come TIFF quindi usando lo stesso pacchetto (rgdal) legge i file tiff che leggerai come
data<-readGDAL("C:/filepath/file.tiff")