【发布时间】:2020-08-23 06:07:45
【问题描述】:
我定义了一个多边形:
library(rgee)
ee_Initialize()
polygon <- ee$Geometry$Polygon(
list(
c(91.17, -13.42),
c(154.10, -13.42),
c(154.10, 21.27),
c(91.17, 21.27),
c(91.17, -13.42)
))
Map$addLayer(polygon)
多边形涵盖东南亚周边国家
对于多边形中的每个像素,我想计算给定年份给定波段的每月总和,如下所示: month_vec pr_ls
for(m in seq_along(month_vec)){
month_ref <- month_vec[m]
pr_ls[[m]] <-
ee$ImageCollection("NASA/NEX-GDDP")$
filterBounds(polygon)$ # filter it by polygon
select('pr')$ # select rainfall
filter(ee$Filter$calendarRange(2000, 2000, "year"))$ # filter the year
filter(ee$Filter$calendarRange(month_ref, month_ref, "month"))$ # filter the month
filter(ee$Filter$eq("model","ACCESS1-0"))$ # filter the model
sum() # sum the rainfall
}
Imagecollection_pr <- ee$ImageCollection(pr_ls)
ee_imagecollection_to_local(
ic = Imagecollection_pr,
region = polygon,
dsn = paste0('pr_')
)
读取一个月的文件
my_rast <- raster(list.files(pattern = '.tif', full.names = TRUE)[1])
由于这个栅格覆盖了东南亚国家,所以我下载了 shapefile
sea_shp <- getData('GADM', country = c('IDN','MYS','SGP','BRN','PHL'), level = 0)
将它们相互叠加:
plot(my_rast)
plot(sea_shp, add = T)
存在错位,我不确定是否是正确的栅格 为给定的多边形处理。我还检查了他们的投影是否相同
crs(my_rast)
CRS arguments: +proj=longlat +datum=WGS84 +no_defs
crs(sea_shp)
CRS arguments: +proj=longlat +datum=WGS84 +no_defs
它们都具有相同的投影。我不知道出了什么问题?
编辑
按照 cmets 中的建议,我定义了一个覆盖澳大利亚的新多边形,如下所示:
polygon <- ee$Geometry$Polygon(
list(
c(88.75,-45.26),
c(162.58,-45.26),
c(162.58,8.67),
c(88.75,8.67),
c(88.75,-45.26)
)
)
Map$addLayer(polygon)
并重复上面的代码。在多边形上再次绘制 3 月 月份的栅格给了我这个:
有谁知道我是否可以检查我的栅格是否反转为多边形边界?
【问题讨论】:
-
您确定有错位吗?在两张图片中,国家相对于多边形的位置看起来大致相同。如果加上澳大利亚、越南、泰国和中国,对齐情况如何?
-
由于未对齐,我的意思是我怀疑我的栅格与 polgyon 相反。有什么方法可以检查我的 shapefile 是否与光栅的方向相同。我编辑了我的问题以反映这一点
标签: r raster projection google-earth-engine rgee