遥感卫星数据读取

判断tif文件类型,

TIF 是

  • A. 0 / 1 掩膜

  • B. 比例(0--1)

  • C. 连续值(面积 / 覆盖率)

中的哪一类

python 复制代码
import rasterio
import numpy as np
from rasterio.enums import Resampling

tif = r"分布数据集\classified-Anhui-2024-rice-WGS84-v1.tif"

with rasterio.open(tif) as ds:
    img = ds.read(
        1,
        out_shape=(ds.height // 100, ds.width // 100),
        resampling=Resampling.nearest
    )

    nodata = ds.nodata
    if nodata is not None:
        img = img[img != nodata]

print("最小值:", np.nanmin(img))
print("最大值:", np.nanmax(img))
print("唯一值数量(近似):", len(np.unique(img)))
print("前10个唯一值:", np.unique(img)[:10])

通过上面的例子可以得出tif文件是

python 复制代码
import os
import glob
import rasterio
import numpy as np
import matplotlib.pyplot as plt
from rasterio.enums import Resampling

tif_dir = r"E:种植分布数据集"
tif_files = sorted(glob.glob(os.path.join(tif_dir, "*.tif")))

n = len(tif_files)
ncols = 4
nrows = (n + ncols - 1) // ncols

plt.figure(figsize=(4 * ncols, 4 * nrows))

for i, tif in enumerate(tif_files):
    with rasterio.open(tif) as ds:
        scale = 20  # ★关键参数
        img = ds.read(
            1,
            out_shape=(
                ds.height // scale,
                ds.width // scale
            ),
            resampling=Resampling.average
        ).astype(np.float32)

        if ds.nodata is not None:
            img[img == ds.nodata] = np.nan

    plt.subplot(nrows, ncols, i + 1)
    im = plt.imshow(img, cmap="viridis")
    plt.title(os.path.basename(tif), fontsize=8)
    plt.axis("off")

plt.tight_layout()
plt.savefig("plot.png",dpi=500)
# plt.show()

通过上面的代码,将文件夹下的所有tif文件均做可视化处理,拼成子图的形式

相关推荐
金融小师妹4 分钟前
4月30日多因子共振节点:鲍威尔“收官效应”与权力结构重塑的预期重构
大数据·人工智能·重构·逻辑回归
2601_949925189 分钟前
AI Agent如何重构跨境物流的决策?
大数据·人工智能·重构·ai agent·geo优化·物流科技
AI木马人17 分钟前
1.人工智能实战:大模型推理接口响应慢?从模型加载到 FastAPI 部署的完整优化方案
人工智能·python·fastapi
Black蜡笔小新28 分钟前
私有化本地化AI模型训推工作站DLTM训推一体工作站赋能多行业智能化落地
人工智能
qq_4112624230 分钟前
四博 AI 智能音箱 + ESPC3 Tasmota 计量通断器方案
人工智能·智能音箱
dllmayday36 分钟前
Milvus在LangChain中使用方法
人工智能·ai·langchain·milvus
谭欣辰37 分钟前
C++快速幂完整实战讲解
算法·决策树·机器学习
xiaoduo AI44 分钟前
客服机器人问题解决率怎么统计?Agent系统自动判断是否解决,比人工回访准?
大数据·人工智能·机器人
AI周红伟1 小时前
周红伟:GPT-Image-2深度解析:从技术原理到实战教程,为什么它能让整个AI圈炸锅?
人工智能·gpt·深度学习·机器学习·语言模型·openclaw
hecgaoyuan1 小时前
浅谈个人在人工智能方面的应用情况
人工智能