Python 和 Google Colab 从 Sentinel-3 图像下载并可视化地表温度和 NDVI

本文主要是介绍Python 和 Google Colab 从 Sentinel-3 图像下载并可视化地表温度和 NDVI,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

与 Sentinel-2 和 Landsat 等卫星的光学图像相比,下载和处理 Sentinel-3 图像,尤其是地表温度 (LST) 具有挑战性。这是由于存储数据的特定 NetCDF 格式造成的,并且 LST 值的正确投影需要一些额外的工作。在本教程中,我将在 Google Colab 环境中提供 Python 代码,以便于下载 NetCDF 格式的 Sentinel-3 图像、提取并解压缩这些文件、读取各种图层或矩阵(例如 LST、NDVI、Flags 等) ,并并排创建无云 NDVI 和 LST 的视觉表示。该可视化将展示 Sentinel-3 于 2023 年 6 月在加利福尼亚州捕获的数据。

目录

  1. 🌟简介
  2. 🚀 注册“哥白尼数据空间生态系统”
  3. 🔍 安装并导入库
  4. ⏳ 过滤并提交查询
  5. 📥 下载“NetCDF”文件
  6. 🛠️ 转换为 Geotiff(地表温度和 NDVI)
  7. 📈 绘制地表温度与 NDVI 的关系图
  8. 📈 绘制地表温度与 NDVI(无云)的关系图

🌟简介

Sentinel-3 是欧洲航天局哥白尼计划的关键组成部分,在监测地球环境方面发挥着关键作用。它提供的重要数据集之一是地表温度 (LST)。LST 是地球表面热状态的关键指标,为气候研究、农业监测和城市热岛分析等各种应用提供了宝贵的信息。

与捕获可见光谱信息的光学图像不同,Sentinel-3 的 LST 产品深入研究红外领域。通过测量地球表面发出的热辐射,Sentinel-3 能够推导地表温度,有助于我们了解不同地形的温度变化。

地表温度 (LST) 图像提供覆盖全球的每日时间分辨率,空间分辨率约为 1 公里。本教程提供了用于下载和处理 Sentinel-3 图像的分步 Python 脚本。

🚀 注册“哥白尼数据空间生态系统”

第一步需要在欧洲航天局哥白尼计划的新网站上创建一个帐户。关于

🔍 安装并导入库

要设置环境,需要安装并导入以下库:

pip install pandas rasterio netCDF4 rioxarray
import os
import re
import sys
import random
from pathlib import Pathimport requests
import json
import xml.etree.ElementTree as ET
import certifiimport pandas as pd
import numpy as npimport rasterio
import matplotlib.pyplot as plt
import matplotlib.image
from rasterio.windows import Windowimport netCDF4 as ncimport rioxarray
from rasterio.control import GroundControlPoint

⏳ 过滤并提交查询

安装并导入必要的库后,下一步涉及通过指定某些参数来探索数据目录。这些参数包括卫星名称 (SENTINEL-3)、产品级别(LST 表示地表温度)、AOI(点或多边形)以及开始和结束日期。

url_dataspace = "https://catalogue.dataspace.copernicus.eu/odata/v1"# Filtering
satellite = "SENTINEL-3"
level= "LST"
cloud_cover_max = 0.2aoi_point ="POINT(-120.9970 37.6393)"
aoi_polygon = "POLYGON ((-121.0616 37.6391, -120.966 37.6391, -120.966 37.6987, -121.0616 37.6987, -121.0616 37.6391))"start_date = "2023-06-01"
end_date = "2023-06-10"
start_date_full =start_date+"T00:00:00.000Z"
end_date_full = end_date +"T00:00:00.000Z"

 使用这些参数,我们可以提交查询来获取可用图像的列表:

query = f"{url_dataspace}/Products?$filter=Collection/Name eq '{satellite}' and Attributes/OData.CSC.StringAttribute/any(att:att/Name eq 'productType' and att/OData.CSC.StringAttribute/Value eq '{level}') and OData.CSC.Intersects(area=geography'SRID=4326;{aoi_point}') and ContentDate/Start gt {start_date_full} and ContentDate/Start lt {end_date_full}"
response = requests.get(query).json()
result = pd.DataFrame.from_dict(response["value"])# print first 10 results
result.head(10)

