我正在致力于将基于周的日期转换为基于月份的日期.
在检查我的工作时,我在我的数据中发现了以下问题,这是对简单调用的结果 as.Date()
as.Date("2016-50-4", format = "%Y-%U-%u")
as.Date("2016-50-5", format = "%Y-%U-%u")
as.Date("2016-50-6", format = "%Y-%U-%u")
as.Date("2016-50-7", format = "%Y-%U-%u") # this is the problem
Run Code Online (Sandbox Code Playgroud)
前面的代码生成前3行的正确日期:
"2016-12-15"
"2016-12-16"
"2016-12-17"
Run Code Online (Sandbox Code Playgroud)
然而,最后一行代码可以追溯到1周:
"2016-12-11"
Run Code Online (Sandbox Code Playgroud)
谁能解释一下这里发生了什么?
我在其他论坛也发了这个帖子,但因为我真的需要回复,所以我再发一次。
我在 R 中工作并想计算从栅格的相交单元格派生的多边形的值。该值应考虑每个相交单元格的权重。当我尝试使用样本栅格和多边形运行“提取”函数时,我得到的权重与我手动计算的权重不同,从而导致最终值不同。
这是我的示例代码:
require(raster)
r <- raster(nrow=2, ncol=2, xmn=-180, xmx=60, ymn=-30, ymx=90)
r[] <- c(1,2,4,5)
s <- raster(xmn=-120, xmx=-40, ymn=20, ymx=60, nrow=1, ncol=1)
s.pl <- as(s, 'SpatialPolygons')
w <- raster::extract(r, s.pl, method="simple",weights=T, normalizeWeights=F)
mean.value <- raster::extract(r, s.pl, method="simple",weights=T, fun=mean)
Run Code Online (Sandbox Code Playgroud)
我得到的值是 2.14,但根据单元格的实际权重,它应该是 2。更具体地说,对于与不同单元格相交的多边形的每个部分,数据是:
Area Value
1800 1
600 2
600 4
200 5
Run Code Online (Sandbox Code Playgroud)
所以基于上面的多边形的最终值应该是2。
可能是因为经纬度的投影吗?但即使我以米为单位分配投影,我也会得到相同的结果。如何获得我感兴趣的 2 的值?我也尝试过“重新采样”功能,但我也得到了不同的结果。
我的最终目标是创建一个与原始栅格具有不同分辨率和范围的新栅格,并根据与新栅格像元相交的原始栅格像元的权重分配值。但似乎重新采样和提取功能都没有给出预期的结果。