在纬度/经度和纬度之间投射栅格

时间:2018-07-31 01:33:51

标签: r raster

我在将北美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

对准问题(Hijmans解决方案的跟进): DEM Bioclim

最终编辑: R无法正确读取上述DEM的投影信息,因此自然进行重新投影会引起严重的问题。有关投影问题的详细解决方案,请参见this discussion

1 个答案:

答案 0 :(得分:1)

您想要做的是:

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

也就是说,提供一个“示例”栅格对象作为模板,这样您不仅可以获取所需的CRS,还可以获取范围和分辨率。还要注意,我添加了一个文件名参数,以便保存结果,而不必重复执行此操作。

以上可能解决也可能无法解决内存问题。要解决此问题,请尝试设置rasterOptions使用的最大内存。

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

并且或与:

rasterOptions(todisk=TRUE) 

检查

rasterOptions()
相关问题