Я хочу работать с растровыми данными в R, но у меня возникают проблемы с экспортом моего набора растровых данных из ArcMap. По "экспорту данных" / GRID я получаю файл с расширением * .aux. Что мне нужно, это * .grd.
Кто-нибудь может мне помочь?
Я хочу работать с растровыми данными в R, но у меня возникают проблемы с экспортом моего набора растровых данных из ArcMap. По "экспорту данных" / GRID я получаю файл с расширением * .aux. Что мне нужно, это * .grd.
Кто-нибудь может мне помочь?
Ответы:
Ответ не экспортировать, потому что нет необходимости. Вы можете напрямую читать данные сетки Arc * с помощью растрового пакета (когда доступна библиотека rgdal). И если вы экспортируете, лучше избегать ascii (используйте, например, 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 в другом месте в этой теме . Вы можете прочитать набор данных сетки Arc * напрямую, используя тот же подход, который описан здесь: просто обратитесь к папке, в которой находятся файлы данных сетки, в raster
команде.
В Arc * используйте Raster to ASCII
инструмент (находится в Conversion Tools|From Raster
), чтобы экспортировать сетку в формате ASCII.
В R
, загрузите raster
и rgdal
пакеты, а затем прочитать растр с помощью raster
функции, как и в
r <- raster("G:/USGS/DEM/7_5min/VA/albem_s1.txt")
plot(r)
Чтобы создать .grd версию, используйте writeRaster
, как в
writeRaster(r, "G:/USGS/DEM/7_5min/VA/albem_s1.grd")
Ответ консоли будет описывать то, что находится в .grd части вывода (данные находятся в файле .gri), как в
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
? Я предполагаю, что оба работают, но, возможно, это может быть проблемой, если вы попытаетесь открыть *.txt
файл с помощью ArcGIS.
.txt
а не .asc
. Я думал, что это может быть нелогичным.
Похоже, что файл ESRI GRID имеет один файл с расширением .grd. Вместо этого кажется, что это многопользовательский / многофайловый формат, который ArcMap видит как один файл (сродни тому, как работают шейп-файлы и покрытия ArcInfo). В любом случае файл .aux является вспомогательным файлом в формате GRID, в котором хранится информация, которую нельзя сохранить в самом растре. Вот несколько ссылок, которые говорят об этом:
О вспомогательных файлах http://webhelp.esri.com/arcgiSDEsktop/9.3/index.cfm?TopicName=About_auxiliary_files
Когда создается файл .aux? http://support.esri.com/en/knowledgebase/techarticles/detail/29821
конвертируйте свои растровые данные в ascii и сохраните в любом своем каталоге. тогда п р
library(rgdal)
libray(sp)
data<-readGDAL("C:/filepath/file")
это прочитает ваш файл в формате ascii, вы также можете проверить данные с помощью различных команд, таких как
summary(data)
Сохраните свои растровые данные в формате TIFF, а затем, используя тот же пакет (rgdal), считывает файлы TIFF, которые вы будете читать как
data<-readGDAL("C:/filepath/file.tiff")