AI Earth——1990-2022年全国月度气象数据检索应用app

应用结果

代码 

#导入安装包
import os
import json
import datetime
import streamlit as st
import streamlit.components.v1 as components
import traceback
from PIL import Imageimport aie#读取当前目录的内容
current_work_dir = os.path.dirname(__file__)
#添加地图
collection_id = 'TJNU_3JECO_CHINA_DDEP_V01'# 隐藏页面右上角的action bar按钮
hide_streamlit_action_button = """<style>#MainMenu {visibility: hidden;}</style>
"""
#设定地图分布,页面标题设定名称
st.set_page_config(layout="wide", page_title="AIE AppHub")
st.markdown(hide_streamlit_action_button, unsafe_allow_html=True)
# 调整边距 设定边距
st.markdown(" <style> div[class^='css-1544g2n'] { padding-top: 1px; } </style> ", unsafe_allow_html=True)
st.markdown(" <style> div[class^='block-container'] { padding-top: 1px; } </style> ", unsafe_allow_html=True)# aie的初始化应用分析
def aie_init():'''AIE开发者SDK初始化请登录后访问https://engine-aiearth.aliyun.com/#/utility/auth-token  获取认证token,并将token设置为系统环境变量(变量名为SDK_TOKEN),以便下述代码获取并初始化SDK。'''token = os.environ.get("SDK_TOKEN")  # 请至应用空间设置-环境变量中添加SDK_TOKENaie.Authenticate(token=token)aie.Initialize()#这里我们需要让下面函数每一次进行运行,防止过渡运行。
@st.cache_resource
def get_default_aie_map():aie_map = aie.Map(center=[116.383331,39.916668],height=800,zoom=4)return aie_map.to_html()# 定义初始化的函数
def page_reset_callback():st.session_state['region_province_select'] = '请选择'st.session_state['time_picker'] = [datetime.date(2020, 1, 1), datetime.date(2020, 1, 31)]st.session_state['render_map_html'] = get_default_aie_map()#这里设定一个数据筛选函数,包含了地图矢量、底图,研究区,和图层
def aie_map_layer_assemble(year, month,parameter):# 拼接AIE 数据查询SDK语句aie_init()feature_collection = aie.FeatureCollection('China_Province')aie_map = aie.Map(center=feature_collection.getCenter(),height=800,zoom=3)region_vis_params = {'color': '#00FF00'}aie_map.addLayer(feature_collection,region_vis_params,'行政区划边界',bounds=feature_collection.getBounds())year_mon = year + monthimage = aie.Image('ERA5_LAND_MONTHLY_' + year_mon ).clipToCollection(feature_collection)#这里是复选框内容的选项if parameter=="temperature_2m" or parameter=="dewpoint_temperature_2m" or parameter=="soil_temperature_level_1" or parameter=="soil_temperature_level_2" or parameter=="soil_temperature_level_3" or parameter=="soil_temperature_level_4":para_image = image.select([parameter]).subtract(aie.Image.constant(273.15))
#这里我们选择后让其影像转化为摄氏度℃#设定可视化参数vis_temp = {'min': -10,'max': 30,'palette': ["#000080","#0000D9","#4000FF","#8000FF","#0080FF", "#00FF80","#00FF80","#80FF00","#DAFF00","#FFFF00","#FFF500","#FFDA00","#FFB000","#FFA400","#FF4F00","#FF2500","#FF0A00","#FF00FF",]}
#设定图层aie_map.addLayer(para_image,vis_temp,parameter +'(°C)',bounds=para_image.getBounds())  ### 绘制图例 设定图例,这里从ipyleaflet导入图例from ipyleaflet import LegendControl  
#这里图例展示和颜色      legend = LegendControl({'  < -10  ':'#000080','-10 - -5':'#

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

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

相关文章

leetcode--二叉树中的最大路径和

