我正在尝试将全局地图从正弦转换为wgs84。我在光栅包中使用projectRaster。 原始栅格在这里:
> ras_sinu
class : RasterLayer
dimensions : 33600, 86400, 2903040000 (nrow, ncol, ncell)
resolution : 463.3127, 463.3127 (x, y)
extent : -20015109, 20015109, -6671703, 8895604 (xmin, xmax, ymin, ymax)
coord. ref. : +proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=6371007.181 +b=6371007.181 +units=m +no_defs
data source : C:\Users\jw2495\Desktop\Gap-filling\MODIS_fPAR\2015.01.09\sinu.tif
names : sinu
values : 0, 1 (min, max)
我用
llprj <- "+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs +towgs84=0,0,0"
ras_wgs84=projectRaster(ras_sinu, crs=llprj)
在此处获得结果:
> ras_wgs84
class : RasterLayer
dimensions : 33583, 85106, 2858114798 (nrow, ncol, ncell)
resolution : 0.00423, 0.00417 (x, y)
extent : -179.9998, 179.9986, -60.02026, 80.02085 (xmin, xmax, ymin, ymax)
coord. ref. : +proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs +towgs84=0,0,0
data source : C:\Users\jw2495\AppData\Local\Temp\RtmpEPstLE\raster\r_tmp_2017-12-13_123847_5260_78184.grd
names : sinu
values : 0, 1 (min, max)
部分数据似乎缺失。谁知道发生了什么? 提前谢谢!
答案 0 :(得分:1)
以下是基于您的信息的可重现示例,表明它有效:
示例数据:
library(raster)
library(maptools)
sincrs <- "+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=6371007.181 +b=6371007.181 +units=m"
llcrs <- "+proj=longlat +ellps=WGS84 +datum=WGS84"
data(wrld_simpl)
w <- spTransform(wrld_simpl, sincrs)
ras_sinu <- raster(nrow=336, ncol=864, ext=extent(-20015109, 20015109, -6671703, 8895604), crs=sincrs)
rs <- rasterize(w, ras_sinu)
plot(rs)
变换:
rll <- projectRaster(rs, crs=llcrs)
plot(rll)
也许您需要更新raster
。这是
packageVersion("raster")
#[1] ‘2.6.7’