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

2024-01-06 17:12

本文主要是介绍从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博客二维码

这篇关于从Eumetsat批量下载哨兵数据等各种数据的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

SpringBoot集成Milvus实现数据增删改查功能

《SpringBoot集成Milvus实现数据增删改查功能》milvus支持的语言比较多,支持python,Java,Go,node等开发语言,本文主要介绍如何使用Java语言,采用springboo... 目录1、Milvus基本概念2、添加maven依赖3、配置yml文件4、创建MilvusClient

SpringValidation数据校验之约束注解与分组校验方式

《SpringValidation数据校验之约束注解与分组校验方式》本文将深入探讨SpringValidation的核心功能,帮助开发者掌握约束注解的使用技巧和分组校验的高级应用,从而构建更加健壮和可... 目录引言一、Spring Validation基础架构1.1 jsR-380标准与Spring整合1

前端下载文件时如何后端返回的文件流一些常见方法

《前端下载文件时如何后端返回的文件流一些常见方法》:本文主要介绍前端下载文件时如何后端返回的文件流一些常见方法,包括使用Blob和URL.createObjectURL创建下载链接,以及处理带有C... 目录1. 使用 Blob 和 URL.createObjectURL 创建下载链接例子:使用 Blob

MySQL 中查询 VARCHAR 类型 JSON 数据的问题记录

《MySQL中查询VARCHAR类型JSON数据的问题记录》在数据库设计中,有时我们会将JSON数据存储在VARCHAR或TEXT类型字段中,本文将详细介绍如何在MySQL中有效查询存储为V... 目录一、问题背景二、mysql jsON 函数2.1 常用 JSON 函数三、查询示例3.1 基本查询3.2

SpringBatch数据写入实现

《SpringBatch数据写入实现》SpringBatch通过ItemWriter接口及其丰富的实现,提供了强大的数据写入能力,本文主要介绍了SpringBatch数据写入实现,具有一定的参考价值,... 目录python引言一、ItemWriter核心概念二、数据库写入实现三、文件写入实现四、多目标写入

使用Python将JSON,XML和YAML数据写入Excel文件

《使用Python将JSON,XML和YAML数据写入Excel文件》JSON、XML和YAML作为主流结构化数据格式,因其层次化表达能力和跨平台兼容性,已成为系统间数据交换的通用载体,本文将介绍如何... 目录如何使用python写入数据到Excel工作表用Python导入jsON数据到Excel工作表用

Mysql如何将数据按照年月分组的统计

《Mysql如何将数据按照年月分组的统计》:本文主要介绍Mysql如何将数据按照年月分组的统计方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录mysql将数据按照年月分组的统计要的效果方案总结Mysql将数据按照年月分组的统计要的效果方案① 使用 DA

鸿蒙中Axios数据请求的封装和配置方法

《鸿蒙中Axios数据请求的封装和配置方法》:本文主要介绍鸿蒙中Axios数据请求的封装和配置方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1.配置权限 应用级权限和系统级权限2.配置网络请求的代码3.下载在Entry中 下载AxIOS4.封装Htt

Python实现AVIF图片与其他图片格式间的批量转换

《Python实现AVIF图片与其他图片格式间的批量转换》这篇文章主要为大家详细介绍了如何使用Pillow库实现AVIF与其他格式的相互转换,即将AVIF转换为常见的格式,比如JPG或PNG,需要的小... 目录环境配置1.将单个 AVIF 图片转换为 JPG 和 PNG2.批量转换目录下所有 AVIF 图

详解如何通过Python批量转换图片为PDF

《详解如何通过Python批量转换图片为PDF》:本文主要介绍如何基于Python+Tkinter开发的图片批量转PDF工具,可以支持批量添加图片,拖拽等操作,感兴趣的小伙伴可以参考一下... 目录1. 概述2. 功能亮点2.1 主要功能2.2 界面设计3. 使用指南3.1 运行环境3.2 使用步骤4. 核