?下载modis数据后,可以按照gdal_translate -of ENVI -co INTERLEAVE=BSQ xxx1.tif output2001.bin命令处理tif数据,也可以按照下面的python语句处理tif数据。
import os
from osgeo import gdal
# 输入 TIF 文件路径
input_file = r"J:\modis_china_2001_landcover.tif"
# 输出二进制文件路径
output_file = "output2001.bin"
# 打开输入文件
dataset = gdal.Open(input_file)
if dataset is not None:
# 获取栅格数据的宽度和高度
width = dataset.RasterXSize
height = dataset.RasterYSize
# 获取数据类型
data_type = dataset.GetRasterBand(1).DataType
# 创建输出二进制文件
with open(output_file, "wb") as f:
# 从左下角到右上角遍历每个像素
for row in range(height - 1, -1, -1):
for col in range(width):
for band in range(dataset.RasterCount):
# 读取当前像素的值
band_data = dataset.GetRasterBand(band + 1).ReadRaster(col, row, 1, 1)
# 将像素值写入文件
f.write(band_data)
# 关闭数据集
dataset = None
else:
print("Failed to open input file.")
得到的.bin格式的数据可以直接命名为00001-xxxxx.00001-xxxxx的二进制数据。
后面可以参考本文继续处理:WRF替换静态地理数据中的土地利用数据(WRF替换下垫面数据)_landmask处理wrf-CSDN博客