我正在尝试下载和可视化肯尼亚(和其他类似国家)的NDVI数据。
为此,我使用osmdata检索了肯尼亚的边界框,并在从MODIStsp下载NDVI数据时使用了它
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)然后我简单地将下载的数据可视化,但它似乎还没有显示出肯尼亚
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))任何关于如何剔除单一国家的想法都是值得赞赏的。
发布于 2021-04-14 22:47:38
此行为的原因是,参数spatmeth的默认值为"tiles",因此使用参数start_x、end_x、start_y和end_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";
bbox = kenya_bb添加到bbox = as.vector(kenya_bb)的
此外,有一个bug影响了这个案例,最近修复了。您还应该从GitHub重新安装该软件包:
remotes::install_github("ropensci/MODIStsp")https://stackoverflow.com/questions/66201309
复制相似问题