我在将北美DEM从laea转换为lat / lon格式时遇到了麻烦。我知道lat / lon并非总是最适合栅格工作,但我正在使用dismo
软件包,而从中获取的所有数据和worldclim均以lat / lon格式提供,并且数据太多,无法处理{{ 1}}和spTransform
放在我的计算机上-因此我只能选择另一种方式。
Here's the DEM I'm using.我已将栅格对象命名为projectRaster
。
其投影信息为:
mydem
worldclim数据(栅格对象+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
)的投影信息为:
biocl.complete
当我尝试使用...
+proj=longlat +datum=WGS84 +no_defs +ellps=WGS84 +towgs84=0,0,0
...我的计算机为RSession分配了100%的CPU能力,并且内存分配迅速飙升,需要压缩的内存,然后我必须终止该进程。我很困惑,因为实际的DEM层只有43 MB,但是后台发生了一些我不了解的事情。
有人知道解决这个问题的好方法吗?
我已经浏览了以下参考资料,但没有出现错误,我的电脑似乎在这里铺床。 Projection Question
最终编辑: R无法正确读取上述DEM的投影信息,因此自然进行重新投影会引起严重的问题。有关投影问题的详细解决方案,请参见this discussion。
答案 0 :(得分:1)
您想要做的是:
mydem.lonlat <- projectRaster(mydem, biocl.complete, filename='mydemlonlat.tif')
也就是说,提供一个“示例”栅格对象作为模板,这样您不仅可以获取所需的CRS,还可以获取范围和分辨率。还要注意,我添加了一个文件名参数,以便保存结果,而不必重复执行此操作。
以上可能解决也可能无法解决内存问题。要解决此问题,请尝试设置rasterOptions
使用的最大内存。
rasterOptions(chunksize=1e+06, maxmemory=1e+07)
并且或与:
rasterOptions(todisk=TRUE)
检查
rasterOptions()