马赛克之前需要重新投射光栅吗?

时间:2015-03-26 22:58:16

标签: r gis rgdal ogr r-raster

我有一个栅格列表,我想将它们拼接在一起。除了utm区域外,投影是相同的。这是来自UTM区域50中的一个rasterStack的坐标线:

coord. ref. : +proj=utm +zone=50 +datum=WGS84 +units=m +no_defs +ellps=WGS84 +towgs84=0,0,0 

这是另一个具有相同投影的rasterStack,除了它是UTM区域51:

coord. ref. : +proj=utm +zone=51 +datum=WGS84 +units=m +no_defs +ellps=WGS84 +towgs84=0,0,0 

当我尝试在没有重新投影的情况下进行拼接(就像在其他GIS中一样),我收到以下错误:

rMosaic <- do.call(mosaic,rStacks)

    Error in compareRaster(x, extent = FALSE, rowcol = FALSE, orig = TRUE,: different CRS

这让我相信我需要重新投影所有的rasterStack。使用projectRaster在计算上耗费时间,但我相信我可以按照以下方式执行:

for(i in 2:length(rStacks)){
        rStacks[[i]] <- projectRaster(from=rStacks[[i]], to=rStacks[[1]]) 
    }

我是否有权假设我必须先重新投影?谢谢你的任何指示。

1 个答案:

答案 0 :(得分:0)

help(mosaic)明确指出:

  

所有对象必须具有相同的原点,分辨率和坐标   参考系统。

两个不同的UTM区域不被认为具有相同的参考系统(当你在引擎盖下看时参数是不同的:假东向,假向北,参考经络等)。

它们应该被重新投影到输出CRS,它应该是一个参考系统,对于更大的区域,它将在制图上有效,而不是继续使用单个UTM区域,当最大区域映射时,这将最终显示扭曲等