You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用CDO将MODIS MCD12Q1土地覆盖数据从HDF转NetCDF

MODIS MCD12Q1 HDF转NetCDF格式实用方案
  • 直接用GDAL转换(推荐)
    MODIS MCD12Q1是分层HDF格式,GDAL可直接识别其子数据集:

    1. 先查看文件包含的子数据集:
      gdalinfo MCD12Q1.AYYYYDD.hXXvXX.061.YYYYMMDD.hdf
      
    2. 提取目标子数据集转NetCDF,比如常用的IGBP土地覆盖类型(LC_Type1):
      gdal_translate -of NetCDF HDF4_EOS:EOS_GRID:"MCD12Q1.AYYYYDD.hXXvXX.061.YYYYMMDD.hdf":MOD12Q1:LC_Type1 output.nc
      
    3. 如需重投影或调整分辨率,添加对应参数,比如转WGS84投影+0.01°分辨率:
      gdal_translate -of NetCDF -t_srs EPSG:4326 -tr 0.01 0.01 HDF4_EOS:EOS_GRID:"MCD12Q1.AYYYYDD.hXXvXX.061.YYYYMMDD.hdf":MOD12Q1:LC_Type1 output_wgs84.nc
      
  • 修正CDO命令用法
    你之前使用的-import_cmsaf是针对CMSAF专属产品的,不适用于MODIS数据,正确流程如下:

    1. 先用GDAL转成临时NetCDF文件:
      gdal_translate -of NetCDF HDF4_EOS:EOS_GRID:"MCD12Q1.AYYYYDD.hXXvXX.061.YYYYMMDD.hdf":MOD12Q1:LC_Type1 temp.nc
      
    2. 再用CDO完成重采样等操作:
      cdo -f nc remapbil,r360x180 temp.nc output_resampled.nc
      
  • 批量处理脚本
    若有大量HDF文件,可使用bash脚本批量转换:

    for hdf in MCD12Q1*.hdf; do
      out_nc="${hdf%.hdf}.nc"
      gdal_translate -of NetCDF HDF4_EOS:EOS_GRID:"$hdf":MOD12Q1:LC_Type1 "$out_nc"
      cdo remapbil,r360x180 "$out_nc" "${out_nc%.nc}_resampled.nc"
    done
    

内容的提问来源于stack exchange,提问作者JAGRITI JAIN

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 20:04:56