r语言 - 通过将一个栅格投影到另一个栅格上而丢失值



我想把一个栅格投影到另一个。

当这样做时,所有的值都会丢失。

这是我想投影的原始栅格rb:

class      : RasterLayer 
dimensions : 900, 900, 810000  (nrow, ncol, ncell)
resolution : 1, 1  (x, y)
extent     : -523.4622, 376.5378, -4658.645, -3758.645  (xmin, xmax, ymin, ymax)
crs        : +proj=stere +lat_0=90 +lon_0=10 +k=0.93301270189 +x_0=0 +y_0=0 +ellps=WGS84 +units=km +no_defs 
source     : memory
names      : layer 
values     : 0, 2500  (min, max)

创建一个dest_raster:

dest_raster_crs<- "+proj=longlat +datum=WGS84 +zone=34 +no_defs +ellps=WGS84 +towgs84=0,0,0"
dest_raster<-raster(ncols=900,nrows=900,crs= dest_raster_crs)
extent(dest_raster) <- extent(-523.4622, 376.5378, -4658.645, -3758.645)

dest_raster看起来像这样:

class      : RasterLayer 
dimensions : 900, 900, 810000  (nrow, ncol, ncell)
resolution : 1, 1  (x, y)
extent     : -523.4622, 376.5378, -4658.645, -3758.645  (xmin, xmax, ymin, ymax)
crs        : +proj=longlat +datum=WGS84 +no_defs 

现在如果我用

做投影
new_raster<-projectRaster(rb, dest_raster,res=c(1,1), dest_raster_crs,over=T)

我得到这个错误:

Warning message:
In rgdal::rawTransform(projto_int, projfrom, nrow(xy), xy[, 1],  :
29700 projected point(s) not finite

如果我看new_raster所有的值都是NA

class      : RasterLayer 
dimensions : 900, 900, 810000  (nrow, ncol, ncell)
resolution : 1, 1  (x, y)
extent     : -523.4622, 376.5378, -4658.645, -3758.645  (xmin, xmax, ymin, ymax)
crs        : +proj=longlat +datum=WGS84 +no_defs 
source     : memory
names      : layer 
values     : NA, NA  (min, max)

我做错了什么?谢谢你!

我的错误是我在做扩展时使用了错误的系统

正确的做法是:

extent(dest_raster) <- extent(3.5889,14.6209, 47.0705, 54.7405)

最新更新