首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >可视化特定国家的MODIS植被层(使用R-package MODISttsp)

可视化特定国家的MODIS植被层(使用R-package MODISttsp)
EN

Stack Overflow用户
提问于 2021-02-15 07:54:33
回答 1查看 31关注 0票数 1

我正在尝试下载和可视化肯尼亚(和其他类似国家)的NDVI数据。

为此,我使用osmdata检索了肯尼亚的边界框,并在从MODIStsp下载NDVI数据时使用了它

代码语言:javascript
复制
library(osmdata)
library(MODIStsp)

kenya_bb <- osmdata::getbb("Kenya")

MODIStsp(gui             = FALSE,
         out_folder      = "Data",
         out_folder_mod  = "Data",
         selprod         = "Vegetation_Indexes_16Days_1Km (M*D13A2)",
         bbox            =  kenya_bb,
         bandsel         = "NDVI",
         user            = "mstp_test" ,
         password        = "MSTP_test_01",
         start_date      = "2020.06.01", 
         end_date        = "2020.06.15", 
         verbose         = FALSE)

然后我简单地将下载的数据可视化,但它似乎还没有显示出肯尼亚

代码语言:javascript
复制
library(raster)
library(here)
library(ggplot2)

NDVI_raster <- raster(here::here("Data/VI_16Days_1Km_v6/NDVI/MOD13A2_NDVI_2020_161.tif"))

NDVI_df <- as.data.frame(NDVI_raster, xy = TRUE, na.rm = TRUE)
rownames(NDVI_df) <- c()

ggplot(data = NDVI_df,
       aes(x=x,y=y)) +
  geom_raster(aes(fill = MOD13A2_NDVI_2020_161))

任何关于如何剔除单一国家的想法都是值得赞赏的。

EN

回答 1

Stack Overflow用户

发布于 2021-04-14 22:47:38

此行为的原因是,参数spatmeth的默认值为"tiles",因此使用参数start_xend_xstart_yend_y指定的值(如果未显式指定,则使用它们的默认值)。

从函数文档中:

bbox数字(4) out_proj坐标系中的输出边界框(xmin,ymin,xmax,ymax)。如果spatmeth == "tiles",则忽略,默认值: NULL spatmeth character "tiles“| "bbox”| "file",指示如何检索处理范围。如果是" tiles ",则使用指定的tiles (start_x....)。如果为" file ",则从spafile中指定的空间文件中检索范围。如果为"bbox",则使用指定的边界框,默认值:“tiles”bbox

要使用kenya_bb扩展区,必须执行以下操作:

spatmeth = "tiles";

  • correct bbox = kenya_bb添加到bbox = as.vector(kenya_bb)

此外,有一个bug影响了这个案例,最近修复了。您还应该从GitHub重新安装该软件包:

代码语言:javascript
复制
remotes::install_github("ropensci/MODIStsp")
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66201309

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档