从Eumetsat批量下载哨兵数据等各种数据

从Eumetsat批量下载哨兵数据等各种数据

那些最好的程序员不是为了得到更高的薪水或者得到公众的仰慕而编程,他们只是觉得这是一件有趣的事情!

批量下载Sentinel数据脚本2023

  • 从Eumetsat批量下载哨兵数据等各种数据
    • 🌿前言
    • 🍀脚本构成
      • ClassEumdac.py
      • EUMETSATMain.py
    • 🌸使用教程
      • 🍗设置products_url
      • 🍟设置用户参数
      • 🍔运行程序
    • 🌹结语


📆Date: 2024年1月6日
🎬Author: 小 y 同 学
🔖Language: Python

  批量下载Eumetsat官网的数据(Sentinel-3、Sentinel-6等数据产品以及一些气象数据产品)


🌿前言

  1. 脚本介绍:使用Python+科学上网+多进程,批量下载Eumetsat官网的数据(Sentinel-3、Sentinel-6等数据产品以及一些气象数据产品)

  2. Eumetsat官网:https://data.eumetsat.int/search?

  3. Eumetsat简介:EUMETSAT(European Organisation for the Exploitation of Meteorological Satellites) 是欧洲气象卫星开发组织,其主要宗旨是建立、维护和运行欧洲的气象卫星系统,其官网不仅仅提供有Sentinel-3、Sentinel-6、Jason-3等卫星数据,还包括其他气象数据产品。具体可以进入官网进行查看。

    Eumetsat官网

    Eumetsat检索数据

  4. **敬请关注项目Github仓库地址:**https://github.com/cyloveyou/Eumetsat_Download,若后续脚本有更新将同步到Github。

🍀脚本构成

ClassEumdac.py

包含了UserPrint、ProductsInfoFile、SaveParam、UserInfo、ProductInfo四个类。

  1. UserPrint:包含了一些个性化打印提示函数。
  2. ProductsInfoFile:主要是从获取的JSON数据提取下载链接、读取下载链接等功能。
  3. SaveParam:保存参数,包含缓存文件路径和保存路径的创建。
  4. UserInfo:用户个人信息customer_key、customer_secret、token等
  5. ProductInfo:对单个产品进行下载。

EUMETSATMain.py

  程序入口,包含了一些参数设置,具体设置教程见下文。

🌸使用教程

  主要包括设置products_url,设置用户参数。


🍗设置products_url

  1. 获取products_url,进入EUMETSATM官网https://data.eumetsat.int/search?,选择需要的产品数据文件进行检索,(脚本将会下载检索得到的所有结果)。
    产品检索

  2. 获取JSON url

    准备获取JSON网址

    获取JSON网址

  3. 将JSON url复制粘贴到products_url.txt文件中

    products_url.txt文本

  4. 至此,products_url设置完成。


🍟设置用户参数

  1. consumer_key和consumer_secret参数设置
    登录EUMETSAT,点击API Key,随后即可看到参数,复制替换到脚本

    API Key

    consumer_key&&consumer_secret

  2. products_url_path、products_file_path以及download_path参数设置

  products_url_path:是存放JSON url的文件,这里默认为products_url.txt,也就是第一步的.txt文件。

  products_file_path:用于存放脚本从JSON url获取的产品下载链接文件,同时也用于下载脚本的输入数据。

  download_path:产品保存文件夹,程序会自动以该路径创建缓存文件夹(temp)和完成文件夹(finish),下载完整的数据会被保存到finish文件夹中。

  1. IPPort参数设置

    IPPort为本地代理参数,开启科学上网,具体八仙过海,此处做不赘述。值得注意的是:需要保证代理流量足够
    Windows自带搜索框,搜索Internet属性,按下图操作。

    IPPort参数设置

    需要注意的是,程序中IPPort写法应为替换位置一:替换位置二

  2. multiN参数设置

  multiN为多进程个数参数,一般小于CPU核数,不可过大


🍔运行程序

  1. 经过上述参数设置完成后,可以运行程序,会出现以下提示:

运行程序结果

  1. 对于下载出错的文件,会提示并随机等待几十秒后重新下载:

