我需要使用函数extract()使用大小相等的网格单元从栅格中进行加权平均提取。我的多边形网格是UTM21n,光栅是GCS WGS84数据D.我是否必须重新投影光栅才能将其用于extract()?或者该功能会正确处理吗?
答案 0 :(得分:3)
您可以找到extract
here的函数SpatialPolygons
的源代码。代码以以下代码段开头:
setMethod('extract', signature(x='Raster', y='SpatialPolygons'),
function(x, y, fun=NULL, na.rm=FALSE, weights=FALSE, cellnumbers=FALSE, small=FALSE, df=FALSE, layer, nl, factors=FALSE, sp=FALSE, ...){
px <- projection(x, asText=FALSE)
comp <- .compareCRS(px, projection(y), unknown=TRUE)
if (!comp) {
.requireRgdal()
warning('Transforming SpatialPolygons to the CRS of the Raster')
y <- spTransform(y, px)
}
...
这表明extract
确实执行了投影本身(将SpatialPolygon的投影更改为栅格投影),尽管事实上它没有在帮助页面中记录。
答案 1 :(得分:0)
文档未提及自动重投影。所以,我认为假设函数不这样做是值得的。因此,在调用extract
之前,您需要重新投影。