Как преобразовать один растровый формат в другой формат?

У меня есть растровый файл для всего мира, детали которого:

class       : RasterLayer 
dimensions  : 18000, 43200, 777600000  (nrow, ncol, ncell)
resolution  : 0.008333333, 0.008333333  (x, y)
extent      : -180, 180, -60, 90  (xmin, xmax, ymin, ymax)
coord. ref. : +proj=longlat +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +no_defs 
data source : E:\bc26pr50\bc26pr501.tif 
names       : bc26pr501 
values      : 0, 1100  (min, max)

И я хочу подмножить его, чтобы имитировать другой растровый файл, который предназначен только для США:

class       : RasterLayer 
dimensions  : 3500, 7000, 24500000  (nrow, ncol, ncell)
resolution  : 0.01, 0.01  (x, y)
extent      : -130, -60, 20, 55  (xmin, xmax, ymin, ymax)
coord. ref. : NA 
data source : E:\dem.tif 
names       : dem 
values      : -85.25208, 4385.539  (min, max)

Как я могу преобразовать разрешение, а также подмножить набор данных? Должен ли я использовать RGDAL для этого? Любые указатели будут полезны.


person maximusdooku    schedule 06.09.2016    source источник


Ответы (2)


Я бы предложил использовать функцию gdalwarp в пакете gdalUtils. Вам нужно будет установить параметры «te» и «tr» и, возможно, немного поиграть с «tap», но вы должны легко получить то, что хотите.

ХТХ,

Лоренцо

person lbusett    schedule 23.09.2016

Во-первых, используйте функцию crop() из растрового пакета:

r1.crop <- crop(r1,r2) # probably not obligatory, but will speed up the next action

Затем используйте функцию повторной выборки

r1.resamp <- resample(r1.crop, r2) # can be slow

Вы должны быть очень близко к своей цели. Могут быть более эффективные способы, но сначала попробуйте этот, а затем оптимизируйте.

person Bastien    schedule 23.09.2016