下载出错的文件运行结果

  1. 对于已经存在的文件,会跳过下载:

已经存在的文件运行结果

  1. 对于Token过期,会重新获取Token并重新下载(这里目前还未遇到,不便截图)

🌹结语

  1. 项目源码已托管与Github仓库,公众号回复关键字“240101”获取~

  2. 就目前而言,脚本对于断网、token过期等常见现象抵抗能力良好,还遇到过异常情况,欢迎邮箱私信。

  3. 对于本脚本,还有很多可以优化的地方,希望大家可以多给些建议,不忘收藏关注😉

  4. 本人也是测绘遥感方向的学习者,愿意结交志同道合的伙伴,对于脚本的相关问题可在一定程度上提供帮助。

  5. 脚本进程数不宜设置过大,若修改脚本进程过大放在多核服务器上执行导致对EUMETSAT服务器的攻击行为,本站不承担任何责任。

  6. …最终解释权归作者所有。作者邮箱:3232076199@qq.com,烦请说明来意。


  • 路虽远,行则将至;事虽难,做则必成。希望认真学习的你能够有所收获~

  • 本公众号的原创成果,在未经允许的情况下,请勿用于任何商业用途!

  • 如果本文有幸可以帮到您,欢迎您的点赞、收藏与关注;您的点赞、收藏与关注是我创作的最大动力~


微信公众号

CSDN博客二维码

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

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

相关文章

QQ邮件发送(PHP的Laravel)

1. 开启 QQ 邮箱的 SMTP 支持 2.里面会一个类似于密码之类(复制一下) 3.然后再 .env文件里面配置一下 MAIL_DRIVERsmtp —— 使用支持 ESMTP 的 SMTP 服务器发送邮件; MAIL_HOSTsmtp.qq.com —— QQ 邮箱的 SMTP 服务器地址,必…

SpringSecurity深度学习

SpringSecurity简介 spring Security是什么? Spring Security 是一个强大且高度可定制的身份验证和访问控制框架,用于保护基于Spring的应用程序。它是Spring项目的一部分,旨在为企业级系统提供全面的安全性解决方案。 一个简单的授权和校验…

selenium实现UI自动化

1.selenium简介 selenium是支持web浏览器自动化的一系列工具和库的综合项目。具有支持linux、windows等多个平台,支持Firefox、chrome等多种主流浏览器;支持Java、Python等多种语言。 主要包括的三大工具有: WebDriver(rc 1.0)、…

从0开始python学习-42.requsts统一请求封装

统一请求封装的目的: 1.去除重复的冗余的代码 2. 跨py文件实现通过一个sess来自动关联有cookie关联的接口。 3. 设置统一的公共参数,统一的文件处理,统一的异常处理,统一的日志监控,统一的用例校验等 封装前原本代…

Kubernetes复习总结(一):Kubernetes内置资源、Device Plugin机制

1、Kubernetes内置资源 1)、Pod Pod是Kubernetes进行管理的最小单元,程序要运行必须部署在容器中,而容器必须存在于Pod中 Pod可以认为是容器的封装,一个Pod中可以存在一个或者多个容器 1)Pod进程组 在Kubernetes里面…

【动态规划】【字符串】C++算法:140单词拆分

作者推荐 【动态规划】【字符串】扰乱字符串 本文涉及的基础知识点 动态规划 字符串 LeetCode140:单词拆分 II 给定一个字符串 s 和一个字符串字典 wordDict ,在字符串 s 中增加空格来构建一个句子,使得句子中所有的单词都在词典中。以任意顺序 返回…

在电商狂欢中,什么平台更加对商家有利?

我是电商珠珠 近年来,不管是直播电商也好,电商平台也好,都一直朝着向上走的趋势。 我做电商也已经有5年时间了,期间做过天猫,快手、抖店,团队从原来的几个人,扩大到了70。 在22年10月&#x…

Python 面向对象之多态和鸭子类型

Python 面向对象之多态和鸭子类型 【一】多态 【1】概念 多态是面向对象的三大特征之一多态:允许不同的对象对同一操作做出不同的反应多态可以提高代码的灵活性,可扩展性,简化代码逻辑 【2】代码解释 在植物大战僵尸中,有寒冰…

