lat/lon 和 laea 之间的投影栅格

Projecting raster between lat/lon and laea

我无法将北美 DEM 从 laea 投影到 lat/lon 格式。我知道 lat/lon 并不总是最适合光栅工作,但我正在使用 dismo 包,而 worldclim 的所有内容都采用 lat/lon 格式,而且数据太多了在我的机器上处理 spTransformprojectRaster - 所以我坚持走另一条路。

Here's the DEM I'm using. 我已将栅格对象命名为 mydem

它的投影信息是: +proj=laea +lat_0=-100 +lon_0=6370997 +x_0=45 +y_0=0 +datum=WGS84 +units=m +no_defs +ellps=WGS84 +towgs84=0,0,0

worldclim数据(光栅对象biocl.complete)投影信息为: +proj=longlat +datum=WGS84 +no_defs +ellps=WGS84 +towgs84=0,0,0

当我尝试使用...

 mydem.lonlat <- projectRaster(mydem,
                          crs = proj4string(biocl.complete))

...我的计算机将 100% CPU 的电源专用于 RSession,内存分配迅速飙升,需要压缩内存,然后我必须终止进程。我很困惑,因为实际的 DEM 层只有 43 MB,但我不明白后台发生了什么。

有谁知道处理这个问题的好方法吗?

我已经探索了以下参考资料,但我没有收到错误,我的电脑似乎只是在这里拉屎。 Projection Question

对齐问题(跟进 Hijmans 的解决方案):

最终编辑: R 没有正确读取上述 DEM 的投影信息,因此重新投影自然会导致重大问题。有关投影问题的详细解决方案,请参阅 this discussion

您想做的是:

mydem.lonlat <- projectRaster(mydem, biocl.complete, filename='mydemlonlat.tif')

即提供一个'example'栅格对象作为模板,这样您不仅可以获得所需的CRS,还可以获得范围和分辨率。另请注意,我添加了一个文件名参数,以便保存结果,您不必重复执行此操作。

以上可能会也可能不会解决内存问题。要解决这个问题,请尝试设置 rasterOptions 使用的最大内存。

rasterOptions(chunksize=1e+06, maxmemory=1e+07) 

和或与:

rasterOptions(todisk=TRUE) 

检查

rasterOptions()