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 raster
comando.
In Arc *, utilizzare lo Raster to ASCII
strumento (disponibile in Conversion Tools|From Raster
) per esportare una griglia in formato ASCII.
In R
, carica i pacchetti raster
e rgdal
, quindi leggi il raster usando la raster
funzione, 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 *.txt
file usando ArcGIS.
.txt
piuttosto 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")