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)

数据框将是:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/728292.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

贪心算法详解与任务调度问题Demo

任务调度问题Demo 任务调度问题是一类常见的优化问题,其目标是在有限的时间内合理安排任务的执行顺序,以最大化任务的完成数量或满足其他优化目标。在这个Demo中,我们将考虑一个简化版的任务调度问题:有一系列任务,每个…

成为大佬之路--linux软件安装使用第000000032篇--linux docker安装文件系统

总体感受 能用,仅仅是能用,不太好用,ui略丑 安装 docker run -d --restart always -p 10018:8080 -v /Users/ascendking/sofewares/mikochi/data:/data -e DATA_DIR"/data" -e USERNAMEadmin -e PASSWORDadmin zer0tonin/mik…

Qt ini配置文件

ini文件用于保存用户的设置操作,下列以背景颜色设置为例子 暂时默认设置为白色背景 这段代码放置在主窗口的构造函数中,用于初始化读取ini文件 QString color;QSettings *set new QSettings("color.ini",QSettings::IniFormat);set->begi…

销售管理之反向与正向目标控制

在销售活动中,控制力是关键。但控制力其实分为两种:反向控制和正向控制。本文将深入探讨这两种控制方式,并阐述如何在销售活动中加以应用,以提升销售效果。 一、反向控制:以客户为中心,引导客户需求 反向控…

【智能家居入门1之环境信息监测】(STM32、ONENET云平台、微信小程序、HTTP协议)

作为入门本篇只实现微信小程序接收下位机上传的数据,之后会持续发布如下项目:①可以实现微信小程序控制下位机动作,真正意义上的智能家居;②将网络通讯协议换成MQTT协议再实现上述功能,此时的服务器也不再是ONENET&…

C++笔记(七)--- const

const关键字表示所修饰的变量或函数不可改变 C语言中const 1.const修饰的变量不可改变,故必须定义时初始化2.const修饰函数,表示函数返回值不可更改3.const修饰普通参数,表示参数不可修改4.const修饰的变量不可直接修改,但可以通…

浙大版《数据结构学习与实验指导(第2版)》符号配对

符号配对 题目链接 题目描述 请编写程序检查C语言程序中下列符号是否配对:/* 与 */,(与),[与],{与} 输入描述 输入为一个c语言程序的一部分。当读到某一行中只有一个句点“.”和一个回车时,标志着输入结束。程序中需要检查配对的符号不超过2000个。 输…

ChaosBlade故障注入工具--cpu,内存,磁盘占用\IO,网络注入等

前言: 本文介绍一款开源的故障注入工具chaosblade,该工具原本由阿里研发,现已开源;工具特点:功能强大,使用简单。 该工具故障注入包含:cpu,内存,磁盘io,磁盘…

Unity3D 立方体纹理与自制天空盒详解

前言 在Unity3D中,立方体纹理和自制天空盒是常见的技术,它们可以帮助开发者创建出更加真实和引人入胜的游戏场景。本文将详细介绍Unity3D中立方体纹理和自制天空盒的实现方法,希望能帮助读者更好地理解和运用这些技术。 对惹,这…

计算机网络:应用层知识点汇总

文章目录 一、网络应用模型二、域名系统(DNS)三、文本传输协议(FTP)四、电子邮件五、万维网和HTTP协议 一、网络应用模型 p2p也就是对等模型 二、域名系统(DNS) 我们知道,随着人们建立一个网站…

记一次systemd服务启动找不到Java命令

首先systemd服务文件 /etc/systemd/system/test.service(文件简化处理了) [Unit] Descriptiontest Afternetwork.target [Service] ExecStart/opt/test/bin/test_start.sh [Install] WantedBymulti-user.target其中启动命令ExecStart指向的是一个sh启动脚本, 脚本内…

UnityAPI的学习——Random类

Random类是Unity中用于产生随机数的类,不可实例化,只有静态属性和静态方法 Random类静态属性 在Random类中,涉及的静态属性有insideUnitCircle属性、insideUnitSphere属性、onUnitSphere属性、rotationUnitform属性、rotation属性和seed属性…

文生视频Sora模型发布,是否引爆AI芯片热潮

文生视频Sora模型发布,是否引爆AI芯片热潮 1. 引言 在人工智能的历史长河中,每一次技术的飞跃都伴随着社会生产力的巨大变革。自2015年以来,深度学习技术的突破性进展,尤其是在自然语言处理、图像识别和机器学习等领域的成功应…

海外IP代理应用:亚马逊使用什么代理IP?

代理IP作为网络活动的有力工具,同时也是跨境电商的必备神器。亚马逊作为跨境电商的头部平台,吸引了大量的跨境电商玩家入驻,想要做好亚马逊,养号、测评都需要代理IP的帮助。那么应该使用什么代理IP呢?如何使用&#xf…

vue el-avatar 使用require提示无法找到图片

报错信息 错误代码 问题分析 vue初始化DOM树时没有挂载数据,导致无法找到模块 解决方案

抖音商家短视频直播流量变现运营SOP地图

【干货资料持续更新,以防走丢】 抖音商家短视频直播流量变现运营SOP地图 部分资料预览 资料部分是网络整理,仅供学习参考。 抖音运营资料合集(完整资料包含以下内容) 目录 【提升短视频运营效率的专业指南】 高效运营&#xf…

Springboot实现获取@Value中同字符串从yml加载后的值

问题描述: 自定义注解,希望能够和Value注解使用一样的value值表达式格式从而动态的从yml中获取配置。做到见名知意 测试流程 yml配置 test:abc: aaaaValue注解获取值 Value("2222.kk.${test.abc}.111") private String test;获取自定注解…

leetcode 39题组合总和

# 为什么c方法不用for循环, [:] 索引拷贝的区别 题目地址&#xff1a;https://leetcode.cn/problems/combination-sum/ # 1. 官方c解法&#xff1a; 提交测试了几个用例可以通过 cpp class Solution { public: void dfs(vector<int>& candidates, int target, v…

【安卓(Android)原生与H5开发区别】

安卓&#xff08;Android&#xff09;原生与H5开发 Android原生语言开发&#xff0c;指的是使用Java或Kotlin等编程语言对Android应用程序的用户界面部分进行开发。Android编程语言可以直接调用底层系统的API与功能。H5开发是指使用HTML、CSS和JavaScript等前端技术进行开发&a…

倒计时37天

复习1001. 马走日问题: 1.P1002 [NOIP2002 普及组] 过河卒 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) //日常碎碎念&#xff1a;谁懂啊&#xff0c;dev突然不能用了&#xff0c;也不知道是哪里出了问题下了五六次都不能用&#xff0c;&#xff0c;&#xff0c;找远程安…