丝瓜丝瓜哪里来 2023-03-17 21:30 采纳率: 20%
浏览 134
已结题

GLASS FVC处理

我想要得到全球GLASS FVC每年一景的栅格影像。
我从http://www.glass.umd.edu/FVC/AVHRR/
网站上下载了1900-2020年数据,求平均值得到了我要的数据。但是结果发现在2019年FVC有一个明显的下降,想知道是我处理的问题还是这个数据源就是有问题?我在下面贴出我的代码和我算出来的变化趋势。(最下面是未裁剪过的全球的数据,仍旧出现了19年急剧下降的趋势)
以及别人给了一个中国区域的GLASS FVC数据,是在GEE上下载处理的,和我的值并不一样,也没有出现2019下降那么多的情况,请问GLASS FVC在GEE上的产品是什么名字?

代码:

# 导入所需库
library(terra)
library(rgdal)
library(doParallel)
library(foreach)

# 设置工作目录
setwd("D:/3_/")

# 读取中国行政区域矢量文件
mask_c <- vect("province.shp")
mask_china <- mask_c[[1]]

# 设置并行处理
cl <- makeCluster(12)
registerDoParallel(cl)

# 循环处理每一年的数据
foreach (year = 1985:2020, .packages = c("terra", "rgdal")) %dopar% {
  # 读取原始数据
  filedir <- paste0("GLASS_FVC/global_hdf_annual/", year, "/")
  hdf_file <- list.files(path = filedir, pattern = ".hdf$")
  hdfs <- rast(paste0(filedir, hdf_file))
  
  # 计算每年平均值
  tifs_mean <- app(hdfs, mean, na.rm = TRUE)
  
  # 保存为栅格影像
  writeRaster(
    tifs_mean,
    paste0("GLASS_FVC/global_tif_annual/GLASS_FVC_005_", year, ".tif"),
    overwrite = TRUE
  )

  # 裁剪到中国区域
  china_fvc <- crop(tifs_mean, mask_china) %>% 
    mask(mask_china) %>% 
    writeRaster(
      .,
      paste0("GLASS_FVC/china_tifs/GLASS_FVC_005_", year, ".tif"),
      overwrite = TRUE
    )
}

# 关闭并行处理
stopCluster(cl)

变化趋势:

img

  • 写回答

4条回答 默认 最新

  • 「已注销」 2023-03-17 21:54
    关注

    参考GPT和自己的思路:首先,GLASS FVC数据集是由美国马里兰大学的地球系统科学部门维护的,而GLASS FVC在GEE上的产品是基于该数据集生成的。该产品名称为“GLASS01B02.V1”(GLASS FVC的1km分辨率产品)。你可以在GEE上搜索该名称来访问它。

    关于你的代码和数据处理问题,有几个可能导致问题的原因:
    1 数据质量问题:在数据处理中,如果数据存在噪声或异常值,可能会导致错误的结果。可以尝试使用数据质量控制方法,如去除异常值或应用滤波器。

    2 数据处理方法问题:你的代码中使用了一些数据处理方法,如平均值计算和空间裁剪。这些方法可能不适用于某些数据。你可以尝试使用不同的方法,如中位数计算和空间子采样。
    3 代码实现问题:你的代码实现可能存在一些问题,如数据读取和保存错误。可以检查代码中的错误,或使用不同的库或方法。
    需要注意的是,GLASS FVC数据集包含了许多不同的参数和产品,不同的产品之间可能存在差异。如果你的代码和处理方法与GEE上的产品不同,则可能会导致不同的结果。建议你参考GEE上的产品,使用相同的处理方法和参数来进行数据处理。

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 3月19日
  • 修改了问题 3月18日
  • 修改了问题 3月17日
  • 修改了问题 3月17日
  • 展开全部