Как я могу экспортировать растровые данные из Arcmap в формат файла R * .grd?


10

Я хочу работать с растровыми данными в R, но у меня возникают проблемы с экспортом моего набора растровых данных из ArcMap. По "экспорту данных" / GRID я получаю файл с расширением * .aux. Что мне нужно, это * .grd.

Кто-нибудь может мне помочь?


Растр в другие форматы> help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#//… GRID
Mapperz

5
Потенциальным респондентам было бы полезно знать, что файл .grd находится в формате, специфичном для растрового пакета в R. Не ожидайте (пока) какого-либо способа написать этот формат в Arc * и остерегайтесь путаницы в этом формате. с другими форматами, которые используют "grd" в качестве расширения.
whuber

В каком формате ваш оригинальный растр? @RobertH указывает, что вы, вероятно, можете прочитать его в R напрямую, без необходимости экспортировать его.
djq

Ответы:


6

Ответ не экспортировать, потому что нет необходимости. Вы можете напрямую читать данные сетки 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")

6

редактировать

Более удобное решение для чтения предоставлено @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 

Это очень маленький вопрос, но если он экспортируется как ascii, должен ли быть тип файла *.asc? Я предполагаю, что оба работают, но, возможно, это может быть проблемой, если вы попытаетесь открыть *.txtфайл с помощью ArcGIS.
djq

1
Формат файла и расширение файла являются независимыми вещами, @celenius. Правда, некоторые ОС и некоторые программы используют расширение в качестве подсказки для формата (хотя хорошее программное обеспечение либо автоматически переопределит эту подсказку, либо переопределит ее по запросу пользователя). В этом примере, однако, имена не имеют значения ни в малейшей степени. Если у вас есть проблемы с импортом или открытием файла с расширением .txt в ArcGIS, вы всегда можете переименовать его, но это не входит в сферу этого вопроса.
whuber

Я ценю различие между форматом файла и расширением файла. Мне было в основном любопытно, почему можно было бы выводить файл, .txtа не .asc. Я думал, что это может быть нелогичным.
DJN

@celenius Входные данные в этом примере имеют расширение .txt (не выходные). Это было взято из фактического примера, в котором файл .txt изначально создавался старым программным обеспечением.
whuber

2

Похоже, что файл 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


2
люди, пожалуйста, не отрицайте, не объясняя, почему, если это не истекает кровью, очевидно, что не так. В этом случае я не понимаю. ((Привет, Деймон, добро пожаловать на GIS.se. Становится лучше, честно. ;-))
Matt Wilkie

Обратите внимание, @Matt, что текст подсказки для кнопки downvote гласит: «Этот ответ бесполезен ...», а не то, что он неправильный. Вопрос не задает, что такое файл .aux: он (четко и лаконично) просит помощи в создании файла .grd для ввода в R. Таким образом, мне кажется, что хотя совет, предложенный в этом ответе, верен, он терпит неудачу тест полезности. В этом отношении отрицательные отзывы служат будущим читателям, отвлекая их от совета, который может быть благонамеренным, правильным и даже хорошо написанным и интересным, но (по мнению сообщества), скорее всего, будет бесполезным.
whuber

Спасибо @whuber. Полезно напомнить, что нужно посмотреть на текст того, что на самом деле представлено, и сопоставить его со значением, которое я со временем выстроил в своей голове. Там был какой-то континентальный дрейф!
Мэтт Вилки

1

конвертируйте свои растровые данные в ascii и сохраните в любом своем каталоге. тогда п р

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

это прочитает ваш файл в формате ascii, вы также можете проверить данные с помощью различных команд, таких как

summary(data)

Сохраните свои растровые данные в формате TIFF, а затем, используя тот же пакет (rgdal), считывает файлы TIFF, которые вы будете читать как

data<-readGDAL("C:/filepath/file.tiff")
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.