当前位置: 首页 > news >正文

Python水循环标准化对比算法实现

🎯要点

  1. 算法区分不同水循环数据类型:地下水、河水、降水、气温和其他,并使用相应标准化降水指数、标准化地下水指数、标准化河流水位指数和标准化降水蒸散指数。
  2. 绘制和计算特定的时间序列比较统计学相关性。
  3. 使用相关矩阵可视化集水区和显示空间信息。

🍪语言内容分比

在这里插入图片描述
在这里插入图片描述

🍇Python地图表示

Altair 是一个基于 Vega 和 Vega-Lite(来自 JS)的声明式图形可视化库,而 Vega 和 Vega-Lite 又基于 D3.js。它允许将交叉地图与其他类型的图形相关联,如以下示例所示:

import altair as alt
url_geojson = 'mallorca_geoson.json'
data_geojson = alt.Data(url=url_geojson, format=alt.DataFormat(property=' features',type='jjson'))
mallorca = alt.Chart(data_geojson).mark_geoshape(stroke="gray", color="white", strokeWidth=0.5)
#D Data
coord_mask = (pluvio.COORD_X >= 2.2) & (pluvio.COORD_X <= 3.5)&\(pluvio.COORD \overline{Y}>=38.\theta)&(pluvio.COORD_
mallorca_pluvio = pluvio.\्रoc[coord_mask, : ]
#Plots
brush = alt.selection_interval(encodings=["longitude", "latitude"], empty=False)
pluviometros = alt.Chärt(mallorca_pluvio) \.mark circle(size=50)\.encode(longitude =' COORD X:Q',latitude='COORD \Y:Q',tooltip=['NOMBRE:N', 'ALTITUD:Q'],color=alt.condition(brush, alt.value("red"), alt.value("lightgray"))) \.project("equalEarth") \.properties(width=500, height=350) \. add params(brush)
bars = alt.Chart(mallorca_pluvio) \.mark_bar() \.encode(x=alt.X("ALTITUD:Q"),bin(extent=[0,700]),y=" count (ALTITUD):0",color=alt.value("steelblue"))left_map = mallorca + pluviometros
bars_overlay = bars.encode(color=alt.value("red")).transform_filter(brush)
right bars = alt. layer(bars, bars_overlay)
left_map | (bars + right_bars)

为简洁起见,下面仅使用 2013 年的数据为每种车辆类型生成一张图表。

import altair as alt
# Base chart
url_geojson = 'mallorca_geoson.json'
data_geojson = alt. Data(url=url_geojson, format=alt.DataFormat(property='features',type='json'))
mallorca = alt.Chart(data_geojson), mark_geoshape(stroke="gray", strokeWidth=0.2)data = data. loc[data. year == 2013, :]options = ["cars", "scooters", "motorbikes", "vans", "trucks"]
mallorca \.transform_lookup(lookup="properties, neighbourhood",from_alt.LookupData(data=data, key="municipality", fields=["municipality"] + vehic)) \.encode(alt.Color(alt, repeat('row'), type='quantitative'),tooltip=["municipality:N", alt.Tooltip(alt.repeat('row'), type='quantitative')]) \.project(type="equalEarth") \.properties(width=400, height=200) \.repeat(row=options) \.resolve_scale(color='independent')

Plotly 允许以与 Altair 提供的类似交互的方式表示地图,此外还可以通过 mapbox API 访问 Carto 和 OpenStreet 地图。

import plotly.express as px
fig = px.scatter_mapbox(pluvio,lat=pluvio. COORD Y,lon=pluvio.COORD_X,hover_name="NOMBRE",hover data="ALTITUD",mapbox_style="carto-positron",center={"lat": 39.5, "lon": 2.85},zoom=8)
fig.show()

下面的交互式地图与 Dash 集成,包含额外的交互,可让您探索多年来不同车辆的数量。

import json
from dash import Dash, dcc, html, Input, Output
with open('mallorca_geoson.json') as file:mallorca_geoson = json.load(file)
app = Dash (__name__)
app.layout = html.Div([html.H4('Vehicles per 1000 inhab.'),html.P("Select a vehicle:"),dcc.RadioItems(id='mapbox-mallorca geoson-choropleth-x-vehicle',options=["cars", "scooters", "motorbikes", "vans", "trucks"],value="cars",inline=True),dcc.Graph(id="mapbox-mallorca geoson-choropleth-x-graph"),
])
@app.callback(Output("mapbox-mallorca_geoson-choropleth-x-graph", "figure"),Input("mapbox-mallorca_geoson-choropleth-x-vehicle", "value"))
def display choropleth(vehicle):fig = px.choropleth_mapbox(data, geojson=mallorca_geoson, color=vehicle,color continuous scale="Viridis",locatīons="municípality",featureidkey="properties.neighbourhood",center={"lat": 39.5, "lon": 2.85},zoom=7.5,animation_frame="year")fig.update_layout(margin={"r":0,"tt":\theta,"l":0,"b":0},mapbox_accesstoken=token)return fig
if __name___= "__main__":app.run_server (debug=True)

Bokeh 是一个用于创建交互式 JS 可视化的 Python 库,它不基于 D3.js。如果 Plotly 与包含 Flask Web 服务器的 Dash 集成,那么 Bokeh 则使用 Tornado Web 服务器,后者在后端使用 WebSockets。WebSockets 是有状态的且异步的。

from bokeh.io import output_file, show, output_notebook
from bokeh.layouts import column
from bokeh.models import WMTSTileSource, ColumnDataSource, LinearColorMapper, ColorBar, Select, I
HoverTool, PrintfTickFormatter
from bokeh.models.widgets import RadioButtonGroup
from bokeh.palettes import Viridis6
from bokeh.plotting import figure, show
from numpy import pi, tan, log
import json
output notebook()
def transform_to_mercator(data, lat, lon):k=637813data["x"] = data[lon] * k * pi / 180.data["y"] = log(tan((90 + data[lat]) * p1 / 360.)) * kreturn data
bokeh_pluvio = transform_to_mercator(pluvio, "COORD_Y", "COORD_X")
x_range, y_range = ((250000, 390000), (4750000, 4850000))
tooltips = [("Name", "@NOMBRE"), ("Altitud", "@ALTITUD"), ("(Lon, Lat)", "($x, $y)")]
source = ColumnDataSource(data=bokeh_pluvio)
hover = HoverTool(tooltips=tooltips)
p = figure(tools="pan, wheel_zoom, hover, reset",x_range =x_range,y_range=y_range,x_axis_type="mercator",y_axis_type="mercator",
)p.circle(source=source, fill_color="blue", size=10)
url="http://a.basemaps.cartocdn.com/rastertiles/voyager/{Z}/{X}/{Y}.png"
attribution = "Credit: Carto, under CC BY 3.0. Data by OSM, under ODbL"
p.add_tile(WMTSTileSource(url=url, attribution=attribution))
show(p)

👉参阅、更新:计算思维 | 亚图跨际

相关文章:

Python水循环标准化对比算法实现

&#x1f3af;要点 算法区分不同水循环数据类型&#xff1a;地下水、河水、降水、气温和其他&#xff0c;并使用相应标准化降水指数、标准化地下水指数、标准化河流水位指数和标准化降水蒸散指数。绘制和计算特定的时间序列比较统计学相关性。使用相关矩阵可视化集水区和显示空…...

【TypeScript】知识点梳理(一)

#国庆快乐&#xff01;来点干货~ # #项目中团队总结生产问题&#xff0c;40%是类型相关问题&#xff0c;可见TS的重要性与向好趋势# TS是JS的超集 类型 Number、String、Boolean 首字母大小写&#xff0c;类型有区别&#xff0c;譬如&#xff1a; string是基元&#xff08;原始…...

DMA方式在执行中断处理程序时不中断现行程序吗

DMA方式在执行中断处理程序时会中断现行程序&#xff0c;但DMA数据传输过程本身不中断现行程序。以下是对DMA方式及其中断处理程序的详细解释&#xff1a; DMA方式的基本特点 DMA&#xff08;Direct Memory Access&#xff0c;直接存储器存取&#xff09;方式是一种由硬件直接…...

Redis:string类型

Redis&#xff1a;string类型 string命令设置与读取SETGETMSETMGET 数字操作INCRINCRBYDECRDECRBYINCRBYFLOAT 字符串操作APPENDSTRLENGETRANGESETRANGE 内部编码intembstrraw 在Redis中&#xff0c;字符串string存储的是二进制&#xff0c;以byte为单位&#xff0c;输入的二进…...

【C++ STL】手撕vector,深入理解vector的底层

vector的模拟实现 前言一.默认成员函数1.1常用的构造函数1.1.1默认构造函数1.1.2 n个 val值的构造函数1.1.3 迭代器区间构造1.1.4 initializer_list 的构造 1.2析构函数1.3拷贝构造函数1.4赋值运算符重载 二.元素的插入,删除,查找操作2.1 operator[]重载函数2.2 push_back函数:…...

【Android】CarWatchDog I/O监控服务

Android Car WatchDog I/O监控服务 背景&#xff1a; 某基于Android 13的车载系统。 某天长时间测试一款3方&#xff08;非SystemApp&#xff09;时&#xff0c;该款应用偶发闪退现象。 通过日志分析&#xff0c;发现应用被系统的 Car WatchDog&#xff08;喂狗服务&#xff…...

如何使用 Django 框架进行用户认证的详细指南,涵盖用户注册和登录功能的实现。

当然!下面是关于如何使用 Django 框架进行用户认证的详细指南,涵盖用户注册和登录功能的实现。 掌握 Django 用户认证的艺术 Django 是一个强大的 Python Web 框架,以其灵活性和高效性著称。无论你是新手还是经验丰富的开发者,理解和实现用户认证都是 Web 开发中的一项核心…...

C++ 语言特性21 - 别名模板

一&#xff1a;概述 别名模板是 C11 引入的&#xff0c;用于为一个模板类型定义别名&#xff0c;从而简化复杂的模板类型定义。它结合了 using 关键字&#xff0c;可以对模板类型进行重新命名&#xff0c;使代码更加简洁和可读。 1. 作用 定义模板类型的别名。简化复杂的模板类…...

Jenkins pipeline配置示例

前提条件&#xff1a;已经安装Jenkins并能正常启动 如果Jenkins安装启动遇到问题可以参考&#xff1a; 1.创建pipeline 点击新建项目&#xff1a; 输入名称&#xff0c;选择pipeline&#xff1a; 进入配置页面&#xff0c;如果要配置GitHub Webhook要勾选&#xff1a;<fo…...

Navicat for MySQL 常见问题

一、 创建连接失败问题 创建连接后&#xff0c;报错&#xff1a;1251 -Client does not support authentication protocal by server;consider upgrading MySQL client 原因&#xff1a;环境冲突 解决办法 &#xff1a; windowsR 打开 services.msc 找S开头&#xff1a;SQ…...

Windows:win11旗舰版连接无线显示器,连接失败

摘要&#xff1a;win11系统通过 miracast 无线连接到长虹电视的时候&#xff0c;一直连接不上。查看电脑又是支持 miracast 协议&#xff0c;后续发现关闭防火墙即可正常连接。 一、问题现状 最近公司里新换了电视&#xff0c;打算把笔记本电脑投屏到电视上。由于 HDMI 插拔不…...

Android2024.2.1升级错误

提示 Gradle 版本不兼容&#xff0c;升级后就报错了 。 1.gradle安装包镜像 distributionBaseGRADLE_USER_HOME distributionPathwrapper/dists //distributionUrlhttps\://services.gradle.org/distributions/gradle-8.5-bin.zip distributionUrlhttps://mirrors.cloud.tencen…...

【PHP陪玩系统源码】游戏陪玩系统app,陪玩小程序优势

陪玩系统开发运营级别陪玩成品搭建 支持二开源码交付&#xff0c;游戏开黑陪玩系统: 多客陪玩系统&#xff0c;游戏开黑陪玩&#xff0c;线下搭子&#xff0c;开黑陪玩系统 前端uniapp后端php&#xff0c;数据库MySQL 1、长时间的陪玩APP源码开发经验&#xff0c;始终坚持从客户…...

Arduino UNO R3自学笔记20 之 Arduino如何测定电机速度?

注意&#xff1a;学习和写作过程中&#xff0c;部分资料搜集于互联网&#xff0c;如有侵权请联系删除。 前言&#xff1a;在学习了Arduino的相关基础知识后&#xff0c;现在做个综合应用&#xff0c;给旋转的电机测速。 1.实验目的 测定旋转电机的转速。 2.实验器材-编码器 …...

ChatGPT全新功能Canvas上线:开启智能编程与写作新篇章

引言 随着人工智能技术的迅猛发展&#xff0c;OpenAI旗下的明星产品ChatGPT不断推出创新功能&#xff0c;以满足用户在各个领域的需求。2024年10月3日&#xff0c;OpenAI正式宣布了ChatGPT的全新功能——Canvas。这一功能基于先进的GPT-4o模型开发&#xff0c;为用户提供了一个…...

南沙C++信奥赛陈老师解一本通题 2005:【20CSPJ普及组】直播获奖

【题目描述】 NOI2130 即将举行。为了增加观赏性&#xff0c;CCF 决定逐一评出每个选手的成绩&#xff0c;并直播即时的获奖分数线。本次竞赛的获奖率为 w%w%&#xff0c;即当前排名前 w%w% 的选手的最低成绩就是即时的分数线。 更具体地&#xff0c;若当前已评出了 pp 个选手的…...

Llama 3.2 视觉能力评估

Meta 发布了 Llama 3 模型的新版本&#xff1b;这次&#xff0c;有四种模型用于不同的目的&#xff1a;两个多模态模型&#xff0c;Llama 3.2 11B 和 90B&#xff0c;以及两个用于边缘设备的小型语言模型&#xff0c;1B 和 3B。 这些是 Meta AI 的首批多模态模型&#xff0c;基…...

前端性能优化 面试如何完美回答

前言 性能优化是目前在面试中被问到非常多的问题&#xff0c;主要就是通过各种算和技术来提高页和应用的速度和用户体前端性能优化的问题并不好回答 在回答的时候干万不要掉进一个误区&#xff0c;认为性能优化只是几个技术点而已&#xff0c;事实上性能优化涉及到的是多方面的…...

程序猿成长之路之设计模式篇——设计模式简介

无论是对于代码质量还是代码可维护性、可扩展性&#xff0c;使用合适的设计模式都能够起到促进提升的作用&#xff0c;此外在软考的软件工程师、系统架构师职称考试中&#xff0c;设计模式也是必考的一块内容&#xff0c;因此我打算开拓一个新的专栏简单介绍一下设计模式&#…...

基于Node2Vec的图嵌入实现过程

目录 一、引言二、Node2Vec&#xff08;原理&#xff09;2.1 随机游走&#xff08;Random Walk&#xff09;2.2 嵌入学习2.3 Node2Vec 的优势 三、使用 Node2Vec 进行图嵌入&#xff08;实践&#xff09;3.1 读取和转换 JSON 文件为 Graph 对象3.2 训练 Node2Vec 模型3.3 二维嵌…...

告别AT命令!用四博智联ESP8266固件5分钟搞定MQTT连接(带图形界面)

5分钟零代码实战&#xff1a;用四博智联ESP8266固件轻松玩转MQTT 第一次接触物联网开发时&#xff0c;我被ESP8266的AT指令折磨得够呛——那些晦涩的命令行参数、复杂的连接步骤&#xff0c;稍有不慎就会卡在某个环节。直到发现四博智联的定制固件&#xff0c;才真正体会到什么…...

【免费下载】 探索高效Excel处理:OpenXLSX C++读写Excel表格示例项目推荐

探索高效Excel处理&#xff1a;OpenXLSX C读写Excel表格示例项目推荐 项目介绍 在现代软件开发中&#xff0c;处理Excel文件的需求日益增长&#xff0c;尤其是在数据分析、报告生成和企业级应用中。为了满足这一需求&#xff0c;我们推出了OpenXLSX C读写Excel表格示例项目。该…...

2026年热门抠图软件怎么选?好用的抠图工具实测对比指南

抠图需求在生活和工作中越来越常见——无论是制作证件照、电商产品展示&#xff0c;还是社交媒体内容编辑&#xff0c;一款趁手的抠图工具能省去大量时间。但市面上的抠图软件五花八门&#xff0c;功能各不相同&#xff0c;如何找到最适合自己的那一款&#xff1f;本文将从多个…...

GD32 vs STM32:除了参数表,新手选型还得看这几点(附快速上手指南)

GD32与STM32实战选型指南&#xff1a;新手避坑与快速上手指南 当你在电子市场拿起一片GD32开发板和一片STM32开发板时&#xff0c;它们看起来几乎一模一样——同样的引脚排列&#xff0c;同样的封装尺寸&#xff0c;甚至连丝印字体都相似。但当你真正开始项目开发时&#xff0c…...

3分钟掌握NCM音乐解密:ncmdump工具让你的音乐随处播放

3分钟掌握NCM音乐解密&#xff1a;ncmdump工具让你的音乐随处播放 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 你是否曾经下载了网易云音乐的NCM格式歌曲&#xff0c;却发现无法在其他设备上播放&#xff1f;这种专有加密格式虽然…...

HPM6750 RISC-V高性能MCU开发实战:从双核应用到图形加速

1. 项目概述与核心价值最近几年&#xff0c;RISC-V架构在嵌入式领域的声量越来越大&#xff0c;从最初的学术研究到如今在工业控制、边缘计算等场景的落地&#xff0c;生态的成熟度肉眼可见。作为一名长期混迹在嵌入式开发一线的工程师&#xff0c;我对于新架构、新平台总是抱有…...

Stream Deck与Arduino打造物联网信息看板:软硬云结合实战

1. 项目概述&#xff1a;打造你的专属物理信息看板如果你和我一样&#xff0c;是个桌面极客或者直播爱好者&#xff0c;那你对Elgato的Stream Deck一定不陌生。这个小玩意儿最初是为直播设计的&#xff0c;可以一键切换场景、播放音效&#xff0c;堪称效率神器。但它的潜力远不…...

【免费下载】 STM32标准库-SPI-DMA收发数据-读写Flash(W25Q256JV)-仿printf和scanf输入输出

STM32标准库-SPI-DMA收发数据-读写Flash(W25Q256JV)-仿printf和scanf输入输出 【下载地址】STM32标准库-SPI-DMA收发数据-读写FlashW25Q256JV-仿printf和scanf输入输出 本项目基于STM32F429IGT6单片机&#xff0c;利用Keil MDK V5.32开发环境&#xff0c;展示了如何通过SPI接口…...

【亲测免费】 基于深度学习的计算机视觉PPT

基于深度学习的计算机视觉PPT 【下载地址】基于深度学习的计算机视觉PPT 本仓库提供了一份名为“基于深度学习的计算机视觉PPT”的资源文件&#xff0c;该文件详细介绍了计算机视觉的基本概念、理论基础以及深度学习在计算机视觉中的应用。计算机视觉是一门研究如何使机器“看”…...

私域流量红利见顶?那是你没解锁企业微信 API 的隐藏玩法!

在公域流量成本居高不下的今天&#xff0c;“私域流量”成了每个品牌的标配。然而&#xff0c;许多企业在把客户拉进企业微信后&#xff0c;却发现运营陷入了瓶颈&#xff1a;每天机械地群发广告&#xff0c;客户互动率低&#xff0c;退群率却居高不下。很多人惊呼&#xff1a;…...