基于python对栅格数据批量分区统计
前言
如何基于python对tif格式的栅格数据批量进行分区统计。使用 Python 对 .tif 格式的栅格数据进行批量分区统计,通常可以通过 rasterio 和 numpy 等库来实现。具体步骤包括读取栅格数据、进行分区处理(如基于掩膜或特定区域划分),然后计算统计信息(如均值、最大值、最小值等)。以下是实现这一流程的典型代码框架:
一、主要步骤
读取栅格文件:使用 rasterio 来加载 .tif 栅格数据。
定义分区掩膜:可以根据已有的矢量边界文件(如 .shp 文件)或自定义掩膜对栅格数据进行区域划分。
分区统计:对每个区域进行统计分析,如均值、最大值、最小值等。
二、使用步骤
1.代码
# -*- encoding:utf-8 -*-
import geopandas as gpd
import rasterio
from rasterio.mask import mask
import numpy as np
import pandas as pd
import os
# 读取shapefile文件
shp_path = r'shp数据.shp'
gdf = gpd.read_file(shp_path)
# 获取FID字段
fid_field = 'Ecosystem' # 根据你的shapefile的FID字段名称进行修改
# 存放结果的列表
results = []
# 读取每年的tif文件夹路径
tif_folder = r'tif数据'
tif_files = [os.path.join(tif_folder, f) for f in os.listdir(tif_folder) if f.endswith