leetcode地址&#xff1a;二叉树中的最大路径和 二叉树中的 路径 被定义为一条节点序列&#xff0c;序列中每对相邻节点之间都存在一条边。同一个节点在一条路径序列中 至多出现一次 。该路径 至少包含一个 节点&#xff0c;且不一定经过根节点。 路径和 是路径中各节点值的总…

Redis 客户端命令大全

Redis 客户端命令涵盖了广泛的类别&#xff0c;包括键操作、字符串、哈希、列表、集合、有序集合、事务、脚本、服务器管理等。下面是一个 Redis 客户端命令的概述&#xff0c;按功能分类&#xff1a; 键&#xff08;Key&#xff09;命令 DEL key [key ...] 删除一个或多个键…

深入理解用户需求,打造一对一智能化服务

方向一&#xff1a;AI技术应用场景探索 在当今快速发展的科技时代&#xff0c;人工智能&#xff08;AI&#xff09;技术无疑是最为耀眼的明星之一。从基础的语音识别、图像识别到复杂的自然语言处理和生成式模型&#xff0c;AI技术正逐步渗透到我们生活的每一个角落。李彦宏在…

Nginx+Tomcat群集

**Nginx Tomcat 集群** Nginx 和 Tomcat 集群的组合是一种常见且强大的架构方案&#xff0c;旨在实现高可用性、可扩展性和高性能的 Web 应用服务。 Nginx 是一款轻量级的高性能 Web 服务器和反向代理服务器。它能够高效地处理静态资源请求&#xff0c;并将动态请求转发到后…

c++的几大特性

C 是一种广泛使用的编程语言&#xff0c;它是 C 语言的扩展&#xff0c;增加了面向对象编程&#xff08;OOP&#xff09;的特性以及其他一些高级功能。C 的几大特性主要包括以下几个方面&#xff1a; 面向对象编程&#xff08;OOP&#xff09;&#xff1a; 封装&#xff08;En…

pytest-yaml-sanmu(六):YAML数据驱动测试

如果说 pytest 中哪些标记使用得最多&#xff0c;那无疑是 parametrize 了&#xff0c; 它为用例实现了参数化测试的能力&#xff0c;进而实现了数据驱动测试的能力。 1. 使用标记 parametrize 的使用需要提高两个内容&#xff1a; 参数名 参数值 pytest 在执行用例时&…

6元/年英国Giffgaff卡申请和使用

官网&#xff1a;https://www.giffgaff.com/freesim-international 今天和大家分享一款来自英国的电话卡——Giffgaff&#xff0c;它能够在大陆正常使用&#xff0c;并且保号的费用也十分便宜&#xff0c;大约6元/年。自己免费申请的卡已经激活成功&#xff0c;将过程与大家分…

亚信安全新一代终端安全TrustOne2024年重磅升级

以极简新主义为核心&#xff0c;亚信安全新一代终端安全TrustOne自2023年发布以来&#xff0c;带动了数字化终端安全的革新。60%&#xff0c;安装部署及管理效率的提升&#xff1b;50%&#xff0c;安全管理资源的节省&#xff1b;100%&#xff0c;信创非信创场景的全覆盖。Trus…

FastReport 指定sql 和修改 数据库连接地址的 工具类 :FastReportHelper

FastReport 指定sql 和修改 数据库连接地址的 工具类 &#xff1a;FastReportHelper 介绍核心代码&#xff1a;完整代码&#xff1a; 介绍 在FastReport中&#xff0c;经常会遇到需要给 sql 加条件的情况&#xff0c;或者给数据库地址做更换。 &#xff08;废话不多说&#x…

java之循环练习题

思路分析&#xff1a; 代码&#xff1a; public static void main(String[] args) {int sum0;for (int i1;i<100;i){for (int j1;j<i;j) {sum j;}}System.out.println(sum);} 结果为&#xff1a;

DeepViT:字节提出深层ViT的训练策略 | 2021 arxiv

