1

ケニア (および他の国も同様) の NDVI データをダウンロードして視覚化しようとしています。

このために、ケニアのバウンディング ボックスを取得し、osmdataNDVI データをダウンロードするときに使用しました。MODIStsp

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))

単一の国を切り取る方法についてのアイデアは大歓迎です

4

1 に答える 1

0

この動作の理由は、argument のデフォルト値がspatmeth"tiles"あるため、arguments start_xend_xstart_yおよびend_y(明示的に指定されていない場合は、それらのデフォルト) で指定された値が使用されるためです。

関数のドキュメントから:

bbox numeric(4) out_proj 座標系の出力バウンディング ボックス (xmin、ymin、xmax、ymax)。spatmeth == "tiles"の場合は無視されます。デフォルト: NULL

spatmeth文字 ["タイル" | "bbox" | "file"] は、処理範囲を取得する方法を示します。「タイル」の場合、指定されたタイル (start_x....) を使用します。"file" の場合は、spafile で指定された空間ファイルからエクステントを取得します。"bbox" の場合、指定されたバウンディング ボックスを使用します。デフォルト: "tiles"

範囲を使用するには、次のkenya_bbことを行う必要があります。

  1. 追加spatmeth = "tiles";
  2. 正しいbbox = kenya_bb_bbox = as.vector(kenya_bb)

さらに、このケースに影響するバグが最近修正されました。また、GitHub からパッケージを再インストールする必要があります。

remotes::install_github("ropensci/MODIStsp")
于 2021-04-14T14:47:38.377 に答える