各位同学们好,今天分享的是张永强全球PML_V2陆地蒸散发与总初级生产力数据。如果您需要下载或处理遥感数据等方面的帮助,评论私信。
一、数据简介
PML_V2陆地蒸散发与总初级生产力数据集是一个包含各种要素的数据集,其中包括总初级生产力(GPP)、植被蒸腾(Ec)、土壤蒸发(Es)、冠层截流蒸发(Ei)和水体、冰雪蒸发(ET_water),总共有5个要素。这些数据以TIFF格式进行存储,时空分辨率为8天和0.05°,时间跨度为2002年7月至2019年8月。
PML_V2数据集基于Penman-Monteith-Leuning (PML) 模型,结合了气孔导度理论,并耦合了GPP过程。这种耦合使得PML_V2在ET模拟的准确性上相较于以往的模型有了显著提升。此外,PML_V2的参数根据不同的植被类型在全球95个涡度相关通量站上进行了调整。随后,根据MODIS MCD12Q2.006 IGBP分类,将参数应用到全球范围。
PML_V2数据集使用GLDAS 2.1的气象数据作为驱动,并利用MODIS叶面积指数(LAI)、反射率(Albedo)和发射率(Emissivity)作为输入。经过计算,得到了PML_V2陆地蒸散发与总初级生产力的数据集。这个数据集可以为研究生态系统水分和能量平衡、气候变化等方面提供有用的信息。
数据以TIFF格式存储,每个文件的名称格式为"yyyy-mm-dd.tif",例如"2002-07-04.tif",对应的是2002年7月4日至2002年7月11日这个8天的平均GPP和ET要素数据。每个TIFF文件包含5个变量,分别是GPP、Ec、Ei、Es和ET_water,按照1-5层的顺序排列。需要注意的是,GPP和ET的真实值可以通过像素值乘以一个缩放因子(scale_factor=0.01)得到。
二、数据下载
1. 官网链接
国家青藏高原科学数据中心 (tpdc.ac.cn)https://data.tpdc.ac.cn/zh-hans/data/48c16a8d-d307-4973-abab-972e9449627c
2. FTP链接
主机: ftp2.tpdc.ac.cn
端口:6201
用户名:download_9107781
密码:18306899
三、数据处理(python多波段提取)
#-*- coding: utf-8 -*-
import numpy as np
import os
import random
from osgeo import gdal
# import cv2
import tifffile as tif
from skimage import data,exposure
from sklearn import preprocessing
# 读取图像像素矩阵
# fileName 图像文件名
def readTif(fileName):
dataset = gdal.Open(fileName)
# width = dataset.RasterXSize
# height = dataset.RasterYSize
# GdalImg_data = dataset.ReadAsArray(0, 0, width, height)
# return GdalImg_data
return dataset
#保存tif文件函数
def writeTiff(im_data,im_geotrans,im_proj,path):
if 'int8' in im_data.dtype.name:
datatype=gdal.GDT_Byte
elif 'int16' in im_data.dtype.name:
datatype=gdal.GDT_UInt16
else:
datatype=gdal.GDT_Float32
if len(im_data.shape)==3:
im_bands,im_height,im_width=im_data.shape
elif len(im_data.shape)==2:
im_data=np.array([im_data])
im_bands,im_height,im_width=im_data.shape
#创建文件
driver=gdal.GetDriverByName("GTiff")
dataset=driver.Create(path,int(im_width),int(im_height),int(im_bands),datatype)
if(dataset!=None):
dataset.SetGeoTransform(im_geotrans)#写入仿射变换参数
dataset.SetProjection(im_proj)#写入投影
for i in range(im_bands):
dataset.GetRasterBand(i+1).WriteArray(im_data[i])
del dataset
def bandsclip(path1,path2):
dataset_img=readTif(path1)
width=dataset_img.RasterXSize
height=dataset_img.RasterYSize
proj=dataset_img.GetProjection()
geotrans=dataset_img.GetGeoTransform()
img=dataset_img.ReadAsArray(0,0,width,height)
img_out=[]
#依次将各波段输出
for i in range(img.shape[0]):
img_out=np.array(img[i,::])
#保存tiff格式文件数据
writeTiff(img_out,geotrans,proj,path2+str(i)+'.tif') #输出波段的名称命名格式可以修改,结合传递的path2参数
os.chdir(r'F:\Land_use\land_use-cci-300米\land_use\ESACCI-LC-L4-LCCS-Map-300m-P1Y-1992_2015-v2.0.7\scratch')
path1=r'ESACCI-LC-L4-LCCS-Map-300m-P1Y-1992_2015-v2.0.7.tif' #要分离波段的原始图像数据名称
path2=r'F:\Land_use\land_use-cci-300米\land_use\ESACCI-LC-L4-LCCS-Map-300m-P1Y-1992_2015-v2.0.7\scratch' #分离的各波段结果图像部分名称
bandsclip(path1,path2) #调用上面定义的波段分离函数
print('Bandsclip END!')
四、数据分享
我已经下载并提取了所有的波段,数据的时间跨度是2002~2019年,发布到了公众号,免费下载使用~