作者发现深层ViT出现的注意力崩溃问题&#xff0c;提出了新颖的Re-attention机制来解决&#xff0c;计算量和内存开销都很少&#xff0c;在增加ViT深度时能够保持性能不断提高 来源&#xff1a;晓飞的算法工程笔记 公众号 论文: DeepViT: Towards Deeper Vision Transformer 论…

提升爬虫OCR识别率:解决嘈杂验证码问题

引言 在数据抓取和网络爬虫技术中&#xff0c;验证码是常见的防爬措施&#xff0c;特别是嘈杂文本验证码。处理嘈杂验证码是一个复杂的问题&#xff0c;因为这些验证码故意设计成难以自动识别。本文将介绍如何使用OCR技术提高爬虫识别嘈杂验证码的准确率&#xff0c;并结合实际…

大模型面试(三)

这次是某家公司的一个电话面试&#xff0c;问的过程还比较简单直接。 问&#xff1a;我们在大模型开源项目的应用上遇到了什么困难&#xff1f; 这个。。有两个困难&#xff0c;一个是RAG的优化&#xff0c;一开始RAG是比较慢的&#xff0c;而且召回率不高&#xff1b; 后来…

Winform切换开关自定义控件的实现

1、实现切换开关自定义控件 (1)、设置初始化; (2)、扩展自定义属性; (3)、控件重绘; (4)、定义事件。 2、自定义控件代码 using System; using System.Collections.Generic; using System.ComponentModel; using System.Drawing; using System.Drawing.Drawing2D; …

面向对象的程序设计设计思想(解决问题所需要的类),面向过程的程序设计思想(解决问题的步骤)

一、引言 面向对象思想是现代编程语言的主流编程思想&#xff0c;除了C语言外&#xff0c;其他的主流编程语言&#xff0c;无论是脚本的还是非脚本的&#xff0c;基本上都引入了面向对象这一设计思想&#xff0c;面向对象设计思想是怎样的&#xff1f;为什么现在的编程语言大都…

模型驱动开发(Model-Driven Development,MDD):提高软件开发效率与一致性的利器

目录 前言1. 模型驱动开发的原理1.1 什么是模型驱动开发1.2 MDD的核心思想 2. 模型驱动开发的优势2.1 提高开发效率2.2 确保代码一致性2.3 促进沟通和协作2.4 方便维护和扩展 3. 实现模型驱动开发的方法3.1 选择合适的建模工具3.1.1 UML3.1.2 BPMN3.1.3 SysML 3.2 建模方法3.2.…

Linux驱动更新,以及ubuntu18.04升级22.04过程记录

驱动版本465.19.01升级为驱动555.58.02 Linux x64 (AMD64/EM64T) Display Driver驱动网址 下载转到root路径下,要不然会提示权限不够 sudo mv /path/to/filename.run /root/这里,‌/path/to/filename.run是要移动的驱动文件的当前路径,自行替换为实际的文件路径。‌ ls查…

全局变量与局部变量同名优先级

如果全局变量与局部变量同名&#xff0c;则局部变量将优先。这是因为局部变量在函数执行时会被推到作用域的最前端&#xff0c;从而在作用域链中具有更高的优先级。 直接看代码 var val 10 function test(){console.log(val)var val 100console.log(val) } test()undefined…

大学生竞赛管理系统-计算机毕业设计源码37276

大学生竞赛管理系统的设计与实现 摘 要 随着教育信息化的不断发展&#xff0c;大学生竞赛已成为高校教育的重要组成部分。传统的竞赛组织和管理方式存在着诸多问题&#xff0c;如信息不透明、效率低下、管理不便等。为了解决这些问题&#xff0c;提高竞赛组织和管理效率&#x…

K8S 上部署大数据相关组件

文章目录 一、前言二、Redis 一、前言 Artifact Hub 是一个专注于云原生应用的集中式搜索和发布平台。它旨在简化开发者在 CNCF&#xff08;Cloud Native Computing Foundation&#xff09;项目中寻找、安装和分享包与配置的过程。用户可以通过这个平台方便地发现、安装各类云原…