¿Cómo puedo exportar datos ráster de Arcmap a un formato de archivo R * .grd?

10

Quiero trabajar con datos ráster en R, pero tengo problemas para exportar mi dataset ráster desde ArcMap. Por "exportar datos" / GRID obtengo un archivo con una extensión * .aux. Lo que necesito es * .grd.

¿Alguien puede ayudarme?

Leni
fuente
Ráster a otros formatos> help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#//… GRID
Mapperz
55
Sería de ayuda que los encuestados supieran que un archivo .grd está en un formato particular del paquete ráster en R. No espere encontrar (todavía) ninguna forma de escribir este formato en Arc * y tenga cuidado de confundir este formato con otros formatos que usan "grd" como extensión.
whuber
¿En qué formato está su ráster original? @RobertH señala que probablemente pueda leerlo directamente en R, sin necesidad de exportarlo.
djq

Respuestas:

6

La respuesta es no exportar, porque no hay necesidad de hacerlo. Puede leer directamente los datos de la cuadrícula Arc * con el paquete ráster (cuando la biblioteca rgdal está disponibled). Y si exporta, es mejor evitar ascii (use, por ejemplo, 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
fuente
6

Editar

@RobertH proporciona una solución más conveniente para la lectura en otra parte de este hilo . Puede leer el conjunto de datos de la cuadrícula Arc * directamente utilizando el mismo enfoque descrito aquí: simplemente haga referencia a la carpeta en la que se encuentran los archivos de datos de la cuadrícula en el rastercomando.

Respuesta original

En Arc *, use la Raster to ASCIIherramienta (que se encuentra en Conversion Tools|From Raster) para exportar una cuadrícula en formato ASCII.

En R, cargue los paquetes rastery rgdal, luego lea el ráster usando la rasterfunción, como en

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

Para crear la versión .grd, use writeRaster, como en

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

La respuesta de la consola describirá lo que hay en la parte .grd de la salida (los datos están en un archivo .gri), como en

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
fuente
Este es un punto muy pequeño, pero si se exporta como ascii, ¿no debería ser el tipo de archivo *.asc? Supongo que ambos funcionan, pero quizás podría ser un problema si intentas abrir un *.txtarchivo usando ArcGIS.
djq
1
El formato y la extensión del archivo son cosas independientes, @celenius. Es cierto que algunos sistemas operativos y algún software utilizan la extensión como una pista sobre el formato (aunque un buen software anulará automáticamente esa sugerencia o la anulará a petición del usuario). En este ejemplo, sin embargo, los nombres no importan en lo más mínimo. Si tiene problemas para importar o abrir un archivo con una extensión .txt en ArcGIS, siempre puede cambiarle el nombre, pero eso no está dentro del alcance de esta pregunta.
whuber
Aprecio la distinción entre formato de archivo y extensión de archivo. Tenía curiosidad principalmente por qué uno elegiría generar el archivo en .txtlugar de hacerlo .asc. Pensé que podría ser contra-intuitivo.
djq
@celenius La entrada en este ejemplo tiene una extensión .txt (no la salida). Fue tomado de un ejemplo real en el que el archivo .txt había sido producido originalmente por un software anterior.
whuber
2

No parece que un archivo ESRI GRID tenga un solo archivo con una extensión .grd. En cambio, parece ser un formato de múltiples carpetas / archivos que ArcMap ve como un solo archivo (similar a cómo funcionan los shapefiles y las coberturas de ArcInfo). En cualquier caso, el archivo .aux es un archivo auxiliar al formato GRID que almacena información que no se puede almacenar en el ráster. Aquí hay algunos enlaces que hablan de ello:

Acerca de los archivos auxiliares http://webhelp.esri.com/arcgiSDEsktop/9.3/index.cfm?TopicName=About_auxiliary_files

¿Cuándo se crea un archivo .aux? http://support.esri.com/en/knowledgebase/techarticles/detail/29821

Damon Pettitt
fuente
2
personas, por favor no voten sin explicar por qué, a menos que esté sangrando lo que está mal. En este caso, no lo entiendo. ((Hola Damon, bienvenido a GIS.se. Se pone mejor, honesto. ;-))
matt wilkie
Tenga en cuenta, @Matt, que el texto hoverte para el botón de voto negativo dice "Esta respuesta no es útil ...", no es que esté mal. La pregunta no pregunta qué es un archivo .aux: pide (clara y sucintamente) ayuda para crear un archivo .grd para ingresar a R. Entonces, me parece que aunque el consejo ofrecido en esta respuesta es correcto, falla La prueba de utilidad. En este sentido, los votos negativos sirven a los futuros lectores al alejarlos de los consejos que pueden ser bien intencionados, correctos e incluso bien escritos e interesantes, pero (en opinión de la comunidad) es probable que sean infructuosos.
whuber
Gracias @whuber. Es útil que recuerden mirar el texto de lo que realmente se presenta y contrastarlo con el significado que he acumulado en mi cabeza con el tiempo. ¡Ha habido alguna deriva continental!
Matt Wilkie
1

Convierta sus datos ráster a ASCII y guárdelos en cualquiera de sus directorios. entonces n R

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

esto leerá su archivo ascii grided, también puede revisar sus datos mediante comandos varioud como

summary(data)

guarde los datos ráster de forma nativa como TIFF y luego use el mismo paquete (rgdal) para leer los archivos tiff que leerá como

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