UE4.27_PIE/SIE

UE4.27_PIE/SIE 1. 疑问: 不明白什么是PIE/SIE? 不知道快捷键? 2. PIE/SIE: play in editor/simulate in editor 3. 快捷键: F8: 运行时possess&eject切换 4. 运行操作效果: PIE&SIE

3d全景怎么拍摄?应用领域有哪些?

3d全景技术是综合了VR技术和全景拍摄的一种新型应用技术,通过3D全景技术可以为用户带来720度无死角的观看方式和真实的观看体验,那么3d全景是怎么拍摄制作的呢?应用领域又有哪些呢? 3d全景拍摄制作流程其实不难,常见的…

【Docker】配置阿里云镜像加速器

默认情况下,将来从docker hub (https://hub.docker.com )上下载镜像太慢,所以一般配置镜像加速器。 没有账号的注册一个账号并登录 登录之后点击控制台 查看 cat /etc/docker/daemon.json

腾讯云2核2G3M服务器够用吗?腾讯云2核2G3M云服务器性能评测

阿里云轻量应用服务器2核2G3M带宽优惠价格62元一年,100%CPU性能,3M带宽下载速度384KB/秒,40GB SSD系统盘,月流量200GB,折合每天6.6GB流量,超出月流量包的流量按照0.8元每GB的价格支付流量费,地域…

大数据StarRocks(五) :数据类型

StarRocks 支持数据类型:数值类型、字符串类型、日期类型、半结构化类型、其他类型。您在建表时可以指定以下类型的列,向表中导入该类型的数据并查询数据。 5.1 数值类型 SMALLINT2 字节有符号整数,范围 [-32768, 32767] INT4 字节有符号整…

2024最新Selenium面试题,建议收藏备用!

一.你在TestNG中使用了哪些注解? Test BeforeSuite AfterSuite BeforeTest AfterTest BeforeClass AfterClass BeforeMethod AfterMethod 二.如何从Excel中读取数据? FileInputStream fs new FileInputStream(“excel文件路径”); Workbook …

代码随想录day21 二叉搜索树进阶

530.二叉搜索树的最小绝对差 题目 给你一棵所有节点为非负值的二叉搜索树,请你计算树中任意两节点的差的绝对值的最小值。 示例: 思考 本题有一种笨办法,就是把二叉树的所有结点都存到一个vector里,因为二叉搜索树是左中右排序…

【致远FAQ】V8.0_甘特图能不能实现行表头一级一级显示(树形结构)

问题描述 甘特图能不能实现行表头一级一级显示(树形结构) 问题解决 设置统计时把合并同类型和显示行合计都勾选上就可以了 效果参考

AcWing 851. spfa求最短路AcWing 852. spfa判断负环—spfa算法

问题链接:AcWing 851. spfa求最短路 问题描述 spfa算法是对bellman-ford算法的改进,bellman-ford算法比较笨,要遍历所有边来更新,其实如果当前点没有被更新的话,就不用用当前点来更新他所连接的点了。我们只需要每次更新一个点后…

小游戏实战丨基于Tkinter的五子棋小游戏

文章目录 写在前面Tkinter五子棋系列文章写在后面 写在前面 本期内容:基于tkinter的五子棋小游戏 下载地址:https://download.csdn.net/download/m0_68111267/88700190 实验环境 python3.11及以上pycharmtkinter Tkinter Tkinter是Python的一个标准…

vue2 element 弹出框拖拽会出现一层阴影问题

问题如图所示&#xff1a; 因增加 draggable 属性导致我弹窗表单清空文本框时&#xff0c;从右向左选中字体会出现拖拽阴影效果 去掉 draggable 即可 <template><div class"sys-jobTrigger-container"><el-dialog:visible.sync"state.isShowD…

密码学:一文看懂初等数据加密一对称加密算法

文章目录 对称加密算法简述对称加密算法的由来对称加密算法的家谱数据加密标准-DES简述DES算法的消息传递模型DES算法的消息传递过程和Base64算法的消息传递模型的区别 算法的实现三重DES-DESede三重DES-DESede实现 高级数据加密标准一AES实现 国际数据加密标准-IDEA实现 基于口…