Як я можу експортувати растрові дані з Arcmap у формат файлу R * .grd?


10

Я хочу працювати з растровими даними в R, але у мене є проблеми з експортом мого растрового набору даних з ArcMap. За допомогою "експорту даних" / GRID я отримую файл із розширенням * .aux. Що мені потрібно - * .grd.

Хтось може мені допомогти?


Растр до інших форматів> help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#//… GRID
Mapperz

5
Це допоможе потенційним респондентам дізнатись, що .grd-файл знаходиться у форматі, особливо до растрового пакету в Р. Не сподівайтесь знайти (поки) жодного способу написання цього формату в 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 * grid безпосередньо, використовуючи той самий підхід, описаний тут: просто посилайтеся на папку, в якій знаходяться файли даних сітки в 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. Я думав, що це може бути контр-інтуїтивно зрозумілим.
djq

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

2

Не видається, що у файлу ESRI GRID є один файл із розширенням .grd. Натомість, здається, це формат з декількома папками / мультифайлами, який ArcMap сприймає як один файл (подібний до того, як працюють shapefiles та 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-файл для введення в Р. Отже, мені здається, що хоча поради, запропоновані у цій відповіді, є правильними, він не вдається. тест на корисність. У цьому відношенні низовики служать майбутнім читачам, відводячи їх від порад, які можуть бути добромірними, правильними, навіть добре написаними та цікавими, але (на думку громади), ймовірно, будуть безрезультатними.
whuber

Дякую @whuber. Це допомагає нагадати поглянути на текст того, що насправді представлено, і порівняти його зі значенням, який я накопичив у своїй голові з часом. Був якийсь континентальний дрейф!
matt wilkie

1

конвертувати ваші растрові дані в ascii і зберегти в будь-якому вашому каталозі. то n R

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

це прочитає ваш сітковий файл ascii, ви також можете перевірити свої дані за допомогою команд varioud, таких як

summary(data)

попереджувально збережіть ваші растрові дані як TIFF, потім, використовуючи той самий пакет (rgdal), він зчитує файли tiff, які ви будете читати як

data<-readGDAL("C:/filepath/file.tiff")
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.