首页 > 解决方案 > 使用带有 MODIStsp R 包的 shapefile

问题描述

我正在尝试使用MODIStspR 包下载指定国家/地区的数据。为此,我从这里下载了蒙古的边界到我的工作目录中,并将它的路径传递到我的MODIStsp()函数中。但是,这似乎并没有在定义的边界内下载数据并继续下载初始示例

spatial_file <- "C:/Users/Zstar/mongolia_administrative_boundaries_national_polygon.shp"

MODIStsp(gui             = FALSE,
         out_folder      = "Data",
         out_folder_mod  = "Data",
         selprod         = "Vegetation_Indexes_16Days_1Km (M*D13A2)",
         spafile         = spatial_file,
         bandsel         = "NDVI", 
         quality_bandsel = "QA_usef", 
         indexes_bandsel = "SR", 
         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)

raster <- raster(here("Data/VI_16Days_1Km_v6/NDVI/MOD13A2_NDVI_2020_161.tif"))
df <- as.data.frame(raster, xy = TRUE, na.rm = TRUE)

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

在此处输入图像描述

标签: rspatialshapefiler-modis

解决方案


spatmeth参数的默认值为"tiles",因此使用参数start_xend_x和(start_y以及end_y,如果未明确指定,则为它们的默认值)指定的值,除非spatmeth = "file"明确说明。

从功能文档:

spatmeth字符 ["tiles" | "bbox" | "file"],表示处理范围是如何检索的。如果是“tiles”,则使用指定的tiles(start_x ....)。如果是“文件”,则从 spafile 中指定的空间文件中检索范围。如果是“bbox”,则使用指定的边界框,默认:“tiles”

添加spatmeth = "file"MODIStsp()应该解决。


推荐阅读