数据框将是:

这篇关于Python 和 Google Colab 从 Sentinel-3 图像下载并可视化地表温度和 NDVI的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/784339

相关文章

Python实现网格交易策略的过程

《Python实现网格交易策略的过程》本文讲解Python网格交易策略,利用ccxt获取加密货币数据及backtrader回测,通过设定网格节点,低买高卖获利,适合震荡行情,下面跟我一起看看我们的第一... 网格交易是一种经典的量化交易策略,其核心思想是在价格上下预设多个“网格”,当价格触发特定网格时执行买

Python标准库之数据压缩和存档的应用详解

《Python标准库之数据压缩和存档的应用详解》在数据处理与存储领域,压缩和存档是提升效率的关键技术,Python标准库提供了一套完整的工具链,下面小编就来和大家简单介绍一下吧... 目录一、核心模块架构与设计哲学二、关键模块深度解析1.tarfile:专业级归档工具2.zipfile:跨平台归档首选3.

使用Python构建智能BAT文件生成器的完美解决方案

《使用Python构建智能BAT文件生成器的完美解决方案》这篇文章主要为大家详细介绍了如何使用wxPython构建一个智能的BAT文件生成器,它不仅能够为Python脚本生成启动脚本,还提供了完整的文... 目录引言运行效果图项目背景与需求分析核心需求技术选型核心功能实现1. 数据库设计2. 界面布局设计3

Python进行JSON和Excel文件转换处理指南

《Python进行JSON和Excel文件转换处理指南》在数据交换与系统集成中,JSON与Excel是两种极为常见的数据格式,本文将介绍如何使用Python实现将JSON转换为格式化的Excel文件,... 目录将 jsON 导入为格式化 Excel将 Excel 导出为结构化 JSON处理嵌套 JSON:

Python操作PDF文档的主流库使用指南

《Python操作PDF文档的主流库使用指南》PDF因其跨平台、格式固定的特性成为文档交换的标准,然而,由于其复杂的内部结构,程序化操作PDF一直是个挑战,本文主要为大家整理了Python操作PD... 目录一、 基础操作1.PyPDF2 (及其继任者 pypdf)2.PyMuPDF / fitz3.Fre

python设置环境变量路径实现过程

《python设置环境变量路径实现过程》本文介绍设置Python路径的多种方法:临时设置(Windows用`set`,Linux/macOS用`export`)、永久设置(系统属性或shell配置文件... 目录设置python路径的方法临时设置环境变量(适用于当前会话)永久设置环境变量(Windows系统

python中列表应用和扩展性实用详解

《python中列表应用和扩展性实用详解》文章介绍了Python列表的核心特性:有序数据集合,用[]定义,元素类型可不同,支持迭代、循环、切片,可执行增删改查、排序、推导式及嵌套操作,是常用的数据处理... 目录1、列表定义2、格式3、列表是可迭代对象4、列表的常见操作总结1、列表定义是处理一组有序项目的

python运用requests模拟浏览器发送请求过程

《python运用requests模拟浏览器发送请求过程》模拟浏览器请求可选用requests处理静态内容,selenium应对动态页面,playwright支持高级自动化,设置代理和超时参数,根据需... 目录使用requests库模拟浏览器请求使用selenium自动化浏览器操作使用playwright

python使用try函数详解

《python使用try函数详解》Pythontry语句用于异常处理,支持捕获特定/多种异常、else/final子句确保资源释放,结合with语句自动清理,可自定义异常及嵌套结构,灵活应对错误场景... 目录try 函数的基本语法捕获特定异常捕获多个异常使用 else 子句使用 finally 子句捕获所

Python极速搭建局域网文件共享服务器完整指南

《Python极速搭建局域网文件共享服务器完整指南》在办公室或家庭局域网中快速共享文件时,许多人会选择第三方工具或云存储服务,但这些方案往往存在隐私泄露风险或需要复杂配置,下面我们就来看看如何使用Py... 目录一、android基础版:HTTP文件共享的魔法命令1. 一行代码启动HTTP服务器2. 关键参