【问题标题】:Necessary to Reproject Raster before Mosaic?有必要在马赛克之前重新投影光栅吗?
【发布时间】:2015-05-31 04:08:51
【问题描述】:

我有一个栅格列表,我想将它们拼接在一起。除了 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

这让我相信我需要重新投影所有的 rasterStacks。 projectRaster 在计算上很耗时,但我相信我可以这样做:

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

我认为我必须先重新投影是否正确?感谢您的任何指导。

【问题讨论】:

  • 这个问题可能更适合Geographic Information Systems,但是是的,您认为栅格必须有一个共同的 CRS 是正确的。为了速度,您可以考虑使用gdalwarp,无论是从命令行还是从gdalUtils 包。另请参阅ESRI forum thread

标签: r gis rgdal ogr r-raster


【解决方案1】:

help(mosaic) 明确指出:

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

两个不同的 UTM 区域不被认为具有相同的参考系统(当您深入了解时,参数是不同的:假东、假北、参考子午线等)。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-03-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-23
    相关资源
    最近更新 更多