如何将一种栅格格式转换为另一种格式?

时间:2016-09-06 22:40:11

标签: r spatial gdal rgdal

我有一个全世界的光栅文件,其详细信息如下:

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吗?任何指针都会有所帮助。

2 个答案:

答案 0 :(得分:1)

我建议在 FETCH cursor_name INTO varid; 包中使用gdalwarp功能。 你需要设置" te"和" tr"参数,也许可以用" tap"但你应该很容易得到你想要的。

HTH,

洛伦佐

答案 1 :(得分:0)

首先,使用光栅包中的crop()函数:

SELECT ROUND(AVG (Scholarship), 2) AS 'Average Scholarships' FROM student;

然后使用重新采样功能

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

你应该非常接近你的目标。可能有更有效的方法,但首先尝试这个然后优化。