带有R

时间:2016-04-07 05:01:46

标签: r plot graph

  1. 我已经下载了今年的MODIS NDVI Aqua 16天复合材料 2015年并转换为tiff。有23个文件。
  2. 我想计算每个光栅的平均值 绘制图表,其中我在y轴上的x和NDVI值上有日期。
  3. 我将它们堆叠在一起并删除了部分文件名以使其缩短(仅用于视觉上的简单)并存储在rasterNames中
  4. 接下来,我运行了一个循环来遍历所有文件,计算平均值并重新调整0.0001以获得有效范围内的值(0-1)
  5. 现在,我得到了我接下来要做的事情来绘制图表,其中我有一个带有值的矢量avg_ndvi和带有标签的rasterNames

    还有其他更聪明的方法可以实现同样的目标吗?因为最后我有兴趣在同一行中添加terra产品并获得8天复合,但可能只显示标签是一些间隔,可能是每个月,或每16天。

    #------------ Load the library--------
    library(raster)
    library(rgdal)
    library(rasterVis)
    
    setwd("C:/Working_Folder/R")
    aqua_ndvi_path <- "aqua_ndvi_2015"
    avg_ndvi<-vector()
    date_ndvi <- vector()
    
    #now load the Tiffs:
        all_ndvi <- list.files(aqua_ndvi_path,
                              full.names = TRUE,
                              pattern = ".tif$")
       ndvi_stack <- stack(all_ndvi) 
       # ndvi_stack_brick <- brick(ndvi_stack) 
       rasterNames  <- gsub("MYD13Q1_2015.","", names(ndvi_stack)) # remove some portion of file name
       rasterNames  <- gsub(".250m_16_days_NDVI","",rasterNames)   # remove some portion of the file name
       rasterNames  # This will give me short names so that i can use it as a label in graph/plot later
    
    
    ## --------- scale ndvi value by 10000 and calculate ndvi average of each raster and store it in the vector---------
       for (i in all_ndvi)     {
         j=cellStats(brick(i),mean)
         j=j*0.0001
         avg_ndvi<- c(avg_ndvi,j)
          }
       print(avg_ndvi)
    

0 个答案:

没有答案