325404 字
1627 分钟
1950至2018年间全球热带气旋路径和强度可视化

动画展示了从1950年到2018年全球热带气旋的轨迹和强度。

Animation showing the estimated track and intensity of every tropical cyclone (i.e. tropical storm, #hurricane, and #typhoon) from 1950 to 2018.

显示自1950年以来热带气旋的峰值风速

热带气旋风速与海表温度的关系

Tropical cyclone wind speed relative to ocean sea surface temperature.

播放速度稍慢的5分钟版本

Reference: @RARohde

Data from IBTrACS v04r00. 

https://www.ncdc.noaa.gov/ibtracs/index.php?name=ib-v4-access

长按关注

SciBeautifulData@gmail.com====2019年全球地震情况可视化.md====#

title: “2019年全球地震情况可视化” published: 2021-06-03 description: “2019年,全球发生了13456次震级高于或等于4的地震。 在这个可视化中,黄色小球体表示震级在4到6之间的地震。大的红色球体表示震级高于7级的地震。” image: “/images/2019年全球地震情况可视化/img_b78cd3c1.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#

2019年,全球发生了13456次震级高于或等于4的地震。在这个可视化中,黄色小球体表示震级在4到6之间的地震。大的红色球体表示震级高于7级的地震。6到7级震级,球体的颜色和大小经过插值得到。地震深度乘以了系数6。橙色线条代表板块的边界。

        地震数据来自美国地质调查局(USGS)。====2019新型冠状病毒疫情数据可视化.md====#

title: “2019新型冠状病毒疫情数据可视化” published: 2020-02-01 description: “本文收集整理了2019年武汉新型冠状病毒爆发以来的疫情数据可视化案例。” image: “/images/2019新型冠状病毒疫情数据可视化/img_f81c1860.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#

本文收集整理了2019年武汉新型冠状病毒爆发以来的疫情数据可视化案例。

1.  中国疾控中心“新型冠状病毒感染的肺炎疫情分布系统”

中国疾病预防控制中心(CDC)联合易智瑞中国公司(esriChina)发布“新型冠状病毒感染的肺炎疫情分布系统”。每日更新数据,数据来源于国家卫健委和各省卫健委通报。

From @GIS_Bandit: 

#CoronaVirus Status #Dashboard for #China by #ChinaCDC and #esriChina, built w/ @ArcGISJSAPI

访问地址:http://2019ncov.chinacdc.cn/nCoV/

系统介绍:https://mp.weixin.qq.com/s/i-22baCPvuAfiNeQpsyUQQ

   2.  Wuhan Coronavirus (2019-nCov) Global Cases

     约翰·霍普金斯大学土木与系统工程系所属的系统科学与工程中心(The Center for Systems Science and Engineering,CSSE)长期进行社会与健康问题的跨学科研究,近年来追踪寨卡病毒、麻疹等。数据来自世界卫生组织、美国疾病预防控制中心、欧洲疾病预防控制中心、中国疾病预防控制中心、中国卫生应急办公室和丁香园等。

      访问地址:http://tinyurl.com/uwns6z5

3.  EpiRisk

  ISI 基金会、美国东北大学等组织机构联合开发了这套全球流行病与流动模型(GLEAM),以有效地限制传染病造成的社会和经济损失,预测流行病的时空演变,评估现有遏制和预防策略的潜在影响。

      访问地址: http://tinyurl.com/ve7jrqz

4.  nCoVis Choropleth

      与2019-nCoV的其他现有可视化项目相比,nCoVis Choropleth收集并可视化了地级市(而不是省)的数据以及其他指标,例如感染密度(每平方公里感染数)和感染率(%)。

    这是一个发布在Github的开源项目。

项目地址:https://github.com/ncovis/choropleth

访问地址:http://ncovis.github.io/choropleth/

5.   2019-nCov感染人群热点图、扩散路径

    武汉肺炎2019新型冠状病毒(2019-nCoV),数据可视化感染人群热点图、迁徙扩散轨迹,以提供帮助分析疫情。

     开源项目,基于Vue+Mapv 实现,数据更新不及时。

     项目地址:https://github.com/veaba/ncov

6.  2019新型肺炎疫情地图

      基于python的开源项目,实现了实时疫情地图、实时疫情消息、疫情数据统计排序。提供开放API接口,可自定义增加省份信息。

      手机端效果更佳,预览地址:https://yiqing.ahusmart.com/

7.  2019新型冠状病毒疫情数据实时爬虫

2019新型冠状病毒(2019-nCoV)疫情状况的实时爬虫,数据来源为丁香园。

      开源项目,每分钟访问并爬取一次数据,储存在MongoDB中,并且保存所有历史数据的更新,希望能够在未来回溯病情时能有所帮助。项目开放了一个API接口,其他人如果需要这份数据做其他的可视化,可以直接查看并调用API来获取数据,把丁香园的流量让给更有需要的人。

       作者还针对不熟悉API使用的人员,提供了数据仓库,可以直接下载便于统计/数据分析软件使用的csv文件。

API接口地址:https://lab.isaaclin.cn/nCoV/

**项目地址:**https://github.com/BlankerL/DXY-2019-nCoV-Crawler
**数据仓库:**https://github.com/BlankerL/DXY-2019-nCoV-Data

    以上。

   感谢奋战在一线的医护工作者!

We learned from history-is- that we never learned from history.

人类从历史中学到的教训,就是人类无法从历史中学到任何教训。====2020年初至今-中国的空中交通流量下降了80.md====#

title: “2020年初至今,中国的空中交通流量下降了80%” published: 2020-02-15 description: “自今年年初以来,中国最繁忙的机场的空中交通流量下降了80%。流量下降始于1月的第3周,并在第4周加速下降。” image: “/images/2020年初至今-中国的空中交通流量下降了80/img_b78a12aa.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#

据航班信息追踪公司fightradar24的数据,自今年年初以来,中国最繁忙的机场的空中交通流量下降了80%。流量下降始于1月的第3周,并在第4周加速下降。2月的第1周下降幅度有所放缓,但这很可能是由于运营量已经大幅减少。

1月21日至2月12日的空中交通流量变化

1月21日,有10,522班航班从中国25个最繁忙的机场起飞(请参见下面的列表)。在2月11日,只有2,123班航班从这些机场出发。北京的流量下降了近80%,上海的流量下降了70%,广州的流量也下降了近80%。

各大机场流量呈现断崖式下降趋势

Reference:

https://www.flightradar24.com/blog/air-traffic-at-chinas-busiest-airports-down-80-since-the-beginning-of-the-year/====2021年海洋观测系统报告发布.md====#

title: “2021年海洋观测系统报告发布” published: 2021-07-26 description: “OceanOPS和GOOS观测协调小组联合编写的2021年的海洋观测系统报告卡今天发布。” image: “/images/2021年海洋观测系统报告发布/img_991fb308.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#

OceanOPS和GOOS观测协调小组联合编写的2021年的海洋观测系统报告卡发布。每年,该报告都是对全球海洋观测系统状况的重要洞察,以评估观测网络的进展,聚焦海洋信息的挑战和需求,并鼓励新合作伙伴加入海洋观测计划。2021年的报告重点关注以下关键领域:

     1. Covid-19大流行病对海洋观测活动的影响,以及国际社会在大流行病的限制下为继续进行观测活动所做的卓越努力。

    2. 监测海洋氧气和脱氧情况,对海洋健康和海洋资源至关重要。

    3. 全球海洋观测系统的现状以及如何满足海洋信息的需求。

https://www.ocean-ops.org/reportcard2021/reportcard2021.pdf====2025年大模型进展回顾与展望.md====#

title: “2025年大模型进展回顾与展望” published: 2026-01-02 description: "" image: “/images/2025年大模型进展回顾与展望/img_468b2cd4.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#

当AI新闻淹没我们时,什么才是真正的进展?#

2025年,关于大语言模型(LLM)的新闻、发布和辩论铺天盖地,几乎让人喘不过气。在海量的资讯中,我们该如何分辨哪些是真正意义深远的技术突破,哪些又仅仅是昙花一现的市场炒作?

本文的目标并非简单罗列新闻。事实上,今年AI领域最重要的转变,并非诞生于万众瞩目的发布会舞台,而是悄然出现在研究论文的附录和开发者们的实践探索中。本文提炼总结5个最具影响力的深刻见解。

文末附基于本文内容形成的PPT总结报告。

通过下面这个层层递进的分析,你将了解到这一年里,AI领域真正发生的重要变化。

1. 顶尖AI模型的训练成本,可能比你想象的便宜一个数量级#

2025年最大的惊喜之一,莫过于我们对训练一个顶尖大语言模型所需成本的认知被彻底颠覆。公众普遍认为这需要动辄数千万甚至数亿美元,但事实可能并非如此。

关键证据来自DeepSeek V3的论文。研究人员重新审视其数据后发现,训练一个顶尖模型的成本估算更接近500万美元,而非此前普遍认为的5000万或5亿美元——这整整便宜了一个数量级。更令人惊讶的是,在此基础上继续训练出性能卓越的DeepSeek R1模型,额外的成本仅为29.4万美元

当然,这个数字需要一个重要的注解:它主要核算的是最终模型训练所需的计算资源费用,并未包含研究人员的薪酬以及在参数调优和反复实验过程中产生的大量开发成本。尽管如此,这一发现的意义依然重大。它表明,AI开发的门槛正在迅速降低。

然而,当更多参与者有能力入场时,对排行榜头名的争夺也变得空前激烈,这直接催生了一个值得警惕的新趋势。

2. “跑分至上”的陷阱:为什么AI排行榜越来越不可信?#

随着竞争加剧,一个名为“Benchmaxxing”(跑分至上)的趋势在AI开发领域愈演愈烈。它指的是一些团队过度专注于提升模型在基准测试(leaderboard)上的分数,甚至将刷榜本身作为开发目标,而不是致力于提升模型的通用能力。

Llama 4便是一个典型的案例。它在许多公开基准测试中得分极高,一度引发热议。然而,当用户和开发者实际使用后却发现,这些亮眼的分数并没能完全转化为真实世界中的实用性和可靠性。

这印证了一句行业内的俗语:

“如果测试集是公开的,那它就不再是真正的测试集了。”

基准测试并非毫无用处,它们仍然是评估模型能力的必要门槛——如果一个模型分数很低,那它几乎肯定不好用。然而,一个极高的分数,如今已不再是模型全面优越性的可靠指标。

这就引出了一个关键问题:如果排行榜不再可靠,真正的技术优势又来自何方?答案是,开发者们正将目光从单纯的“更大”转向了“更聪明”。

3. 真正的进步不只靠更大的模型,更靠“更聪明”的推理与工具调用#

许多人直觉地认为,AI能力的提升主要源于不断扩大模型规模。然而,2025年的趋势表明,真正的飞跃越来越多地来自于两个方面:一是“推理时扩展”(inference-time scaling),即在模型生成答案时投入更多计算资源;二是巧妙的“工具调用”(tool use)。

DeepSeekMath-V2模型就是一个绝佳的例子。它之所以能在极具挑战性的数学竞赛基准上达到金牌水平,不仅因为它是一个强大的模型,更因为它在推理时采用了复杂的策略,例如进行多轮自我检验 (self-consistency),即让模型多次生成答案并选择最一致的结果,和自我修正 (self-refinement),即让模型评估并改进自己的答案。

与此同时,“工具调用”正在成为解决模型“幻觉”问题的关键。与其让模型凭记忆回答“1998年世界杯冠军是谁?”,不如让它调用搜索引擎,从官方网站获取准确信息。同样,面对复杂的计算,调用计算器远比模型自己硬算要可靠得多。像OpenAI发布的gpt-oss这类模型,就是专为高效、可靠地使用外部工具而设计的。

与此形成鲜明对比的是GPT-4.5。尽管它可能比GPT-4更大,但其高昂的训练成本被业界认为是“性价比不高”(bad bang for the buck),这恰恰说明单纯扩大模型规模的边际效益正在递减。这种从依赖模型自身到与外部工具协同的转变,也深刻地重塑了我们与AI的关系。

4. AI不是来抢饭碗的,更像一位国际象棋搭档#

关于“AI是否会取代人类工作”的讨论从未停止。2025年的实践给出了一个更具启发性的视角:LLM并非简单的替代品,而是一种强大的工具,能赋予专业人士“超能力”(superpowers),帮助他们从繁琐任务中解放出来,从而专注于更需要深度思考和创造力的核心工作。

国际象棋的类比恰如其分。几十年前,象棋引擎的水平就已超越所有人类棋手。但这并没有扼杀人类象棋运动,反而使其变得更加丰富和有趣。今天的顶尖棋手们,无一不利用AI来分析棋局、学习新策略、挑战自己的直觉。AI成了他们的最佳陪练和分析搭档。

在日常工作中也是如此。我们可以让AI处理那些重复但必要的任务,比如为一个脚本程序编写argparse命令行接口,或者清理网站上经年累月积累的冗余CSS代码。这让我们能将精力集中在核心的算法逻辑或产品设计上。

“当你和一个难题斗争并最终解决它时,会有一种特别的满足感。如果一个LLM瞬间就给出解决方案,我得不到同样的感觉。”

这提出了一个重要的警示:如果我们的工作模式变成让模型完成所有实际工作,而人类只负责监督,那么工作本身可能会变得空洞乏味,甚至加速职业倦怠。学会与这位强大的“搭档”协作,而不是将思考完全外包给它,至关重要。而要让这位搭档发挥最大效用,就需要为它提供最优质的“信息食粮”。

5. 下一场淘金热:私有数据是AI的下一个战场#

随着在公开互联网数据上训练的通用大语言模型能力逐渐趋于饱和,未来的核心竞争优势将来自何方?一个前瞻性的判断是:高质量的、特定领域的私有数据

一个关键现象已经出现:绝大多数拥有宝贵数据的公司(例如金融、生物科技、法律等领域的巨头)都明确拒绝将其核心数据集出售给大型AI实验室。原因很简单——这些数据是它们赖以生存的商业护城河。

基于这一现象,我们可以预测未来的一个重要趋势:越来越多拥有大量预算和独特私有数据的行业巨头,将不再完全依赖外部的通用模型,而是会开始建立自己的内部LLM团队。他们将利用自己独有的数据来训练高度专门化的模型,以解决自身行业的核心问题。

这意味着,AI的未来格局可能不是由少数几家科技巨头完全垄断,而是会走向更加垂直、更加专业化的方向。掌握独特数据的企业,将成为下一个时代的赢家。

结论:进步的多重驱动力与未来的关键技能#

2025年教会我们,大语言模型的进步并非来自某一个单一的突破。它是一个复杂的系统工程,是由架构调整、数据质量、推理训练、推理时扩展和工具调用等多个杠杆共同驱动的结果。

这一年的经验告诉我们,我们都正在成为各自领域的“国际象棋大师”,而AI则是我们强大的分析引擎。未来十年,决定胜负的关键技能或许不再是构建引擎本身,而是懂得如何驾驭它,走出一步无人预见的高明棋路。

那么,你的下一步棋,会是什么?

PPT#

 

====2026-AI-工程师进阶路线图.md====#

title: “2026 AI 工程师进阶路线图” published: 2026-01-14 description: "" image: “/images/2026-AI-工程师进阶路线图/img_a243d546.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#

当下的 AI 领域正在经历一场深刻的分化。大多数开发者仍在构建”玩具级”应用——那些基于 GPT API 的薄层封装,而市场真正需要的是能够处理生产级复杂性的系统架构师。

这种差距有多大?据估算,一位Prompt工程师与一位系统架构师之间的薪资差距可达15万美元。这不仅仅是技术栈的差异,而是思维模式和工程能力的本质区别。

停止构建通用套壳应用吧—市场上已经充斥着这类产品,它们不是真正的业务,只是等待被大厂”Sherlocked”(即被大厂原生功能取代)的临时方案。如果你想成为不可替代的人才,就必须深入理解编排(Orchestration)、记忆系统(Memory)和本地推理(Local Inference)。

本文将介绍 5 个按复杂度递进的生产级项目,帮助你系统性地构建核心竞争力。


项目一:基于小语言模型的 AI 移动应用(入门级)#

构建一个离线优先的移动应用,使用小语言模型(SLM)实现零 API 成本和完全的用户隐私保护。这个项目的核心在于学习如何针对受限硬件优化模型。

关键架构决策#

模型管理策略
 采用懒加载机制按需加载模型以节省内存。当检测到内存压力时卸载不活跃的模型,并在空闲时预加载常用模型。

上下文窗口优化
 实现滑动窗口配合语义分块。保留最相关的上下文,丢弃最旧的内容。使用嵌入相似度来决定哪些内容留在窗口中,哪些归档存储。

量化策略
 根据设备能力动态调整量化级别。对2020年前的旧设备使用4-bit量化,新设备使用8-bit量化。检测可用RAM并相应调整。

电池优化
 批量处理推理请求以减少唤醒周期。在低电量模式下节流模型调用,将非关键处理延迟到充电时进行。

离线优先同步
 以加密格式本地存储用户数据。仅在连接且获得用户许可时同步到云端,冲突解决优先采用本地更改。

为什么是入门级#

这个项目证明你理解资源约束和边缘AI。你不是简单地调用API,而是在管理量化和内存压力——这是移动AI开发的核心能力。


项目二:自我改进的编程智能体(中级)#

聊天机器人等待提示,而智能体(Agent)等待目标——区别在于循环。构建一个能够自主编写代码、运行测试并从失败中学习的智能体。它不会停止,直到代码能够正常运行。

关键架构决策#

执行循环设计
 实现”计划 → 执行 → 测试 → 反思”的循环,设置最大迭代限制。每个循环存储状态以便中断后恢复。采用断路器模式防止无限循环。

沙箱策略
 为每个任务提供隔离的执行环境。对 CPU、内存和执行时间设置资源限制。文件系统访问仅限于项目目录。

记忆层次结构
 短期记忆保存当前任务上下文(最近 5 次迭代)。长期记忆按问题类型索引成功模式。失败记忆存储错误签名及其解决方案。

反思机制
 每次失败后,提取错误模式和根本原因。使用向量相似度与过去的失败进行比较。生成关于失败原因和修复方法的假设。

从错误中学习
 存储失败尝试的完整上下文——尝试了什么、为什么失败、什么修复了它。在类似的未来任务中,在尝试之前检索相关失败案例。避免重复同样的错误。

代码安全
 执行前进行静态分析,检测潜在危险操作。对文件系统或网络操作要求明确批准。

为什么是中级#

这个项目引入了智能体循环(计划 → 编码 → 测试 → 反思),展示你理解生产级调试和迭代改进。这是从工具使用者到系统构建者的关键跨越。


项目三:视频编辑器的 AI 助手(高级)#

多模态是 AI 的新前沿——文本已是过去,视觉和视频才是当下。机构需要能够理解和处理复杂媒体的智能体。目标是克隆一个开源编辑器,构建一个理解编辑意图的AI智能体。当用户说”让这个更有电影感”时,代理能够处理剪切、转场和调色。

关键架构决策#

多模态理解
 视觉模型分析每一帧的构图、光线和主体。音频模型分析对话、音乐和环境声。结合两个流来理解叙事流程。

意图翻译
 用户说”电影感”——翻译为具体参数:慢节奏(80% 速度)、去饱和色彩(应用 LUT)、浅景深模拟(背景高斯模糊)、戏剧性音乐提示。

场景检测
 分析帧差异进行硬切检测。使用嵌入相似度检测场景边界。根据视觉和音频变化识别故事节拍。

编辑决策列表生成
 执行前规划整个编辑。生成剪切、转场、效果的时间戳。在应用之前验证计划是否在叙事上合理。

增量预览
 每次更改后不重新渲染整个视频。仅生成受影响部分的预览。缓存未更改的片段以加快迭代。

反馈整合
 用户说”太暗了”——分析亮度直方图,识别问题区域,应用针对性校正。跨会话跟踪用户偏好以改进未来建议。

带推理的撤销/重做
 每次编辑不仅存储更改了什么,还存储为什么更改。用户可以问”为什么在这里剪切?“并获得基于检测到的故事节拍的解释。

为什么是高级#

这个项目需要多模态 AI 和与视频处理的复杂工具集成。它能让你从 99% 的通用聊天机器人构建者中脱颖而出。

提示:可以 fork 开源编辑器如 Shotcut 作为起点。


项目四:个人生活操作系统智能体(专家级)#

AI 最大的障碍是记忆。一个会遗忘的代理是无用的;一个了解你生活的代理才是真正的伙伴。构建一个深度个人化的代理,管理你的日历、财务和健康。它能提前数月规划,并通过分析睡眠模式和会议密度来检测职业倦怠。

关键架构决策#

持续上下文构建
 实时摄取来自日历、财务、健康和通讯的事件。提取实体(人物、地点、项目)并构建个人知识图谱。随时间映射实体之间的关系。

主动监控
 后台线程每 6 小时运行一次分析模式。检测异常,如会议密度增加而睡眠质量下降。在问题恶化之前标记风险。

价值对齐
 用户明确声明优先级(家庭 > 工作,健康 > 收入)。每个建议都根据这些价值观进行验证。暴露行动与声明优先级之间的冲突。

隐私架构
 所有数据使用用户控制的密钥加密存储。没有明确许可,数据不会离开设备。代理可以完全离线运行敏感操作。

预测性规划
 分析历史模式以预测未来瓶颈。“根据你第四季度的模式,你将在三月份过度承诺。“现在就建议预防性的日程调整。

决策支持
 当用户面临选择时,代理呈现多维分析:财务影响、时间成本、与价值观的一致性、潜在冲突。建议包括推理过程,而不仅仅是结论。

记忆整合
 夜间进程将每日事件总结为长期记忆。压缩细节同时保留含义。除非通过重复访问强化,否则旧记忆会衰减。

透明推理
 每个建议都包含”我为什么推荐这个”,并引用具体数据点。用户可以深入查看推理链。

为什么是专家级#

这个项目需要复杂的上下文管理和伦理 AI 设计。它证明你能够构建安全、隐私优先的生产架构。


项目五:自主工作流智能体(大师级)#

这是AI工程的终极挑战。构建一个能够运营业务的代理。它端到端运行业务工作流:监控Slack/Jira,规划执行,委派任务,并带有完整审计日志报告结果。

关键架构决策#

事件驱动架构
 监听来自Slack、Jira、电子邮件、监控系统的事件。模式识别确定工作流触发器。每种事件类型映射到工作流模板。

工作流编排
 将复杂工作流分解为具有依赖关系的步骤。尽可能并行执行步骤。使用持久状态处理长时间运行的操作。

多代理委派
 编排代理为子任务生成专家代理。通信代理处理所有外部消息。数据代理查询日志和数据库。分析代理执行根因分析。文档代理编写报告。

自愈机制
 监控每个步骤的成功/失败。失败时,确定是重试还是需要升级。对瞬态故障实现指数退避。断路器停止重复失败。

审计追踪
 不可变日志记录每个采取的行动。存储决定了什么、为什么、谁授权的、结果是什么。可查询以用于合规和调试。

基于角色的访问控制
 代理操作受限于调用它的用户的权限。敏感操作需要明确的人工批准。代理不能访问其范围之外的数据。

可观测性
 追踪每个 LLM 调用的输入、输出和延迟。工作流成功率、执行时间、每工作流成本的指标。工作流重复失败时发出警报。

人机协同
 对于关键工作流,代理在执行前提出计划。突出显示高风险操作供人工审查。置信度低时升级。

工作流学习
 工作流完成后,评估什么有效什么无效。存储成功模式供类似未来情况使用。根据结果更新工作流模板。

成本管理
 跟踪每个工作流的 Token 使用量。实施预算限制。优化提示以降低成本而不牺牲质量。

为什么是大师级#

这个项目将编排、安全和可观测性结合到一个可扩展的系统中。它证明你已经准备好进入 15 万美元以上的薪资层级。


前进之路#

大多数人会读完这篇文章然后什么都不做。他们会收藏它,说”好文章”,然后继续等待。不要成为大多数人。

2026 年的残酷真相:

  • • 可替代者:构建封装器
  • • 不可替代者:交付自主系统

两者之间的差距,只是这 5 个项目。

到下个月,90% 的人将什么都没做。他们仍在构建同样的套壳应用。另外10%将交付真正的东西。

选择很简单:成为公司急需的架构师,或者被淘汰。

专业技能是唯一剩下的职业保障。生产系统是唯一重要的作品集。====2026年AI发展的四个趋势预测.md====#

title: “2026年AI发展的四个趋势预测” published: 2026-01-01 description: "" image: “/images/2026年AI发展的四个趋势预测/img_7fa35b9b.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#

大模型退潮,AI Agent崛起#

在当今的AI叙事中,大语言模型(LLM)和聊天机器人占据了绝大部分流量。我们惊叹于它们写代码、写作和答疑的能力,但这仅仅是冰山一角。

当前,AI正在经历一场从“中心化大脑”向“分布式、具身化、规范化”演进的深层变革。到2026年,AI将彻底脱离“数字玩具”的范畴,真正渗入物理世界与行业逻辑。以下是四个即将重塑技术格局的战略性转变。


1. 从“单兵作战”到“多智能体协同”(Multi-Agent Orchestration)#

过去我们习惯于向一个全能模型提问,指望它解决所有问题。但“全能”往往意味着在复杂任务中的“平庸”。2026年的关键词将是:AI 团队协作

这种新模式被称为多智能体编排。想象一下,不再是一个黑盒模型在工作,而是一条精密运转的数字流水线:

  • • 规划智能体 (Planner Agent):负责将复杂目标拆解为可执行的步骤。
  • • 执行智能体 (Worker Agents):各司其职,有的擅长调用 API,有的专门优化代码。
  • • 评审智能体 (Critic Agent):负责对输出结果进行反思和纠错,确保最终质量。

为什么这很重要? 它解决了AI的透明度和可靠性痛点。通过“交叉检查”机制,AI的决策过程变得可审计、可追溯,不再是不可控的随机输出。


2. 具身智能:AI正在“长出身体”并感知物理法则#

长期以来,AI始终被困在屏幕里的数字空间。而物理 AI (Physical AI) 的兴起,意味着模型开始理解我们生活的现实世界。

传统的机器人开发依赖于人类编写成千上万条“if-then”指令,而现在的进化逻辑发生了翻天覆地的变化:

  • • 世界基座模型 (World Foundation Models):AI在海量的模拟环境中学习重力、摩擦力和物体运动规律。
  • • 从实验室走向生产线:专家预测,到2026年,通用人形机器人将完成从“实验室原型”到“商业量产”的飞跃。

这意味着AI不再只是生成像素或文字,它将走进仓库、工厂乃至家庭,具备与物理环境直接交互的能力。


3. 边缘侧推理:你的手机开始独立“思考”#

目前大多数高级AI服务都依赖云端算力,这带来了隐私风险和网络延迟。但一种重大的范式逆转正在发生:小型化、高智能的边缘模型

这一突破的核心在于“知识迁移”——利用顶级云端大模型的思维链数据来训练小模型,让小模型学会推理过程,而不仅仅是记住答案。

  • • 慢思考机制:这些运行在手机或笔记本上的模型,在回答前会进行一步步的逻辑推演。
  • • 隐私与实时的双赢:数据无需离开设备即可完成复杂决策。对于需要瞬时响应的任务(如自动驾驶、工业检测)来说,这是决定性的技术进步。

4. 合规元年:AI迎来首本“全球通行”的规则手册#

AI的“野蛮生长”时代即将结束。2026年中旬,《欧盟 AI 法案》(EU AI Act) 将全面生效,其影响力将不亚于当年的GDPR。

这不仅仅是法律层面的约束,它将直接改变AI的研发模式。对于“高风险”AI 系统,法案设定了极高的透明度门槛:

  • • 技术文档透明化:开发者必须证明模型经过了严格的风险测试。
  • • 身份标识:系统必须明确告知用户,他们正在与 AI 或合成内容进行交互。
  • • 数据溯源:企业必须能够清晰交代训练数据的来源,并尊重版权选择权。

这一规范化趋势将迫使全球科技巨头建立更负责任的 AI 体系,让“信任”成为技术架构的一部分。


一个更智能、更具触感的未来#

到2026年,AI将不再是那个只会聊天、画画的“数字极客”,而是一个由协同团队驱动、具备物理实体、能在本地安全思考、且受到法律严格约束的成熟生态。


参考资料:

  • • 文中观点整理自 IBM Technology 专家关于2026年AI趋势的最新分析报告。====2026年AI智能体学习路线图-从零基础到独立构建.md====

title: “2026年AI智能体学习路线图:从零基础到独立构建” published: 2026-03-02 description: "" image: “/images/2026年AI智能体学习路线图-从零基础到独立构建/img_5855b1fe.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#

2026年,AI正在从简单的聊天界面向「智能体」系统转变。它们不只是回答问题,还能自主思考、规划和行动。这意味着就业、创业和个人项目的机会正在爆发。本文整理出一份面向零基础学习者的6个月学习路线图,覆盖从Python基础到多智能体系统部署的完整路径。所有推荐资源均免费。

6 个月 AI 智能体学习路线图:从 Python 基础到毕业项目


什么是AI智能体?为什么它和聊天机器人不同#

在深入学习路线之前,先搞清楚一个核心概念:AI 智能体不是更聪明的聊天机器人。

聊天机器人是被动的,你问它问题,它给出回答。AI 智能体是主动的,它能感知环境、推理下一步该做什么、规划一系列行动步骤、使用工具、记住过去的操作,并在出错时自我调整。

一个直观的类比:

  • • 聊天机器人 = 服务员:接受你的点单,端上食物
  • • AI 智能体 = 主厨:规划菜单、采购食材、烹饪、根据反馈调整口味

AI 智能体七大核心组件:感知、推理、记忆、规划、工具、学习、通信

AI 智能体的七个核心组件:

组件作用通俗理解
感知从环境获取信息(文本、API 数据)眼睛和耳朵
推理利用大语言模型进行逻辑思考大脑
记忆存储历史交互信息,避免重复犯错笔记本
规划将大任务分解为小步骤制定计划的能力
工具使用连接外部服务(日历、数据库、搜索引擎)双手和工具箱
学习与适应根据结果持续改进经验积累
通信与用户或其他智能体交互嘴巴和团队协作

Tip

初学者常见陷阱不要一开始就追逐热门工具和框架。先建立直觉,「你还不是在构建令人印象深刻的东西,你只是在建立直觉。」


前置条件:一到两周搞定三项基础#

开始路线图之前,你需要三项基础能力。好消息是,它们都可以在一两周内通过免费资源掌握。

1. Python 编程#

AI 智能体的默认开发语言。你需要掌握变量、循环、函数、数据结构(列表、字典)等基础。

  • • 推荐资源:Google Python Class、Python for Everybody
  • • 练习目标:写一个能调用天气 API 并处理返回数据的脚本
  • • 所需时间:10-20 小时

2. API 基础#

智能体通过 API 与外部世界「对话」。你需要理解 REST API、JSON 数据格式、请求/响应模型。

把 API 想象成点外卖:你发送请求(「来一份披萨」),得到响应(披萨送到)。

  • • 推荐资源:freeCodeCamp API 教程、Postman 入门
  • • 练习目标:用公共 API(笑话、新闻)写一个简单的数据获取脚本

3. 机器学习基础概念#

不需要深入数学,但要理解大语言模型(LLM)的基本工作原理:Token(词块)、上下文窗口(记忆限制)、推理(运行模型)和提示词。

Token就像拼图碎片,太多了,智能体会「忘记」部分拼图。

  • • 推荐资源:Andrew Ng 的 AI for Everyone(Coursera 免费旁听)、Hugging Face Transformers 入门

自测:能否用 Python 写一个调用 API 并处理返回结果的脚本?如果可以,开始路线图。


第 1 个月:基础概念与架构认知#

这个月的目标是理解「为什么」和「怎么做」——从被动系统到自主系统的思维转变。

第 1-2 周:核心概念#

  • • 被动式智能体 vs 规划式智能体:被动式立即响应(「天气怎么样?」→ 返回天气);规划式会制定多步计划(检查天气 → 推荐穿搭 → 如果下雨则叫车)
  • • 上下文窗口:智能体能处理多少信息的限制
  • • 状态管理:追踪任务进度的机制

第 3-4 周:智能体组件深入#

深入学习感知、推理、记忆、规划等各组件的工作原理。建立完整的心智模型。

里程碑:能用非技术语言向朋友解释智能体的工作流——「它就像一个机器人,看到问题,想出计划,拿起工具,然后修复它。」

推荐资源:Hugging Face 免费智能体课程

Info

学习建议这个月不要写代码。阅读和观看为主,用笔记记录关键洞察。


第 2 个月:框架入门与记忆管理#

开始动手了。选择一个框架,构建你的第一个智能体。

第 5-6 周:框架选择#

主流框架对比与多智能体协作模式

主流框架对比:

框架特点适合场景
LangGraph精确控制流程,图结构编排需要精确控制每一步的场景
CrewAI多智能体团队协作多角色协作场景
AutoGen微软出品,对话驱动智能体对话和协商

把框架想象成乐高套装,预制好的组件,让你快速拼装智能体。

实践项目:构建一个文档摘要智能体(读取文档 → 提取要点 → 输出摘要)。

资源:LangGraph 文档、CrewAI 文档

第 7-8 周:记忆系统#

没有记忆的智能体就像金鱼,每次对话都从零开始。

两种核心记忆类型:

  • • 情景记忆(Episodic):短期事件记录。「用户刚才说他不喜欢辣的」
  • • 语义记忆(Semantic):长期知识积累。「这个用户是素食主义者」

使用向量数据库(如 Chroma、Pinecone)实现高效记忆检索。

实践项目:构建一个带记忆的聊天智能体,观察它如何随着对话深入变得更「了解」你。

Warning

关键提醒记忆设计是区分「好智能体」和「笨智能体」的核心因素。糟糕的记忆 = 糟糕的智能体。


第 3 个月:工具调用与多智能体系统#

进入真实世界交互。

第 9-10 周:工具调用与 API 集成#

掌握函数调用(Function Calling),告诉模型何时以及如何使用外部工具。学习错误处理和输出验证。

实践项目:构建一个能自动预约会议的智能体(解析请求 → 调用日历 API → 确认预约)。

资源:OpenAI Function Calling 指南

第 11-12 周:多智能体系统#

多个智能体协作完成复杂任务。两种核心模式:

  • • Leader-Worker(领导-执行):一个「老板」分配任务,多个「员工」执行
  • • Decomposition(任务分解):大任务自动拆分为子任务

举例:研究智能体负责搜集信息 → 写作智能体起草文章 → 编辑智能体润色修改。

实践项目:构建一个旅行规划多智能体系统(搜索航班 + 推荐酒店 + 生成行程)。

Tip

多智能体系统的关键角色清晰是防止混乱的唯一方法。每个智能体必须有明确的职责边界。


第 4 个月:评估、安全与部署#

让智能体可靠且可用。

第 13-14 周:评估与安全#

  • • 基准测试:用准确率、速度、成本等指标量化智能体表现
  • • 红队测试:模拟攻击,发现安全漏洞
  • • 护栏机制:防止智能体执行有害操作

评估就像批改作业——检查智能体是否「及格」。

资源:LangSmith(追踪和评估工具)

第 15-16 周:部署上线#

从 Notebook 走向生产环境:

  1. 1. 容器化:用 Docker 打包智能体
  2. 2. 异步处理:用 async 代码提升并发性能
  3. 3. 上线策略:先本地测试,再部署到云端(如 Vercel 免费版)

实践项目:将你的智能体部署为一个 Web 应用。


第 5-6 个月:专业化与毕业项目#

第 17-20 周:选择专业方向#

把通用能力聚焦到具体领域:

方向应用场景复杂度
客户支持自动回复、工单分类、问题升级
研究助手文献搜索、摘要生成、知识图谱中高
代码生成自动编码、PR 审查、测试生成
营销自动化内容生成、社交媒体管理、数据分析
个人生产力日程管理、邮件自动化、任务追踪低中

探索进阶话题:智能体集群(Swarms)、自我改进智能体、强化学习决策优化。

资源:Berkeley LLM Agents 课程

第 21-24 周:毕业项目#

构建、部署、文档化一个完整项目,并在 GitHub 上开源。

毕业项目就是你的技能证明。它比任何证书都有说服力。

项目灵感

  • • 自动化求职申请的智能体
  • • 个人知识库 + AI 助手系统
  • • 多智能体内容创作流水线
  • • 智能客服系统(含升级和反馈循环)

完整时间线一览#

阶段时间核心内容产出
前置1-2 周Python + API + ML 基础能写 API 调用脚本
第 1 月第 1-4 周概念与架构能非技术语言解释智能体
第 2 月第 5-8 周框架 + 记忆文档摘要智能体、带记忆聊天
第 3 月第 9-12 周工具调用 + 多智能体会议预约智能体、旅行规划系统
第 4 月第 13-16 周评估 + 安全 + 部署上线一个 Web 应用
第 5-6 月第 17-24 周专业化 + 毕业项目GitHub 开源项目

免费学习资源汇总#

资源类型链接
Hugging Face Agents Course课程huggingface.co/learn/agents-course
Berkeley LLM Agents Course课程llmagents-learning.org/f24
Andrew Ng - AI for Everyone课程Coursera
Google Python Class教程developers.google.com/edu/python
Python for Everybody教程py4e.com
LangGraph 文档文档langchain.com/langgraph
CrewAI 文档文档docs.crewai.com
OpenAI Function Calling文档platform.openai.com
LangSmith工具langchain.com/langsmith
freeCodeCamp教程freecodecamp.org

最后#

2026年学习AI智能体不需要博士学位,也不需要昂贵的课程。你需要的是:一条结构化的路径、坚持动手的习惯、以及对「先建立直觉再追求花哨」的耐心。

AI技术在快速演进,但底层的思维方式,如何将复杂问题分解为可执行的步骤、如何设计可靠的系统、如何评估和迭代,这些能力是持久的。

从第1周的Python脚本开始,到第24周的 GitHub 开源项目,这六个月的投资将让你具备独立构建A 智能体的完整能力。====20个用于卫星观测数据可视化的Python库.md====#

title: “20个用于卫星观测数据可视化的Python库” published: 2025-02-11 description: "" image: “/images/20个用于卫星观测数据可视化的Python库/img_f5e058e8.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#

****

随着空间技术的飞速发展,卫星观测数据已成为地理空间分析领域不可或缺的信息来源。 从高分辨率光学影像到全天候雷达数据,各类卫星传感器以前所未有的规模和频率持续记录着地球表面的变化。 这些海量数据蕴含着丰富的地理空间信息,为环境监测、城市规划、农业管理、灾害应急等诸多领域提供了强有力的数据支撑。然而,有效利用这些庞大而复杂的数据集,特别是将其转化为易于理解和分析的可视化形式,是地理空间专业人员面临的关键挑战。

Python 库在卫星数据可视化领域发挥着至关重要的作用,它们正是在这样的背景下应运而生,为地理空间数据的处理、分析和显示提供了强大的工具。这些库支持广泛的数据格式,实现交互式可视化,并与地理信息系统 (GIS) 和遥感工作流程良好集成,使其成为地理空间专业人员不可或缺的工具。

通过利用这些库,用户可以无缝处理大型卫星数据集,应用先进的图像处理技术,并生成富有洞察力的可视化表示。 无论是处理多光谱、高光谱还是雷达影像,这些工具都能实现高效的数据操作、增强和解译。 此外,它们还促进了与机器学习框架的无缝集成,从而为地球观测研究中的预测建模和模式识别提供了便利。

本文列出20个用于卫星数据可视化的必备Python库,并简要介绍其功能和应用。‍

1. Matplotlib

Matplotlib 是 Python 中最常用的绘图库,适用于卫星影像的静态可视化。它支持假彩色可视化和色彩映射。

import matplotlib.pyplot as plt
import rasterio
from rasterio.plot import show

with rasterio.open(“satellite_image.tif”) as src:
plt.figure(figsize=(10, 6))
show(src)

GitHub 链接: https://github.com/matplotlib/matplotlib

官方网站: https://matplotlib.org/

2. Seaborn

Seaborn 构建于 Matplotlib 之上,提供更美观的绘图效果。它擅长可视化统计分布、热图和相关矩阵。

import seaborn as sns
import numpy as np

模拟栅格数据作为热图#

data = np.random.rand(10, 10)
sns.heatmap(data, cmap=“coolwarm”)

GitHub 链接: https://github.com/mwaskom/seaborn

官方网站: https://seaborn.pydata.org/

3. Plotly/Plotly Express

Plotly 及其高级 API 库 Plotly Express 拥有强大的地理空间数据可视化能力。 非常适合地形模型和多波段影像。该库拥有丰富的地图类型和易于使用的API。 Plotly Express 的推出,使得使用Plotly创建地理空间可视化变得更加容易。

例如,使用 Plotly Express 仅需一行代码即可完成动态 Choropleth 地图的创建。 与其他库相比,实现同样的效果可能需要编写大量的代码并尝试各种不同的解决方案。

1import plotly.express as px
2import xarray as xr
3
4dataset = xr.open_rasterio(“satellite_image.tif”)
5fig = px.imshow(dataset[0], color_continuous_scale=‘viridis’)
6fig.show()

结合 Dash (数据科学领域广泛使用且下载量最多的Web应用程序框架),Plotly提供了一整套用于部署 Web 应用程序的完整解决方案。 借助 Plotly Express 直观的 API 和 Dash Plotly,您可以将您的地理空间 Web 应用程序和可视化提升到一个新的水平。

GitHub 链接: https://github.com/plotly/plotly.py

官方网站: https://plotly.com/python/

4. Folium

Folium 用于创建交互式 Web 地图,与 OpenStreetMap 和 Google Earth Engine (GEE) 配合良好。

import folium

m = folium.Map(location=[0, 0], zoom_start=2)
folium.Marker(location=[-1.28, 36.82], popup=“内罗毕, 肯尼亚”).add_to(m)

GitHub 链接: https://github.com/python-visualization/folium

官方网站: https://python-visualization.github.io/folium/

5. Geopandas

Geopandas 扩展了 Pandas,用于处理矢量数据(shapefile、GeoJSON),可用于将栅格数据与行政边界叠加显示。

import geopandas as gpd
import matplotlib.pyplot as plt

gdf = gpd.read_file(“boundaries.geojson”)
gdf.plot(figsize=(10, 6), color=“blue”, edgecolor=“black”)
plt.show()

GitHub 链接: https://github.com/geopandas/geopandas

官方网站: https://geopandas.org/en/stable/

6. Rasterio

Rasterio 是读取和写入栅格数据集(TIFF、NetCDF)的关键库,用于裁剪、重投影和掩膜栅格数据。

import rasterio
from rasterio.plot import show

with rasterio.open(“satellite_image.tif”) as src:
show(src)

GitHub 链接: https://github.com/rasterio/rasterio

官方网站: https://rasterio.readthedocs.io/en/stable/

7. Xarray

Xarray 最适合处理大型、多维栅格数据集,常用于海洋、大气和遥感数据(NetCDF、HDF5)。

import xarray as xr

dataset = xr.open_rasterio(“satellite_image.tif”)
dataset[0].plot()

GitHub 链接: https://github.com/pydata/xarray

官方网站: https://docs.xarray.dev/en/stable/

8. Cartopy

Cartopy 专门用于地图投影和地理空间可视化,支持shapefile、卫星影像叠加和网格变换。

import cartopy.crs as ccrs
import cartopy.feature as cfeature
import matplotlib.pyplot as plt

fig, ax = plt.subplots(subplot_kw={‘projection’: ccrs.PlateCarree()})
ax.coastlines()

GitHub 链接: https://github.com/SciTools/cartopy

官方网站: https://scitools.org.uk/cartopy/docs/latest/

9. GDAL (地理空间数据抽象库)

GDAL是一个用于地理空间数据处理的基础库,支持处理栅格变换、格式转换和投影。

import cartopy.crs as ccrs
import cartopy.feature as cfeature
import matplotlib.pyplot as plt

fig, ax = plt.subplots(subplot_kw={‘projection’: ccrs.PlateCarree()})
ax.coastlines()
ax.add_feature(cfeature.BORDERS, linestyle=’:‘)
plt.show()

GitHub 链接: https://github.com/OSGeo/gdal

官方网站: https://gdal.org/

10. Leaflet (通过 ipyleaflet)

Leaflet类似于Folium,但在Jupyter notebook中更具可定制性,非常适合添加交互式标记、热图和叠加层。

from ipyleaflet import Map, Marker

m = Map(center=(0, 0), zoom=2)
marker = Marker(location=(-1.28, 36.82))
m.add_layer(marker)

GitHub 链接: https://github.com/jupyter-widgets/ipyleaflet

官方网站: https://ipyleaflet.readthedocs.io/en/latest/

11. Bokeh

Bokeh 是一个高性能交互式可视化库,适用于基于 Web 的卫星影像可视化。

from bokeh.plotting import figure, show
import numpy as np

img = np.random.rand(100, 100)
p = figure(width=500, height=500)
p.image(image=[img], x=0, y=0, dw=10, dh=10)
show(p)

GitHub链接: https://github.com/bokeh/bokeh

官方网站: https://bokeh.org/

12. OpenCV

OpenCV 主要用于图像处理,适用于卫星影像的边缘检测、分类和分割。

import cv2

img = cv2.imread(“satellite_image.tif”, cv2.IMREAD_GRAYSCALE)
edges = cv2.Canny(img, 100, 200)
cv2.imshow(“Edges”, edges)
cv2.waitKey(0)

GitHub链接: https://github.com/opencv/opencv

官方网站: https://opencv.org/

13. EarthPy

EarthPy 专为处理和可视化遥感数据而设计,适用于Landsat、Sentinel和MODIS数据处理和分析。

import earthpy.plot as ep
import rasterio

with rasterio.open(“satellite_image.tif”) as src:
ep.plot_rgb(src.read())

GitHub 链接: https://github.com/earthlab/earthpy

官方网站: https://earthpy.readthedocs.io/en/latest/

14. Pydeck

Pydeck 是一个用于大规模地理空间数据的 3D 可视化库,适用于可视化点云、高程模型和卫星影像。

import earthpy.plot as ep
import rasterio

with rasterio.open(“satellite_image.tif”) as src:
ep.plot_rgb(src.read())

请注意 Pydeck 实际上是*deck.gl 的 Python 封装,所以这里链接的是 deck.gl 的 GitHub 仓库和 Pydeck 的官方文档*

GitHub 链接: https://github.com/visgl/deck.gl

官方网站: https://pydeck.gl/

15. Kepler.gl

Kepler.gl 是一个强大的基于Web的地图可视化库,能够处理海量的地理空间数据集进行可视化。

from keplergl import KeplerGl

map_1 = KeplerGl(height=500)
map_1

请注意 Kepler.gl 是一个 JavaScript 库,**keplergl-jupyter 是其 Python 封装, 这里链接的是 kepler.gl 的 GitHub 仓库和官方网站

GitHub 链接: https://github.com/keplergl/kepler.gl

官方网站: https://kepler.gl/

16. PySAL (Python 空间分析库)

PySAL 是一个用于空间统计和计量经济学的库,适用于检测遥感数据中的空间模式。

import numpy as np
import libpysal as ps

data = np.random.rand(100)
weights = ps.weights.lat2W(10, 10)
print(weights.neighbors)

GitHub 链接: https://github.com/pysal/pysal

官方网站: https://pysal.org/

17. Rioxarray

Rioxarray扩展了Xarray库,用于地理空间栅格操作,支持坐标参考系统 (CRS) 变换,并适用于NetCDF、GeoTIFF和HDF5文件。

import rioxarray as rxr

raster = rxr.open_rasterio(“satellite_image.tif”)
raster.rio.reproject(“EPSG:4326”).plot()

GitHub 链接: https://github.com/corteva/rioxarray

官方网站: https://corteva.github.io/rioxarray/stable/

18. Holoviews + Geoviews

Holoviews 和 Geoviews 简化了交互式地理空间可视化,与 Bokeh、Matplotlib 和 Plotly 协同工作。 这里同时提供了 Holoviews 和 Geoviews 的链接,因为它们通常一起使用

import geoviews as gv
from geoviews import opts
import cartopy.crs as ccrs

gv.extension(‘bokeh’)
world = gv.feature.land.opts(projection=ccrs.PlateCarree())
world

Holoviews GitHub 链接: https://github.com/holoviz/holoviews

Holoviews 官方网站: https://holoviews.org/

Geoviews GitHub 链接: https://github.com/holoviz/geoviews

Geoviews 官方网站: https://geoviews.org/

19. SentinelHub-Py

SentinelHub-Py 可以直接访问 Sentinel-2、Sentinel-1 和 Landsat 影像,支持云层过滤、镶嵌和可视化,非常适合近实时遥感应用。

from sentinelhub import BBox, CRS

bbox = BBox(bbox=(-5.0, 40.0, 5.0, 50.0), crs=CRS.WGS84)
print(bbox)

GitHub 链接: https://github.com/sentinelhub/sentinelhub-py

官方网站: https://sentinelhub-py.readthedocs.io/en/latest/

20. Terracotta

Terracotta 是一个轻量级的栅格数据瓦片服务器,适用于将卫星影像作为 Web 地图服务,并与 SQLite 数据库配合进行元数据存储。

terracotta serve —port 5000

GitHub 链接: https://github.com/DHI-GRAS/terracotta

官方网站: https://terracotta.readthedocs.io/en/latest/

总结

这20个Python工具库涵盖了从简单的数据可视化到交互式在线地图,再到处理海量卫星数据的各种应用场景。 这些技术为地理空间分析工作奠定了坚实的基础,无论是处理原始卫星影像、进行复杂的空间分析,还是使用AI/ML进行预测性分析。

从管理多维栅格数据集 (Xarray, Rioxarray) 到生成适合出版的地图 (Cartopy, Folium),再到访问实时地球观测数据 (SentinelHub-Py, EarthPy),每个库都有其自身的特点。 借助Dask、Rasterio和GDAL等库,可以高效地处理大型数据集,尤其是在需要高性能计算的情况下。

通过组合使用这些工具,用户可以:

  • 预处理和清理卫星影像 (Rasterio, GDAL, Pyresample)
  • 执行统计和地统计分析 (PySAL, Geopandas)
  • 创建美观的交互式地图 (Folium, H3-Py, Holoviews, Geoviews)
  • 从遥感数据中提取有价值的洞察 (EOReader, Satpy, EarthPy)
  • 开发可扩展的云端应用 (Terracotta, Kepler.gl, Google Earth Engine API)

随着卫星影像变得越来越容易获取,以及人工智能驱动的地理空间分析不断发展,Python仍然是地理空间专业人员的首选语言。

本公众号相关内容推荐#


title: “4K分辨率展示月球” published: 2018-04-15 description: “通过飞行器数据发现月球南极恒暗区的陨石坑、隐僻的火山口和洞穴有冰层存在的证据,而其提供的海拔高度和矿物点分布数据有助于了解陨石坑的年代,熔岩盆和月球上的其他特征。” image: “/images/4K分辨率展示月球/img_381440ff.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#

NASA公布了由2009年发射的月球轨道探测器(the Lunar Reconnaissance Orbiter)获取的长达9年的数据制作的4K超高清影片。获取数据主要包括月球的地形、温度、太阳辐射和地质数据(lunar topography, temperature, resources, solar radiation, and geology)等。

       影片展示了月球上多个重要的位置,比如阿波罗号着陆位置。通过飞行器数据发现月球南极恒暗区的陨石坑、隐僻的火山口和洞穴有冰层存在的证据,而其提供的海拔高度和矿物点分布数据有助于了解陨石坑的年代,熔岩盆和月球上的其他重要位置。

      原始视频4K分辨率,1.4GB大小,无法上传至公众号。我将原始视频转为720P分辨率,拆分成3段。原始视频请前往https://svs.gsfc.nasa.gov/4619下载。

Part1

Part2

 Part3

   如果想要了解影片中展示的位置点详细信息,可以访问这个页面

https://nasa.tumblr.com/post/172760161639/a-tour-of-our-moon

数据来源:

  1. LRO/LROC/WAC 643nm High Sun Global Mosaic
  2. LRO/Diviner
  3. GRAIL/Lunar Gravity Ranging System/Free-Air Gravity
  4. LRO/LOLA/Digital Elevation Map
  5. LRO/LROC/NarrowAngle Camera
  6. LRO/SELENE/LOLA/TC/DIgitalElevation Model

长按二维码关注

====4个用于分析卫星遥感影像的开源应用软件.md====#

title: “4个用于分析卫星遥感影像的开源应用软件” published: 2025-02-21 description: "" image: “/images/4个用于分析卫星遥感影像的开源应用软件/img_157f0805.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#

****#

Esri的ArcGIS Living Atlas团队最近发布了一系列用于遥感影像探索的开源Web应用软件。这套应用软件的核心组件包括Landsat Explorer、Sentinel-1 Explorer、Sentinel-2 Land Cover Explorer以及最新发布的Sentinel-2 Explorer。

每个应用软件都针对特定的卫星数据源进行了优化,为用户提供了直观的界面来访问和分析卫星数据。软件功能包括动态模式下的最佳场景自动选择、场景查找器、图像对比分析、时序动画生成等功能。特别值得一提的是其变化检测能力,用户可以通过光谱指数(如NDVI)来分析植被、水体等地表要素的变化。例如,在监测科罗拉多火灾影响时,应用程序可以清晰地展示火灾前后的植被损失情况。

技术实现方面,这些应用程序基于ArcGIS Maps SDK for JavaScript开发,构建和部署采用Node.js环境,使用npm进行包管理和构建流程控制。这些应用程序的源代码已发布在github网站上。

开源代码访问地址:https://github.com/Esri/imagery-explorer-apps

Landsat Explorer#

Landsat Explorer让用户能够通过友好的界面轻松探索和挖掘Landsat卫星影像所蕴含的丰富信息。核心功能包括:

  • 动态全球镶嵌:用户可以直接浏览由最佳可用Landsat场景组成的动态全球镶嵌影像,实现无缝、高效的全球数据访问。
  • 实时波段组合与指数计算:支持用户根据需求实时生成多光谱波段组合和各种常用指数(如植被指数、水体指数),用于数据可视化和分析。
  • 交互式场景检索:用户可以根据地理位置、传感器、时间范围和云量等条件,快速、精确地查找所需的Landsat场景,大大提升数据检索的效率。
  • 时空变化分析:提供强大的时空变化分析功能,用户可以通过滑动(Swipe)和动画(Animation)模式比较不同时间或不同渲染的影像,直观地观察和理解地表变化。
  • 专业分析工具:集成阈值掩膜和时序剖面等专业分析工具,可用于植被、水体、地表温度等专题信息的提取和分析。

要运行 Landsat Explorer,需要在 .env 配置文件中配置 LANDSAT_SERVICE_PROXY_URL_DEV 和 LANDSAT_SERVICE_PROXY_URL_PROD 两个环境变量,分别指向 Landsat Level-2 数据的开发环境和生产环境的服务代理 URL。

Service proxy URL for Landsat-Level-2 in development environment#

LANDSAT_SERVICE_PROXY_URL_DEV = https://dev.landsat.service.proxy.url

Service proxy URL for Landsat-Level-2 in production environment#

LANDSAT_SERVICE_PROXY_URL_PROD = https://prod.landsat.service.proxy.url

Specifies the service tier for the application, either development or production#

This is used to determine which service proxy URL to use#

SERVICE_TIER = development 

访问地址:https://livingatlas.arcgis.com/landcoverexplorer/

Sentinel-2 Land Cover Explorer:土地覆盖浏览器#

土地利用/土地覆盖(LULC)数据对于许多行业和国家的决策者而言至关重要。这些数据有助于更好地理解和量化地球过程和人类活动的影响,为政策制定和土地管理提供科学依据。

Sentinel-2土地覆盖浏览器利用 Sentinel-2 卫星 10 米分辨率的LULC数据,提供动态的可视化和统计分析功能,帮助用户探索和分析土地覆盖随时间的变化。其主要功能包括:

  • 可视化变化检测:支持步进模式(Step Mode)和滑动模式(Swipe Mode),用户可以直观地比较不同时期的土地覆被情况。
  • 动态统计分析:可以基于年份、地图范围和土地覆被类别进行动态的统计分析,定量评估土地覆被变化。
  • 类型筛选与区域统计:用户可以按土地覆被类型进行筛选,并按行政边界汇总区域统计信息,方便进行特定类型或区域的分析。
  • 影像模式与动态渲染:提供多种影像模式供用户选择,并支持动态调整影像渲染,以优化可视化效果。
  • 数据下载:支持数据下载功能,方便用户离线使用。

运行Sentinel-2****Land Cover Explorer,需使用 bash npm run start:landcover命令启动。构建应用则使用bash npm run build:landcover命令,并将构建文件部署到 /dist/landcoverexplorer 目录。

访问地址:https://livingatlas.arcgis.com/landcoverexplorer/

Sentinel-1 Explorer:利用SAR影像追踪地表变化#

Sentinel-1 合成孔径雷达(SAR)影像在监测与气候变化、城市化、干旱、野火、森林砍伐等相关的土地利用和土地覆被变化方面具有独特优势。

Sentinel-1 Explorer 应用软件帮助用户探索和利用 Sentinel-1 SAR 数据。其主要功能包括:

  • 动态全球镶嵌:浏览由最佳可用Sentinel-1影像组成的动态全球镶嵌影像。
  • 实时波段组合与指数计算:支持用户实时生成多光谱波段组合和指数,用于 SAR 数据的可视化和分析。
  • 交互式场景检索:根据位置、传感器、时间和云量查找所需的 Sentinel-1 场景。
  • 时空变化分析:通过滑动和动画模式,比较不同时间或渲染的影像,观察地表变化。
  • 高级分析工具:阈值掩膜和时序剖面分析工具可用于植被、水体、地表温度等专题信息的提取。

要运行 Sentinel-1 Explorer,需要在 .env 文件中配置 SENTINEL1_SERVICE_PROXY_URL_DEV 和 SENTINEL1_SERVICE_PROXY_URL_PROD,分别指向 Sentinel-1 RTC 数据的开发和生产环境的服务代理 URL。

Service proxy URL for Sentinel-1 in development environment#

SENTINEL1_SERVICE_PROXY_URL_DEV = https://dev.sentinel1.service.proxy.url

Service proxy URL for Sentinel-1 in production environment#

SENTINEL1_SERVICE_PROXY_URL_PROD = https://prod.sentinel1.service.proxy.url

Specifies the service tier for the application, either development or production#

This is used to determine which service proxy URL to use#

SERVICE_TIER = development

访问地址:https://livingatlas.arcgis.com/sentinel1explorer/

Sentinel-2 Explorer:新一代 Sentinel-2 数据探索平台#

Sentinel-2多光谱影像广泛应用于土地利用和土地覆被变化监测,以及与气候变化、城市化、灾害等相关的研究。

Sentinel-2 Explorer是新一代的Sentinel-2数据探索平台,它基于Sentinel-2 Level-2A多光谱影像,并利用ArcGIS Maps SDK for JavaScript开发,提供更便捷、更强大的数据访问和分析能力。

该应用的主要功能包括:

  • 动态模式: 默认模式下,自动优先选择最新的、云量最少的Sentinel-2卫星影像,并将其动态融合成单一的镶嵌图层。当用户进行地图平移和缩放时,系统会持续获取和渲染最佳可用场景。用户可以选择不同的光谱渲染方式,突出显示不同类型的地表信息。

  • 场景查找: 支持按年、月、日选择单个Sentinel-2场景。日历默认显示过去12个月的可用场景,并可根据云量进行筛选。符合云量阈值的场景会以实心填充方式高亮显示。用户可以将鼠标悬停在方格上查看信息提示,点击后即可在地图视图中加载该场景。场景信息面板会提供详细的元数据信息。

  • 卷帘对比(Swipe): 允许用户选择两个场景进行直观的差异对比。除了比较不同日期的场景,用户还可以对比同一日期的不同渲染效果。以2020年科罗拉多Cameron Peak火灾为例,通过短波红外光谱渲染,可以清晰地看到火灾前后的差异:右侧图像中紫红色区域显示了燃烧痕迹,橙色斑点则表示活跃的火点。

  • 动画模式(Animate): 支持创建时序动画。用户可以通过”添加场景”功能选择多个时间点的影像,设置帧率后即可播放动画,还可以将动画导出为MP4格式。例如,通过这个功能可以展示沙特阿拉伯Tubarjal地区沙漠中心轴灌溉农田随季节变化的情况。

  • 指数掩膜: 利用波段运算得到的光谱指数来衡量水分、植被等要素的相对丰度。用户可以通过滑块动态调整阈值,系统会实时显示满足条件的区域。例如,可以仅显示NDVI值大于0.6的密集植被区域。

  • 时序剖面: 用于检测类别随时间的变化趋势。用户可以选择”年度”模式查看长期变化模式,或选择”月度”模式分析一年内的季节性波动。通过点击感兴趣区域,可以查看该点的植被指数(NDVI)等参数的时间序列变化。

  • 光谱剖面(Spectral Profile):展示多光谱遥感的核心优势。通过采集地表材料的光谱响应样本,系统可以建立材料的光谱特征库。用户点击地图上任意位置,系统会生成该点的光谱曲线,并尝试与预定义的光谱特征进行匹配。

  • 变化检测: 计算两个时期影像之间的差异。用户可以基于植被、水分等指数创建变化掩膜,进而进行更深入的分析。例如,在评估野火影响时,可以快速计算并可视化植被损失的范围和面积。

Sentinel-2 Explorer访问地址:

https://livingatlas.arcgis.com/sentinel2explorer

References#

本公众号相关内容推荐#


title: “6个最值得安装的Claude Code官方插件” published: 2026-02-20 description: “什么是 Claude Code 插件?Claude Code 插件(Plugins)是 Anthropi” image: “/images/6个最值得安装的Claude-Code官方插件/img_7e2bce0c.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#

 

什么是 Claude Code 插件?#

Claude Code 插件(Plugins)是 Anthropic 推出的扩展机制,让你可以为 Claude Code 添加自定义的技能(Skills)命令(Commands)子代理(Agents)钩子(Hooks)。每个插件本质上是一个包含 SKILL.md 文件的目录,通过 YAML 前置元数据定义触发条件,Claude Code 在启动时自动加载所有已安装插件的技能定义。

截至 2026 年 2 月,Claude Code 插件生态已有超过 1300 个技能嵌入在 313 个插件中。以下 6 个是经过社区验证、日常使用频率最高的官方或准官方插件。

安装方式统一为:

claude plugin install <plugin-name>

1. Superpowers — 项目规划与系统化开发#

仓库https://github.com/obra/superpowers

这是目前 Claude Code 生态中最全面的开发方法论插件,由开发者 Jesse Vincent 创建。它不是一个单一功能的工具,而是一套可组合的技能框架,覆盖了软件开发的完整生命周期。

核心技能#

技能触发场景作用
brainstorming任何创造性工作之前探索用户意图和需求,在动手之前先想清楚
writing-plans有明确需求后生成详细的实现计划文档
executing-plans计划批准后按步骤执行计划,带检查点
test-driven-development实现任何功能时先写测试再写实现,确保代码可验证
systematic-debugging遇到 bug 时系统化排查,不盲目猜测
verification-before-completion声称完成之前强制运行验证命令,防止”代码没跑但说已修复”
subagent-driven-development多个独立任务并行时分派子代理并行执行,提升效率

为什么重要#

没有 Superpowers 的 Claude Code 容易陷入”接到任务就开始写代码”的模式,不规划、不测试、不验证。Superpowers 的设计哲学是让 AI 像资深工程师一样工作:先理解问题,再制定方案,写测试,实现功能,最后验证。

安装#

claude plugin marketplace add obra/superpowers-marketplace
claude plugin install superpowers@superpowers-marketplace

所有技能自动触发,无需手动调用。


2. Frontend Design — 前端设计质量提升#

仓库https://github.com/anthropics/claude-code/tree/main/plugins/frontend-design

这是 Anthropic 官方发布的插件,专门解决一个痛点:Claude 默认生成的前端代码看起来太”AI味”,千篇一律的紫色渐变、系统默认字体、毫无个性的布局。

它改变了什么#

安装前后的区别:

安装前安装后
字体系统默认 sans-serif精心挑选的字体组合
配色安全的蓝灰色有意识的色彩选择
间距均匀的默认间距有节奏感的留白
动画无或基础过渡编排精良的交互动效
布局居中堆叠非对称、破格、有层次感

工作原理#

插件在 Claude 开始前端工作前,建立一个设计框架:先确定目标受众、使用场景和美学方向(极简主义、复古未来风、野兽派等),然后在这个框架内编码。这和人类设计师的工作流程一致,先有设计意图,再写代码。

适用场景#

  • • Landing pages 和营销页面
  • • 数据可视化仪表盘
  • • 任何面向用户的界面
  • • 默认输出看起来太”模板化”的场景

安装#

claude plugin install frontend-design

3. Code Simplifier — 代码清理代理#

仓库https://github.com/anthropics/claude-plugins-official

这是 Anthropic 内部 Claude Code 团队自用的工具,后来开源。解决的问题很具体:Claude 在长时间编码后,产出的代码虽然能跑,但往往存在冗余嵌套、不必要的抽象、命名不一致等问题。

核心原则#

永远不改变代码的行为,只改变代码的写法。如果你的函数返回特定值、处理特定边界情况、产生特定副作用,所有这些都保持不变。

它做什么#

  • • 减少嵌套层级
  • • 消除冗余代码
  • • 改善变量和函数命名
  • • 将嵌套三元运算替换为更清晰的条件结构
  • • 聚焦于最近修改的文件,不会动你没改过的代码

最佳使用时机#

# 编码一小时后,让它清理一遍
> 对今天修改的代码运行 code-simplifier

把它想象成编程界的”终稿润色”,功能实现后的最后一道工序。

安装#

claude plugin install code-simplifier

4. Playground — 交互式 HTML 工具生成器#

仓库https://github.com/anthropics/claude-plugins-official/tree/main/plugins/playground

Playground 生成**自包含的单文件 HTML 交互工具,**一个文件,零依赖,浏览器直接打开就能用。

它能生成什么#

类型示例
可视化设计工具调整组件参数、实时预览效果
数据查询构建器SQL、API、正则表达式的可视化构建
概念地图探索器知识图谱、思维导图
代码架构图项目结构可视化

工作方式#

每个 Playground 都是一个单 HTML 文件,结构统一:

  • • 左侧:交互控件(滑块、开关、输入框)
  • • 右侧:实时预览面板
  • • 底部:生成的提示词 + 一键复制按钮

控件调整即时生效,无需点击”应用”按钮。

典型使用场景#

> /playground 创建一个 CSS Grid 布局探索器
> /playground 构建一个正则表达式测试工具
> /playground 设计一个配色方案生成器

安装#

claude plugin install playground

5. Claude in Chrome — 浏览器自动化#

来源https://code.claude.com/docs/en/chrome

这不是一个传统插件,而是 Claude Code 与 Chrome 浏览器扩展的深度集成。安装后,Claude 可以看到并操作你的浏览器

能力范围#

能力说明
页面导航打开 URL、点击链接、前进后退
表单操作填写输入框、选择下拉菜单、提交表单
数据读取读取页面内容、控制台日志、网络请求
截图对页面截图,支持录制 GIF
认证复用使用你已登录的会话,无需额外配置认证

与其他插件的协同#

这是 Claude in Chrome 最强大的地方,它不是孤立使用的,而是与编码工作流无缝衔接:

  1. 1. 用 Claude Code 写代码 → 启动本地服务
  2. 2. 用 Chrome 打开页面 → 自动检查渲染效果
  3. 3. 发现问题 → 读取控制台错误 → 回到 Claude Code 修复
  4. 4. 修复后 → 自动刷新验证

适用场景#

  • • 调试线上页面
  • • 爬取数据
  • • 自动化重复性浏览器操作(填表单、批量操作后台)
  • • E2E 测试验证

安装#

需要先安装 Chrome 扩展:Claude Chrome Extension,地址:https://chromewebstore.google.com/detail/claude/fcoeoabgfenejglbffodgkkbkcdhcgfn,然后在 Claude Code 中启用浏览器连接。


6. PR Review Toolkit — 代码审查套件#

仓库https://github.com/anthropics/claude-code/tree/main/plugins/pr-review-toolkit

这不是一个单一的代码审查工具,而是一套 6 个专业化审查代理,每个代理专注于代码质量的一个维度。

6 个审查代理#

代理专注领域触发示例
Comment Analyzer注释准确性”检查注释是否与代码一致”
PR Test Analyzer测试覆盖率”检查测试是否覆盖了所有边界情况”
Silent Failure Hunter静默失败”审查 API 客户端的错误处理”
Type Design Analyzer类型设计”评估类型封装质量”
Code Reviewer代码规范”按项目规范审查这个 PR”
Code Simplifier复杂度简化”有没有可以简化的地方”

置信度评分#

每个代理不只是给出”有问题/没问题”的二元判断,而是附带置信度评分。例如:

  • • PR Test Analyzer 用 1-10 评级测试缺口(10 = 必须添加)
  • • Code Reviewer 用 0-100 评分(91-100 = 严重问题)

这种设计避免了”所有问题都同等重要”的信息过载,让你优先处理真正关键的问题。

为什么比单次审查更好#

传统的”帮我 review 这个 PR”是单次通用审查,容易遗漏。PR Review Toolkit 的策略是**分而治之,**6 个代理分别从不同角度审查,每个代理只做一件事但做到极致。

安装#

claude plugin install pr-review-toolkit

插件组合策略#

这 6 个插件不是孤立使用的。Minty 在原帖中给出了两个关键建议:

1. 堆叠使用#

根据工作流阶段组合插件:

需求分析 → Superpowers(规划)
     
前端开发 → Frontend Design(设计)+ Playground(原型)
     
功能验证 → Claude in Chrome(浏览器测试)
     
代码清理 → Code Simplifier(重构)
     
提交审查 → PR Review Toolkit(审查)

2. 循序渐进#

不要一次装 6 个。先选一个最契合你当前痛点的插件,用熟之后再加。等你理解了插件的工作模式,还可以**创建自己的插件。**每个插件本质上只是一个 SKILL.md 文件,门槛很低。


快速安装指南#

一键安装全部 6 个插件:

# 添加官方市场
claude plugin marketplace add anthropics/claude-plugins-official
# 添加 Superpowers 市场
claude plugin marketplace add obra/superpowers-marketplace
# 安装 6 个插件
claude plugin install superpowers@superpowers-marketplace
claude plugin install frontend-design
claude plugin install code-simplifier
claude plugin install playground
claude plugin install pr-review-toolkit
# Claude in Chrome 需要单独安装浏览器扩展
# https://chromewebstore.google.com/detail/claude/fcoeoabgfenejglbffodgkkbkcdhcgfn

安装后所有技能自动生效,无需额外配置。====6个用于清洗地理空间数据的Python工具库.md====#

title: “6个用于清洗地理空间数据的Python工具库” published: 2025-01-23 description: "" image: “/images/6个用于清洗地理空间数据的Python工具库/img_b2bded36.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#

****#

地理空间数据清洗的重要性毋庸置疑,它犹如基石,支撑着任何地理信息系统(GIS)分析、建模和决策制定过程的准确性、可靠性和有效性。未经清洗的数据往往问题重重,空间误差如位置不精确、几何形状错误和拓扑错误会导致错误的距离计算和空间关系分析;属性错误如信息缺失、格式不一和错误分类则严重影响数据查询和专题制图;坐标系统的不统一导致数据叠加错位;数据冗余和不完整性则会扭曲分析结果并限制分析的完整性。

忽视地理空间数据清洗的后果是显著的。它会导致错误的分析结果,进而降低决策的有效性,甚至产生负面影响。在地理空间建模中,脏数据还会降低模型的预测能力。更甚者,在分析后期才发现数据问题,将大幅增加后期处理成本,并降低用户对地理信息系统产品和服务的信任度。

得益于Python工具的不断发展,地理空间数据清洗现在变得更加容易。Python拥有许多专门用于地理空间数据的软件包,包括Shapely、Pandas和Geopandas,可用于填充缺失值、重新投影数据集和修复几何图形等任务。本文将介绍用于清洗地理空间数据的6个Python工具库。

1. Geopandas#

Geopandas是一个开源Python工具库,旨在简化地理空间数据的操作和分析。它扩展了 Pandas的功能,以支持诸如shapefile、GeoJSON等空间数据结构,从而更轻松地以熟悉的表格格式处理地理空间数据。以下是其主要特性和用途:

Geopandas引入了两种主要的地理空间数据类型: GeoDataFrame:类似于Pandas的DataFrame,但专门用于处理空间数据(点、线、面)。 GeoSeries:一种包含几何图形的Series对象,用于在GeoDataFrame中存储空间信息。

常见用例:

  • 地理空间数据清理:处理缺失的几何图形,修复无效的几何图形,或确保所有数据都位于正确的CRS中。
  • 空间分析: 执行空间连接、缓冲区分析和图层叠加等操作,以分析地理空间要素之间的关系。

1import geopandas as gpd
2
3# 加载 shapefile
4gdf = gpd.read_file(‘your_shapefile.shp’)
5
6# 检查 CRS 并根据需要重新投影
7print(gdf.crs)
8gdf = gdf.to_crs(epsg=4326) # 转换为 WGS84
9
10# 缓冲区操作:创建每个几何图形周围 1 公里的缓冲区
11gdf[‘buffered’] = gdf.geometry.buffer(1000)
12
13# 绘制地理空间数据
14gdf.plot()

https://github.com/geopandas/geopandas

2. Fiona#

Fiona是一个用于简化地理空间数据格式的读取和写入的python工具库。它为处理矢量数据提供了一个高效的Pythonic接口,并构建于GDAL(地理空间数据抽象库)之上。Fiona专注于易用性和性能,使其成为管理地理空间文件输入和输出 (I/O) 的绝佳选择。

Fiona 支持多种地理空间文件格式,包括Shapefile、GeoJSON、KML、GML、GeoPackage和PostGIS。这使得在不同格式之间进行读取、写入和转换变得容易。

Fiona提供了一个高效的底层API,用于访问地理空间数据,而无需将整个文件加载到内存中。它允许您流式传输大型数据集,而不会过度占用内存。

Fiona用于从各种格式(如Shapefile或GeoJSON)读取数据,并将结果写回不同的格式,从而方便数据转换或导出。在处理大型地理空间文件时,Fiona可以按块或流的方式高效地读取和写入,从而避免将庞大的数据集完全加载到内存中。

1import fiona
2
3# 使用 Fiona 读取 Shapefile
4with fiona.open(‘your_shapefile.shp’) as src:
5 print(src.crs) # 检查坐标参考系统
6 for feature in src:
7 print(feature) # 打印 shapefile 中的每个要素
8
9# 使用 Fiona 写入新的 Shapefile
10schema = {
11 ‘geometry’: ‘Polygon’,
12 ‘properties’: {‘id’: ‘int’}
13}
14with fiona.open(‘new_shapefile.shp’, ‘w’, driver=‘ESRI Shapefile’, crs=‘EPSG:4326’, schema=schema) as dst:
15 dst.write({
16 ‘geometry’: {‘type’: ‘Polygon’, ‘coordinates’: [[(0, 0), (1, 0), (1, 1), (0, 1), (0, 0)]]},
17 ‘properties’: {‘id’: 1}
18 })

GitHub: https://github.com/Toblerity/Fiona

3. Shapely#

Shapely是一个用于操作和分析平面几何对象的Python库。它提供了简单高效的工具来创建、分析和操作诸如点、线和面之类的几何图形,使其成为空间分析和地理空间数据处理的关键库。

Shapely提供了易于使用的函数来创建基本的几何图形,如Point、LineString和Polygon。这些对象可以从坐标或其他数据结构创建。

Shapely允许进行各种空间操作,例如:

  • Intersection: 查找几何图形之间的重叠区域。
  • Union: 将多个几何图形合并为一个。
  • Difference: 从一个几何图形中减去另一个几何图形。
  • Buffering: 创建几何图形周围的缓冲区。
  • Convex Hull: 找到可以包围一组点的最小凸形状。

几何图形的创建和操作:

Shapely可用于从原始数据创建几何图形,修改它们(例如,平移、旋转),并执行诸如合并或分割之类的几何操作。无论用户需要检查两个多边形是否相交、找到多边形的质心,还是计算两点之间的距离,Shapely都能使这些任务变得简单直接。

1from shapely.geometry import Point, Polygon
2from shapely.ops import unary_union
3
4# 创建几何图形
5point = Point(1, 1)
6polygon = Polygon([(0, 0), (0, 2), (2, 2), (2, 0)])
7
8# 执行几何操作(例如,交集)
9intersection = polygon.intersection(point)
10print(intersection) # 如果点位于多边形内,则应输出该点
11
12# 缓冲区操作:创建一个围绕该点的 1 公里缓冲区
13buffer = point.buffer(1) # 创建一个围绕该点的圆形缓冲区
14print(buffer)
15
16# 合并多个几何图形
17polygon2 = Polygon([(2, 0), (2, 2), (4, 2), (4, 0)])
18union = unary_union([polygon, polygon2])
19print(union) # 合并两个多边形

Shapely的API简单、直观且快速,适用于处理几何操作。它支持广泛的空间操作,包括几何关系、面积/长度计算和变换。Shapely与Geopandas和Fiona等库无缝集成,以便更轻松地操作和分析地理空间数据。

GitHub: https://github.com/shapely/shapely

4. PyProj#

PyProj是PROJ的Python接口,PROJ是一个用于执行制图变换和投影的库。它提供了一种简单的方法来在不同的坐标参考系统 (CRS) 和大地测量变换和投影之间进行转换。这对于处理不同坐标系的地理空间数据并确保不同数据集之间的一致性至关重要。

PyProj允许用户在不同的CRS之间转换坐标,例如从局部投影转换为全局投影(例如,WGS84 到 UTM)。它支持大地测量计算,例如计算地球表面上点之间的距离、方位角和方位。用户可以定义自定义CRS和投影,PyProj将为您管理转换,使其灵活地适应非标准的坐标系统。

常见用例:

  • CRS 转换:将一组地理坐标从一个CRS转换为另一个CRS,这在组合来自可能使用不同坐标系统的不同来源的数据时是必要的。
  • 距离计算:计算地球表面上两点之间的距离(使用其经纬度),这在地理空间分析中经常需要。

1import pyproj
2
3# 定义 CRS:WGS84(纬度/经度)和 UTM Zone 33N
4wgs84 = pyproj.CRS(‘EPSG:4326’) # WGS84 (纬度/经度)
5utm = pyproj.CRS(‘EPSG:32633’) # UTM Zone 33N (投影坐标)
6
7# 定义一个转换器来转换两个 CRS
8transformer = pyproj.Transformer.from_crs(wgs84, utm)
9
10# 转换一组坐标(纬度、经度)到 UTM
11lat, lon = 52.205, 0.119
12utm_x, utm_y = transformer.transform(lat, lon)
13print(f”UTM 坐标:x={utm_x}, y={utm_y}“)
14
15# 反向转换:将 UTM 转换回纬度/经度
16lat_reversed, lon_reversed = transformer.transform(utm_x, utm_y, direction=pyproj.enums.TransformDirection.INVERSE)
17print(f”纬度/经度:lat={lat_reversed}, lon={lon_reversed}”)

GitHub: https://github.com/pyproj4/pyproj

5. Rasterio#

Rasterio是一个用于读取和写入地理空间栅格数据(例如卫星图像或数字高程模型)的Python库。它简化了栅格数据的处理,使其更容易处理、操作和分析基于像素的地理空间数据。Rasterio构建于GDAL之上,效率极高,并在地理空间社区中得到广泛使用。

Rasterio提供了简单的方法来读取和写入各种栅格格式,包括GeoTIFF、JPEG、PNG等。它支持高效处理大型栅格文件。Rasterio与坐标参考系统CRS协同工作以处理栅格数据的投影。它支持重新投影栅格,这对于处理来自多个具有不同坐标系统的来源的数据集至关重要。

常见用例:

  • 读取和写入GeoTIFF:Rasterio被广泛用于读取和写入GeoTIFF文件,这是一种用于卫星图像和其他地理空间栅格数据的常见格式。
  • 重新投影栅格数据:将栅格数据从一个CRS转换为另一个CRS是组合来自不同来源的栅格图层的关键任务。

1import rasterio
2from rasterio.plot import show
3
4# 打开栅格文件
5with rasterio.open(‘your_raster.tif’) as src:
6 # 从栅格读取数据
7 band1 = src.read(1) # 读取第一个波段
8 print(src.crs) # 检查栅格的 CRS
9
10 # 绘制栅格
11 show(src)
12
13 # 获取栅格元数据
14 print(src.meta)
15
16# 重新投影栅格(如果需要)
17from rasterio.warp import calculate_default_transform, reproject, Resampling
18with rasterio.open(‘your_raster.tif’) as src:
19 # 定义新的 CRS(例如,EPSG:4326)
20 dst_crs = ‘EPSG:4326’
21 transform, width, height = calculate_default_transform(
22 src.crs, dst_crs, src.width, src.height, *src.bounds)
23
24 # 创建一个新文件来存储重新投影的栅格
25 with rasterio.open(‘reprojected_raster.tif’, ‘w’, driver=‘GTiff’, count=src.count, dtype=src.dtypes[0],
26 crs=dst_crs, transform=transform, width=width, height=height) as dst:
27 for i in range(1, src.count + 1):
28 reproject(
29 source=rasterio.band(src, i),
30 destination=rasterio.band(dst, i),
31 src_transform=src.transform,
32 src_crs=src.crs,
33 dst_transform=transform,
34 dst_crs=dst_crs,
35 resampling=Resampling.nearest)

Rasterio专门为栅格数据进行了优化,使其成为地理空间栅格操作的首选库。 它使用诸如窗口化等技术高效处理大型栅格数据集,从而确保分析期间的最小内存使用量。

GitHub: https://github.com/rasterio/rasterio

6. TopoPyScale#

TopoPyScale是一个用于分析和建模地形和地貌的Python库。它专注于分析地形特征及其尺度属性,例如海拔、坡度和坡向。TopoPyScale特别适用于分析和理解景观特征,尤其是在涉及DEM数字高程模型)和地形数据的地理空间分析中。

TopoPyScale允许计算关键的地形特征,例如坡度、坡向和曲率,这些对于理解景观的物理特征至关重要。该库提供了用于分析地形尺度的工具,这对于研究不同空间尺度下地形的自相似性至关重要。

常见用例:

  • 地形特征提取:从DEM数据中提取关键的地形特征(例如,坡度、坡向、曲率),以进行进一步的空间分析或建模。
  • 分形和尺度分析:分析地形的尺度属性以理解景观的自相似性,这在地形地貌研究或建模地形特征中可能很重要。

1import TopoPyScale
2import numpy as np
3import matplotlib.pyplot as plt
4
5# 示例:加载 DEM(数字高程模型)
6dem = np.loadtxt(“dem_data.txt”) # 替换成您的 DEM 数据源
7
8# 计算地形坡度和坡向
9slope = TopoPyScale.slope(dem)
10aspect = TopoPyScale.aspect(dem)
11
12# 可视化坡度和坡向
13plt.figure(figsize=(12, 6))
14
15# 绘制坡度
16plt.subplot(1, 2, 1)
17plt.imshow(slope, cmap=‘terrain’)
18plt.title(“Slope”)
19plt.colorbar()
20
21# 绘制坡向
22plt.subplot(1, 2, 2)
23plt.imshow(aspect, cmap=‘twilight’)
24plt.title(“Aspect”)
25plt.colorbar()
26
27plt.show()
28
29# 示例:地形的分形分析
30fractal_dim = TopoPyScale.fractal_dimension(dem)
31print(f”地形的分形维度:{fractal_dim}”)

GitHub: https://github.com/TopoPyScale/topopyscale

本公众号相关内容推荐#


title: “9个提升科研效率的软件工具” published: 2024-04-03 description: “本文介绍9个科研论文相关的能够提升科研效率的软件工具,这些软件均可以通过浏览器访问。” image: “/images/9个提升科研效率的软件工具/img_4715d872.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#

**本文介绍9个科研论文相关的能够提升科研效率的软件工具。**1. Gecko

Gecko 可以帮助用户找到与其研究最相关的论文,帮助用户对研究领域有更全面的了解。

用户可以从一小组 “种子论文 “开始,这些论文定义了感兴趣的领域。Gecko 会在引文网络中搜索相关论文,让用户快速识别可能遗漏的重要论文。

该工具允许用户在表格中或在网络上下文中查看这些高度关联的论文。

🔗 https://citationgecko.azurewebsites.net/

2. INCITEFUL

Inciteful 是一个学术文献搜索和分析工具,通过构建和分析引用网络来帮助用户快速掌握特定主题的最新研究动态。这个工具特别适用于那些试图将两个不同领域的研究连接起来的跨学科学者。

文献发现工具:通过引用网络构建,使用网络分析算法来分析网络,提供快速了解特定主题所需的信息,包括找到最相似的论文、重要论文以及高产作者和机构。

文献连接器:为跨学科学者设计,通过输入两篇论文,展示它们如何通过文献连接,包括交互式可视化显示连接路径,从而发现其他相关文献。

🔗 https://inciteful.xyz/

3. OPEN KNOWLEDGE MAPS#

Open Knowledge Maps世界上最大的科学知识可视化搜索引擎之一,目标是彻底改变科学知识的发现方式。我们正在建立一个可视化界面,为科学界和社会大幅提高研究成果的能见度。

用户输入与主题相关的几个宽泛的关键词,OPEN KNOWLEDGE MAPS会检索出与该主题最相关的 100 篇论文,并按照主题进行分组,每个主题都包含已确定的论文。

🔗 https://openknowledgemaps.org/index

4. CARROT2#

Carrot2是一个开源的搜索结果聚类引擎。它可以自动将小型文档集合(例如搜索结果或文档摘要)聚类到专题类别中。支持将学术搜索结果按主题分类。通过对可用内容的即时概览,用户可以快速找到所需的内容。

🔗 https://search.carrot2.org

5. RESEARCH RABBIT

Research Rabbit 可根据用户提供的文章集创建引用图和推荐文章网络。用户可以获得文章和合作者推荐、设置提醒并共享收藏。使用时需要用户账户,但始终免费。

Research Rabbit 支持从 Zotero 中导入文集,或使用 Pubmed ID、DOI 或关键词搜索建立新文集。支持的文献地图包括网络视图和时间轴视图。

本公众号有一篇文章介绍了Research Rabbit,可以点击链接查看科研文献综述相关软件推荐

🔗 https://researchrabbitapp.com/

6. CONNECTED PAPERS

Connected Papers是一个帮助科研工作者搜索与其研究领域相关文献的工具。

用户输入一篇论文的标题,Connected Papers 就会创建一个文献地图。每个节点都是一篇相关论文。节点的大小表示论文被引用的次数,颜色表示论文的发表年份。另外,该工具还提供 “以前的作品”(参考文献)和 “衍生作品”(引用原文的论文)。

🔗 https://www.connectedpapers.com/

7. LITMAPS

litmaps 是一个专业的科研辅助工具,它通过自动化的引文搜索,帮助用户发现以前未知且与其研究主题相关的学术论文。litmaps 还能够将搜索结果可视化成一张图表,通过追踪引文链接,展示论文之间的关联关系,帮助用户轻松发现新的研究领域。

在 litmaps 中使用 Seed 功能,我们可以找到与我们研究主题相关的文章,并创建自己的收藏集。Seed 功能提供了一个搜索框,我们可以在其中输入关键词或文章标题,然后点击搜索按钮。litmaps 会自动为我们找到与输入关键词或文章标题相关的论文列表。

对于每篇论文,litmaps 还会显示它们之间的引用关系,并给出一个 Seat Map,可视化这些论文之间的关联关系。在 Seat Map 中,每篇论文都以一个圆形图标表示,图标的大小代表了该论文被引用的次数。

通过点击具体的论文,我们可以将其添加到我们的收藏集中,以便日后查看或管理。借助这一功能,我们可以快速而轻松地发现与我们研究主题相关的新的论文,并将它们收藏起来。

Litmaps 改变了研究人员发现文章和进行研究的方式。使用关键字搜索和筛选参考文献的传统方法根本无法扩展到数百万篇论文。相反,Litmaps使用引文网络来发现其他搜索方法容易忽略的文献。这与我们不断发展的算法和自动警报系统相结合,意味着再也不会错过任何相关论文。

🔗 https://www.litmaps.com/

8. SciSpace (typeset.io)

SciSpace 是一个基于OpenAI GPT-3的科研论文辅助阅读理解平台。该平台收录了来自多个学科领域的2亿篇学术论文摘要信息,为科研人员提供了快速阅读和理解相关数据论文的支持。通过利用GPT-3的强大语言模型能力,SciSpace Copilot能够帮助用户更高效地浏览和掌握大量的学术研究内容,还支持对pdf文档进行自定义截图,并对选取的公式信息和伪代码提供详细的解释。

本公众号有一篇文章详细介绍了SciSpace,可以点击链接查看SciSpace:一个科研论文AI辅助理解平台

🔗 https://typeset.io

9. Elicit

Elicit是一款能够快速分析研究论文的AI助手。它可以自动完成繁琐的研究任务,如论文摘要、数据提取和综合研究发现。用户可以搜索相关论文、获取一句话摘要、从论文中提取详细信息并进行整理、寻找主题和概念等。Elicit的准确度高,使用方便,已受到广大研究者的信赖和好评。#

Elicit 使用语言模型来帮助你实现研究工作流程的自动化,在没有完美的关键词匹配的情况下找到相关论文,从论文中总结出针对你的问题的收获,从论文中提取关键信息,还可以帮助进行头脑风暴、总结和文本分类等任务。

🔗 https://elicit.com

本公众号相关内容推荐:


title: “AI Agent最新技术进展(2025年12月)” published: 2025-12-23 description: "" image: “/images/AI-Agent最新技术进展-2025年12月/img_ae448928.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#

2025年12月的AI Agent领域呈现出前所未有的行业合作、标准化协议的兴起,以及从原型到生产部署的重大转变。Anthropic、OpenAI、Google和Microsoft等主要厂商在建立各自Agent框架的同时,也在互操作性标准上展开合作。


重大行业动态#

1. Agentic AI Foundation (AAIF) 成立#

OpenAI、Anthropic 和 Block 在 Linux Foundation 下联合创立了 Agentic AI Foundation,得到 Google、Microsoft、AWS、Bloomberg 和 Cloudflare 的支持。AAIF 为 AI Agent 系统从实验到生产部署的过渡提供中立的开放、互操作基础设施管理。

这是首次行业级合作,旨在建立 AI Agents 的标准,类似于 Linux 标准化操作系统的方式。表明 AI Agents 正从竞争性差异化转向需要共享基础设施标准。


2. Anthropic Agent Skills 开源#

Anthropic 将 Agent Skills 作为开放标准发布在 agentskills.io。自2025年10月作为开发者功能推出以来,Agent Skills 已被 Microsoft (VS Code, GitHub)、Cursor、Goose、Amp 和 OpenCode 采用。OpenAI 也在 ChatGPT 和 Codex CLI 中悄然采用了结构相同的架构。

这是将 Anthropic 架构确立为行业标准的战略举措,迫使竞争对手采用兼容的方法。Microsoft 的立即采用为该标准带来了显著的发展动力。


3. Claude Agent SDK - 生产就绪的自主 Agent#

Claude Agent SDK(前身为 Claude Code SDK)使开发者能够构建可读取文件、编写代码、执行命令和集成自定义工具的 Agent。主要功能包括文件系统操作、bash 执行、MCP 集成、会话管理和内置安全护栏。

安装方式:

  • • Python: pip install claude-agents
  • • TypeScript: npm install @anthropics/agent-sdk

这代表了 Anthropic 在赋予 Agent “一台计算机”上的押注——让它们像人类一样完全访问开发环境。SDK 与 JetBrains IDE 的集成以及对 30+ 小时自主编程会话的关注,使其成为复杂、长时间运行 Agent 任务的框架。


4. Claude Sonnet 4.5 - Agent 能力的突破#

Claude Sonnet 4.5 可处理 30+ 小时的自主编程,使工程师能够在大幅缩短的时间内完成数月的复杂架构工作,同时在大规模代码库中保持一致性。它专门设计为”构建复杂 Agent 的最强模型”。

这代表了 Agent 自主持续时间的量子飞跃。此前的模型在几小时后就难以保持上下文连贯性。保持 30+ 小时连贯性的能力使得真正自主的 Agent 能够在无人干预的情况下完成多日项目。


5. OpenAI GPT-5.2-Codex 发布#

OpenAI 发布了 GPT-5.2-Codex,针对其编程 Agent 进行了优化,改进包括:通过上下文压缩实现长时间任务、在大型代码更改(如重构和迁移)上的更强性能、改进的 Windows 环境性能,以及显著增强的网络安全能力。

表明 OpenAI 正在匹配 Anthropic 对扩展自主编程会话的关注。对”长时间任务”和”上下文压缩”的强调直接解决了在扩展操作中保持 Agent 有效性的挑战。


6. Microsoft Agent Lightning - 无需代码重写的强化学习#

微软亚洲研究院推出了 Agent Lightning,这是一个开源框架,通过将任务执行与模型训练分离,使 AI Agent 可通过强化学习进行训练。开发者几乎无需修改代码即可添加 RL 能力。

这解决了 Agent 开发中的一个主要瓶颈。此前,添加强化学习需要大量代码重写和专业知识。Agent Lightning 为 Agent 民主化了 RL,可能加速自我改进自主系统的开发。


7. Google Gemini 3 Flash 与 A2UI#

Google 发布了 Gemini 3 Flash,专为速度设计,降低 token 成本,适合高频工作流中的迭代开发。Google 还宣布了 A2UI(Agent-to-Agent UI),这是一个开源工具,可根据当前对话需求生成 UI,使 Agent 能够动态创建适当的界面。

A2UI 代表了一种新范式,Agent 不仅仅通过文本交互,还可以即时生成特定任务的界面。这弥合了对话式 Agent 和传统 GUI 应用程序之间的差距。


新兴框架与架构#

8. 图编排架构占主导#

图编排已成为2025年生产系统的主导模式。LangGraph、AutoGen 和 Semantic Kernel 等框架支持这种方法,实现可靠性、并行性、通过多模型编排的成本效率,以及更容易的调试。到2025年底,结合编排工作流与注入技能的混合方案占主导。

行业已经趋同于将图编排架构作为生产 Agent 最实用的方法。这代表了从纯自主”让它思考”方法向更结构化、可控的 Agent 执行的转变。


9. Model Context Protocol (MCP) - “AI 的 USB-C”#

Model Context Protocol 提供单一标准接口,让任何 AI 模型访问其训练数据之外的插件和资源。2025年4月,Google 宣布 Agent Communication Protocol “A2A”(Agent-to-Agent)作为 AI 间对话的开放框架。

MCP 解决了”多模型对多工具”的集成问题,类似于 USB 标准化硬件连接的方式。这为不同 AI 模型和外部工具之间实现真正的互操作性,对多 Agent 系统至关重要。


10. 多 Agent 辩论框架#

自适应异构多 Agent 辩论框架(A-HMAD),其中具有不同角色的 AI Agent 进行辩论并达成共识,与标准方法相比,可将 LLM 的数学推理和事实准确性提高 4-6%,事实错误减少 30% 以上。

这表明通过 Agent 辩论的集体智能比单 Agent 方法产生显著更好的结果,特别是对于复杂推理任务。这验证了多 Agent 架构趋势。


研究突破#

11. Unary Feedback as Observation (UFO)#

研究人员发现,微调 AI 模型以解释简单的”一元反馈作为观察”(UFO)——例如短语”让我们再试一次”——使 Agent 能够修正其方法,而不是顽固地重复错误。

这解决了当前 Agent 的一个关键缺陷:错误循环。UFO 训练使 Agent 能够识别失败并适应,这是自主操作的关键能力。


12. 工具增强推理#

研究人员证明,虽然推理 AI 模型在孤立情况下可能在复杂符号任务上失败,但当获得 Python 解释器等简单工具的访问权限时,性能会急剧提升,使它们能够生成假设、执行它们,并根据具体反馈完善推理。

这验证了 Anthropic 倡导的”计算机使用”范式。具有工具访问权限的 Agent 显著优于纯推理模型,表明 AI 的未来是结合推理与执行能力的混合系统。


13. Reinforcement Learning from Verifiable Rewards (RLVR)#

RLVR 在2025年成为 LLM 的新主要训练阶段。通过在数学/代码谜题等环境中针对可自动验证的奖励训练 LLM,LLM 自发发展出对人类来说看起来像”推理”的策略。

这代表了 LLM 训练方式的根本转变。RLVR 使模型能够通过试错发展解决问题的策略,可能解锁比监督学习更强健的推理能力。


14. 进化策略用于 LLM 微调#

Cognizant 的 AI 实验室首次成功使用进化策略(ES)微调数十亿参数的 LLM,提供了传统强化学习的变革性替代方案。该方法减少了训练数据需求和成本,同时实现了更高的可扩展性、稳定性和效率。

进化策略提供了一种根本不同的训练范式,对于资源受限的组织可能更实用。这可能将高级 Agent 训练民主化,超越科技巨头。


主流框架对比#

15. 领先的 Agent 框架#

框架描述特点
LangChain最成熟的 LLM 应用框架复杂工作流的强大抽象,易于与 API、数据库和外部工具集成
AutoGen (Microsoft)通过自动化代码、模型和流程生成来促进 AI 应用创建以最少的手动编码有效自动化 Agent 生成
CrewAI编排角色扮演 AI Agent 的流行框架截至2025年12月21日有41,600 GitHub stars
OpenAI Swarm实验性教育框架探索通过 Agents 和 handoffs 两个原语的轻量级多 Agent 编排。注意: OpenAI 明确声明”Swarm 不是官方产品,是用于构建简单 Agent 的实验性代码,不适用于生产”

框架格局正在生产就绪系统(LangChain、AutoGen)和实验性方法(Swarm)之间分化。组织需要仔细评估哪些框架有长期供应商支持。


新兴应用领域#

16. 具体 Agent 应用#

日期: 2025年
来源: 多个研究来源

领域应用描述
CAD Co-Pilot3D 建模MIT 研究人员开发了一个 AI Agent,接收2D草图并通过模拟鼠标和键盘输入自动生成3D CAD模型,降低了3D建模的门槛
医疗诊断心脏骤停预测巴黎的研究人员展示了一个能够通过分析心电图模式提前3小时预测心脏骤停的 AI 系统
金融 Agent个性化投资建议理解投资组合和投资目标以提供个性化财务建议的 Agent
个人助理日程管理自主预订旅行、管理日历和安排约会的 Agent
客户支持高模糊性请求处理以最少人工干预处理高模糊性用户请求的 Agent

应用的广度表明 Agent 不仅限于编程任务。我们正在看到跨领域出现真正的通用自主系统。


关键要点与预测#

  1. 1. 标准化正在加速: AAIF 的成立和 Agent Skills 等开放标准的采用表明,行业认识到互操作性对 Agent 生态系统成熟至关重要。
  2. 2. 已实现生产就绪: 多个组织报告 30+ 小时的自主 Agent 操作,跨越了从”演示”到真正有用的自主系统的门槛。
  3. 3. 多 Agent 系统是未来: 单 Agent 方法正在让位于在编排团队中工作的专业 Agent,类似于微服务取代单体应用程序。
  4. 4. 工具使用是关键: 纯推理模型正被结合推理与代码执行和外部工具访问的混合系统所取代。
  5. 5. 企业市场是真实的: 30万 Anthropic 客户和1500万 GitHub Copilot 用户证明了企业验证,而不仅仅是技术爱好者的采用。
  6. 6. 训练方法正在演进: RLVR 和进化策略代表了 Agent 训练方式的根本转变,可能将高级能力民主化。
  7. 7. 预期整合: 随着数十个框架和标准的竞争,预计到2026年底将围绕3-5种主导方法进行整合。

信息来源#

  • • Anthropic launches enterprise ‘Agent Skills’ and opens the standard
  • • OpenAI co-founds the Agentic AI Foundation
  • • OpenAI is under pressure as Google, Anthropic gain ground
  • • Anthropic takes the fight to OpenAI with enterprise AI tools
  • • This week in AI updates - December 19, 2025
  • • Block, Anthropic, and OpenAI Launch the Agentic AI Foundation
  • • Building agents with the Claude Agent SDK
  • • Introducing Claude Sonnet 4.5
  • • Claude Agent SDK: Complete Developer Guide
  • • Introducing Claude Agent in JetBrains IDEs
  • • Claude Agent SDK Tutorial - DataCamp
  • • GitHub - anthropics/claude-agent-sdk-typescript
  • • Top 9 AI Agent Frameworks as of December 2025
  • • 2025 LLM Year in Review - karpathy
  • • Agent Lightning - Microsoft Research
  • • Three AI Agent Architectures Have Emerged
  • • AI agents debate their way to improved mathematical reasoning
  • • Top Frameworks Empowering Multi-Agent LLM Development
  • • Inside the AI Lab – December 2025
  • • GitHub - openai/swarm
  • • OpenAI Swarm Framework Guide
  • • Multi-Agent Orchestration with OpenAI Swarm
  • • OpenAI unveils experimental ‘Swarm’ framework
  • • The Latest AI News and AI Breakthroughs: 2025
  • • AI Agents in 2025: Expectations vs. Reality - IBM
  • • 7 AI Agent Breakthroughs from Microsoft Build 2025
  • • Gartner Hype Cycle Identifies Top AI Innovations in 2025
  • • AI Agents in H1 2025: Breakthroughs, Trends, and Highlights
  • • Top AI Research Papers of 2025

---====AI-for-Earth-Science-in-2025.md====#

title: “AI for Earth Science in 2025” published: 2026-01-03 description: "" image: “/images/AI-for-Earth-Science-in-2025/img_975040d1.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#

过去一年,地球科学领域正在经历一场深刻的变革。

2025年,人工智能已经真正走进了气象台、海洋研究所、地震监测中心的日常工作中。从预测明天的天气,到追踪南极冰川的消融,再到监听地壳深处的震动——这些曾经需要超级计算机跑上几天几夜的任务,现在可能只需要一杯咖啡的时间。

本文将回顾这一年里,那些AI for Earth Science相关的技术突破。


一、地球系统基础模型#

今年最引人注目的进展,莫过于几个”全能型”模型的出现。

微软的Aurora堪称其中的代表作。这个拥有13亿参数的模型,接受了超过一百万小时地球物理数据的”训练”。它能预测空气质量、海浪高度、飓风路径,还能做高分辨率天气预报——而且速度比传统方法快了5000倍。

NASA和IBM联手打造的Prithvi则走了开源路线。这个模型覆盖全球数据,可以填补卫星云图的空白、识别农作物种类、绘制洪水淹没范围。今年,开发团队还拿到了美国地球物理联盟的”开放科学奖”。

Google一口气发布了好几个重量级工具:11月的WeatherNext 2号称”最强天气预报”,7月的AlphaEarth把地球制图精度提升到了新高度,3月的FireSat专门盯着森林火情。

NVIDIA更是放出了一个”大招”——cBottle,号称全球首个能以公里级精度模拟气候的生成式模型。要知道,以前的气候模型分辨率动辄几十甚至上百公里,很多极端天气的细节根本看不清。


二、天气预报:从”大概准”到”相当准”#

气候预测一直是个老大难问题。传统方法是把大气层切成无数小格子,然后用物理方程一个个算过去,耗时耗力不说,精度还不一定高。

今年的一个重要发现是:最好的办法可能是”两条腿走路”

MIT的研究团队做了一组有趣的对比实验。他们发现,对于区域温度预测,相对简单的物理模型反而比复杂的深度学习表现更好;但到了局部降雨预测,深度学习又扳回一城。

Google的NeuralGCM就是这种”混合思路”的产物——它保留了传统气候模型的物理框架,但用机器学习来处理那些难以精确描述的过程。结果是,2到15天的天气预报比现有的”金标准”还准,40年的气温记录重建也更贴近实际观测。

中国团队开发的风顺模型则在中长期预测上取得突破。它能提供60天的全球预报,涵盖大气、海洋、陆地、冰雪等29个关键指标,在降水预测上明显优于欧洲气象中心的业务模型。

值得一提的是,欧洲中期天气预报中心(ECMWF)——全球气象预报的”金标准”——也在今年迈出了关键一步。7月,他们的AIFS(人工智能预报系统)正式投入业务运行,这是一个51成员的集合预报系统。与传统的物理模型相比,AIFS的运算速度快了10倍以上,能耗却降低了约1000倍。在地表温度预测上,准确率提升了20%。更难得的是,ECMWF还在官网免费开放了多个AI模型的预报产品,包括GraphCast、盘古气象等,任何人都可以查看。


三、海洋:从”黑箱”到”透明海洋”#

海洋是地球上最难预测的系统之一。洋流错综复杂,数据采集困难,传统模型算力需求惊人。但2025年,这个领域迎来了井喷式的突破。

速度革命首当其冲。纽约大学开发的Samudra海洋模拟器,运行速度比传统模型快了150倍,而且可以稳定运行十年以上。加州大学圣克鲁兹分校和富士通合作的墨西哥湾模型更夸张——快了10万倍。这意味着,以前需要超级计算机跑几天的任务,现在普通服务器几分钟就能搞定。

秘诀在于”物理约束”。纯数据驱动的模型容易产生违反物理规律的结果,比如能量凭空消失、温度出现负值。把物理定律”写”进神经网络,就能避免这类荒唐的输出。

崂山实验室牵头研发的问海模型首次实现了全球涡旋分辨率的海洋预报,可以提前1到10天预测海洋中尺度涡旋的演变。这对渔业、航运和海上作业都有重要价值。论文发表在《自然·通讯》上。

长期预测也有突破。ORCA-DL模型发表在《科学·进展》上,首次实现了季节到十年尺度的三维全球海洋预报。它在厄尔尼诺和海洋热浪预测上的表现,超过了目前最好的数值模式。

IBM则发布了首个海洋专用的基础模型——Granite-Geospatial-Ocean。这个5000万参数的模型在50万张Sentinel-3卫星图像上训练,可以监测浮游植物分布和海洋健康状况,而且完全开源。

欧洲也在加速布局。11月底,欧盟正式启动了”海洋数字孪生”第二阶段(EDITO2),投资1400万欧元,目标是建成覆盖全欧洲海域的实时监测和预测系统。这是联合国海洋大会上宣布的欧盟”海洋公约”核心支柱之一。

在珊瑚礁监测方面,澳大利亚海洋科学研究所的RapidBenthos系统可以自动分析水下照片,每次分析节省60小时的人工时间。NVIDIA的SeaSplat则能从普通水下视频重建三维场景,还能校正水对光线的扭曲。

风暴潮预报的效率也大幅提升。物理信息神经网络把预测时间从几小时压缩到几分钟,误差控制在0.3米以内。NOAA和Google DeepMind的合作项目,让飓风路径预报的准确性提高了约140公里。


四、地震预测#

地震预测是地球科学界公认的”圣杯”——几十年来,无数人前赴后继,却始终没有实质性突破。

但2025年出现了一些值得关注的进展。

京都大学的研究团队在实验室里重现了地震发生的过程。他们发现,在主震之前,岩石会发出一些微弱的”预警信号”。通过训练深度学习模型识别这些信号,他们成功预测了实验室地震的发生时间。

这只是米级尺度的实验,离真正的地壳地震还有很远距离。但研究人员指出,米级实验比以前的厘米级实验更接近真实地壳环境,结果更有参考价值。

另一个叫SafeNet的模型则采用了不同思路。它综合历史地震数据、地质构造信息、地球物理观测,可以在几秒钟内生成某个区域未来一年的地震风险评估。用50年的中国地震数据做回溯测试,它的表现超过了13个同类模型。

当然,也有清醒的声音。一些研究者指出,目前的机器学习方法还没有真正超越传统的统计模型。地震预测这条路,仍然很长。


五、碳排放#

应对气候变化,首先要搞清楚碳从哪里来。但全球碳排放的监测一直是笔”糊涂账”——很多数据靠估算,更新慢,精度低。

今年的技术进步正在改变这一局面。

一项研究显示,借助机器学习,温室气体监测的数据延迟从24小时缩短到1小时,空间分辨率从30米提升到10米,检测准确率从80%提高到95%。更重要的是,系统还发现了一些以前不知道的排放源。

Climate TRACE平台可能是这个领域最有影响力的项目。它整合了卫星遥感、传感器网络、机器学习等技术,提供全球排放的实时监测和溯源。现在,任何人都可以上网查看某个工厂、某条航线、某片油田的碳排放情况。

甲烷监测是另一个热点。甲烷的温室效应是二氧化碳的80多倍,但以前很难定位具体的泄漏点。现在,Kayrros、Carbon Mapper等公司的工具可以从卫星图像中自动识别甲烷泄漏,并追溯到具体的责任方。


六、冰川与极地:和时间赛跑#

南极和格陵兰的冰盖正在以惊人的速度消融。但传统的冰川模型计算量巨大,很难做大规模的情景模拟。

今年,深度学习把冰川模拟的速度提升了1000倍

这意味着什么?以前只能跑一两个情景,现在可以跑成百上千个,充分评估各种可能性。对于海平面上升的预测来说,这种”不确定性量化”至关重要。

另一个叫MELTNET的模型专门预测冰架的底部融化。冰架漂浮在海面上,底部被温暖的海水不断侵蚀。这个过程以前需要耦合冰盖模型和海洋模型,计算代价极高。MELTNET用深度学习”学会”了海洋对冰架的影响,把计算成本降到了可以忽略不计的程度。

不过,南极海冰的预测仍然是个难题。2014年以来,南极海冰经历了剧烈波动,现有模型——无论是物理模型还是机器学习模型——都很难准确把握。


七、生态监测:让数据自己说话#

森林在消失,物种在灭绝,但我们对自然界的了解还远远不够。

一个尴尬的事实是:地球上大部分物种,我们连名字都叫不出来。热带雨林里有多少种昆虫?深海里有多少种微生物?没人知道。

机器学习正在帮助填补这些空白。

BioCLIP可以从照片中自动识别物种特征。野生动物相机拍到的画面,以前需要专家一张张看,现在算法可以自动分类、计数。

英国生态与水文中心正在全球部署自动化监测站,重点放在热带地区——那里物种最丰富,但数据最匮乏。

世界自然基金会的Forest Foresight项目则把目光投向了森林砍伐。它分析卫星图像,预测哪些地方可能发生非法砍伐,准确率达到80%。这样,保护力量就可以提前部署,而不是事后补救。

当然,技术不是万能的。有研究者提醒,目前的模型训练数据主要来自西方科学体系,可能忽视了原住民的传统生态知识。如何让技术发展更加包容,是需要认真思考的问题。


八、水资源:从”靠天吃饭”到”心中有数”#

洪水和干旱,是最常见的自然灾害。但预报难度很大,尤其在观测数据稀少的发展中国家。

宾夕法尼亚州立大学的团队开发了一个全球水文模型,可以模拟低至36平方公里的区域,数据详尽的地方甚至能细化到6平方公里。这意味着,即使是偏远山区的小流域,也能获得可靠的洪水预警。

另一个研究热点是地下水。地下水是全球最大的淡水储库,但开采过度的问题日益严重。机器学习可以从有限的监测井数据中,推断整个含水层的动态变化。

不过,让决策者信任这些模型,还需要迈过”可解释性”这道坎。黑箱模型说”三天后会发洪水”,凭什么相信?新兴的”可解释人工智能”方法正在尝试回答这个问题。


九、矿产勘探:老行业遇上新技术#

找矿是个古老的行当。但传统方法效率不高,成功率低,成本高昂。

一项调查显示,到2025年,67%的头部矿业公司计划引入人工智能进行预测性地质分析。

模型可以综合地质图、地球物理数据、地球化学分析、遥感图像,预测哪里可能存在有价值的矿床。算法从历史发现和失败案例中学习,不断提高判断能力。

印度政府和地质调查局联合举办了一场”矿产靶区”黑客松,让参赛者用机器学习方法寻找新矿床。斯坦福大学的教授则在赞比亚开设了非洲首个”数据科学与矿产勘探”课程。

有意思的是,业内人士开始强调”知识耦合”——最好的模型不是纯粹的数据驱动,而是把地质学家的专业知识融入其中。毕竟,再聪明的算法也不能完全替代人类几百年积累的经验。


最   后#

回顾2025年,几个趋势已经非常清晰:

“混合”成为主流。纯物理模型和纯数据驱动各有局限,把两者结合起来才是正道。

速度的飞跃。百倍、千倍、万倍的加速不再是新闻。这不仅意味着效率提升,更意味着以前不可能的研究变得可能——比如大规模的情景模拟和不确定性分析。

从实验室走向业务。越来越多的系统开始投入实际应用,服务于气象预报、灾害预警、环境监测、资源勘探。

开放与合作。主流模型纷纷开源,研究数据加速共享。这让资源有限的机构和国家也能站上技术前沿。

当然,挑战依然存在。模型的”黑箱”问题尚未彻底解决;训练数据的偏见可能导致结果的偏颇;大规模计算本身也在消耗能源、产生碳排放。

但总体而言,这是充满希望的一年。人工智能正在帮助我们更好地理解这颗蓝色星球——而理解,是保护的第一步。====AI行业的2024年.md====#

title: “AI行业的2024年” published: 2024-12-15 description: "" image: “/images/AI行业的2024年/img_bd7b132e.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#

****#

本文内容来源于播客《屠龙之术》的《我们到底该如何记录AI行业这一年》,本文作者在此基础上进行了提炼整理。PPT原文在本文文末。

1. 行业整体态势

2024年,AI行业延续了爆发式增长态势。从核心指标来看,模型算力增速达到4.1倍/年,数据规模以2.9倍/年的速度增长。虽然预计将在2028年遇到瓶颈,但当前发展势头依然强劲。在这一年中,资本市场、技术创新、商业化探索等多个维度都呈现出显著变化。

2. 国际和国内头部企业格局‍‍在国际市场,OpenAI继续保持行业领导者地位,通过SORA、GPT-4O和GPT-01等重磅产品持续引领创新方向。公司完成66亿美元融资,估值达到1570亿美元,但也面临人才流失等治理挑战。另一家重要玩家Anthropic凭借亚马逊58.4%战略投资和总计80亿美元融资,正在快速崛起为新的行业力量。

在国内市场,百度作为最早布局AI的公司,文心一言在CNNIC数据中占据11.5%的份额,领先其他国产模型。阿里巴巴采取激进的开源策略,通过通义千问全面布局AI领域。腾讯策略相对克制,注重现有业务的AI增强。华为则专注于芯片、模型、云和终端的全栈布局。字节跳动的豆包大模型在产品体验、运营和推广方面表现突出。

3. 技术发展趋势

2024年最显著的技术趋势是多模态能力的突破。从SORA等视频生成技术,到3D内容创作,再到更自然的语音交互,AI正在突破单一模态的局限。同时,在代码开发工具和Agent技术领域也取得重要进展,预示着AI应用场景的进一步扩展。在硬件领域,各大厂商正在积极布局AI眼镜等新品类,Meta、百度、华为等均已发布或计划发布智能眼镜产品。

谷歌在12月10日最新发布了多模态大模型Gemini 2.0,支持实时桌面共享、实时语音、实时视频、超长文本,可以说目前最强了,吊打各种 AI 助手。

下面的例子是与Gemini2.0实时对话学习弹钢琴和阅读论文。‍‍‍

4. 中国特色的AI实践中国市场呈现出独特的发展路径。以智谱、百川为代表的新兴企业带来创新活力,同时BAT等互联网巨头也在加速布局。这些玩家普遍采取云服务、投资并购、自主研发等多管齐下的策略,构建全方位竞争优势。然而,当前融资环境面临挑战,2024年前三季度的投融资总额仅为近三年同期的39.3%,IPO退出案例显著减少。

5. 展望与挑战展望未来,AI行业仍面临诸多课题:如何平衡技术创新与商业变现、如何应对数据与算力瓶颈、如何构建可持续的商业模式等。产业链的整合与重构也将继续,包括上游芯片、中游模型到下游应用的全链条优化。正如创新工场汪华所说,当前最大的挑战在于如何获得确定性的回报,这也是AI相比移动互联网时代面临的最大障碍。中国企业在这一进程中展现出独特优势,有望在全球AI版图中占据重要位置。未来发展道路虽充满挑战,但机遇与潜力同样巨大。2024年作为AI产业走向成熟的关键一年,理性思考商业价值、探索可持续发展模式将成为行业共识。

本公众号相关内容推荐#

====Argo海洋观测数据处理分析python库-ArgoPy.md====#

title: “Argo海洋观测数据处理分析python库:ArgoPy” published: 2024-09-11 description: “本文介绍一个支持Argo数据访问、操作和可视化功能的Python库:argopy。argopy可以简化从任何来源获取Argo数据的流程,并为用户提供数据可视化和操作工具。” image: “/images/Argo海洋观测数据处理分析python库-ArgoPy/img_f114e312.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#


海洋占地球面积的71%,为地球提供很多服务,从缓解极端天气到产生我们呼吸的氧气,从生产人类的食物到储存产生的过量二氧化碳,海洋发挥了非常重要的作用。然而,全球海洋已经在经历气候变化及其伴随效应的重大影响。它们包括空气和海水变暖、物种的季节性变化、珊瑚白化、海平面上升、沿海洪水、海岸侵蚀、海水酸化、有害藻类大量繁殖、缺氧(或死亡)区、新的海洋疾病、海洋哺乳动物的消失、降水,渔业减少以及近几年频繁发生的极端天气事件(干旱、洪水、风暴)。

西太平洋热带气旋发生历史情况

通过海洋观测,可以实时监测海洋温度、盐度、酸度等关键参数,从而更好地理解气候变化的影响及其趋势。Argo是一个全球性的海洋观测系统,通过部署数千个自主漂流浮标,实时收集全球海洋温度和盐度等关键参数数据。Argo计划于2000年启动,目前全球30多个国家部署了Argo浮标并处理其数据,并向全球科学家提供。Argo计划已成为海洋观测史上最成功的国际合作项目之一。2018年9月,Argo观测网已收集到200万个剖面。2024年7月,Argo观测网收集到了300万个观测剖面。

Argo观测系统的组成#

Argo观测系统主要由以下几部分组成:

  • 自主漂流浮标:Argo浮标能够自动下潜到2000米深度,测量温度和盐度,并将数据通过卫星传回地面。目前已有超过3000个浮标部署在全球海洋。
  • 数据中心:收集和处理Argo浮标传回的数据,并在24小时内免费开放给全球用户。主要包括美国和法国的全球数据中心以及各国的区域数据中心。
  • 国际合作:Argo计划由30多个国家共同参与,承担浮标部署、数据处理和共享等责任。这种国际合作确保了Argo系统的持续运行和数据的广泛应用。

Argo数据应用#

Argo浮标每10天从2000米的深度进行一次垂直剖面测量。Argo采集的数据使得全球海洋空间覆盖达到了前所未有的水平,在深度超过2000米的全球海洋中,约每3度经纬度就有一个浮标。这些宝贵的数据在海洋和气候研究中发挥着关键作用。监测气候变化:Argo数据可用于分析海洋热含量变化、海平面上升等气候变化指标。改善天气预报:Argo数据有助于改善海洋模式,从而提高天气和气候预报的准确性。支持海洋管理:Argo数据为渔业、海事等领域提供重要的海洋环境信息。促进科学研究:Argo数据已被用于发表超过5000篇学术论文,推动了海洋学、气候学等多个学科的发展。下图显示了自2004年以来通过Argo观测的全球海洋温度异常,深度达到1900米。虽然上层约600米的温度会因厄尔尼诺-南方涛动等短期气候事件而波动,但更深的水域显示出持续的变暖趋势。这种深层信号表明地球气候总体上正在变暖。
除了观测海水温度,Argo盐度数据还可以用于量化与气候变化相关的水文循环变化。温暖的空气能够容纳和运输更多的水分,这意味着随着全球平均温度的上升,现有的蒸发和降水模式将会加剧。这将导致干旱地区干旱风险增加,而湿润地区则面临洪水风险。海洋表面是观察水文循环加剧的一个良好场所,因为海表盐度反映了蒸发(增加盐度)与降水(降低盐度)之间的局部平衡。以下动画展示了自2004年起的每月Argo盐度数据,以及每月的年际异常(当前月份盐度与该月份历史平均盐度之间的差异)。与历史数据相比,Argo观测显示咸水区域的盐度明显增加,而淡水区域的盐度则有所下降。

处理分析Argo数据的python库:argopy#

本文介绍一个支持Argo数据访问、操作和可视化功能的Python库:argopy。argopy可以简化从任何来源获取Argo数据的流程,并为用户提供数据可视化和操作工具。

argopy可以通过conda安装:

conda install -c conda-forge argopy

或者通过pip安装:

pip install argopy

安装最新版本:

pip install git+http://github.com/euroargodev/argopy.git@maste

1. Argo数据获取argopy通过三种方式提供简单的Argo数据获取API:通过空间/时间域(使用区域访问点);针对一个或多个特定浮标(通过浮标访问点提供其唯一的WMO编号);针对一个或多个浮标剖面(使用剖面访问点)。

import argopy

ds = argopy.DataFetcher().region([-75, -45, 20, 30, 0, 10, ‘2011-01’, ‘2011-06’])
ds.plot(‘trajectory’, add_legend=False

2. Argo数据处理

argopy提供丰富的数据过滤和选择功能,可以满足普通用户和专业用户的不同需求,支持对数据进行点、剖面、插值、分箱等操作。

例如,针对剖面观测数据集,可以使用Dataset.argo.interp_std_levels()在标准层上进行插值。

3. Argo数据可视化

argopy提供丰富的可视化功能,支持绘制如轨迹图、地形图、直方图、散点图、剖面图以及创建argo数据仪表板(Dashboard)应用。

  • 浮标轨迹图

from argopy import DataFetcher
from argopy import ArgoIndex
from argopy import ArgoNVSReferenceTables
from argopy import ArgoColors
from argopy.plot import scatter_map, scatter_plot

WMO = 6901773
f = DataFetcher(ds=‘bgc’, mode=‘expert’, params=‘all’).float(WMO).load()

scatter_map(f.index, set_global=False)

  • 时间序列图

ds=f.data
fig, ax = scatter_plot(ds, ‘TEMP’, this_x=‘CYCLE_NUMBER’)
ax.set_title(“%s from Float %i (‘%s’ mission)” % (‘TEMP’, WMO, f.mission), fontdict={‘weight’: ‘bold’, ‘size’: 14})

ds=f.data
fig, ax = scatter_plot(ds, ‘PSAL’, cmap=cmocean.cm.haline, vmin=38.75, vmax=39.5)
ax.set_title(“%s from Float %i (‘%s’ mission)” % (‘PSAL’, WMO, f.mission), fontdict={‘weight’: ‘bold’, ‘size’: 14})

  • 数据应用DashBoard

argopy.dashboard()

传入指定浮标的WMO编号,展示该浮标的数据情况:

argopy.dashboard(5904797)

传入指定浮标的WMO编号和下潜顺序号,展示该浮标获取的剖面数据情况:

argopy.dashboard(6902746, 12)

可视化生物地球化学Argo浮标参数剖面数据情况:

argopy.dashboard(5903248, 3, type=‘bgc’)

argopy使用手册(Cheat Sheet)#

本公众号相关内容推荐#


title: “CarbonPlan发布全球降尺度气候数据产品” published: 2022-07-04 description: “CarbonPlan发布了一套基于CMIP6数据集应用降尺度方法研发的数据产品。他们使用了来自CMIP6的多达六个全球气候模型的气候变化模拟和三种不同的未来排放情景,并应用了四种不同的降尺度方法,包括MACA、DeepSD和GARD。” image: “/images/CarbonPlan发布全球降尺度气候数据产品/img_9c2a8364.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#

气候影响和风险评估在很大程度上依赖于全球气候模型(GCMs)。然而,由于原始形式的全球气候模型的空间尺度太粗或包含一定的误差,使得它们很少能直接用于影响评估。

      科学家通常采用一种被称为”降尺度(Downscaling)“的方法来生成高分辨率气候数据集产品。一般而言,统计降尺度是指“训练”一个关于历史时期内全球气候模型(GCM)和观测数据集之间统计关系的模型,然后应用该模型来生成未来预测,经过降尺度技术形成的数据可以为下游的气候影响和风险评估模型提供输入。

      非营利研究组织CarbonPlan发布了一套基于CMIP6数据集应用降尺度方法研发的数据产品。他们使用了来自CMIP6的多达六个全球气候模型的气候变化模拟和三种不同的未来排放情景,并应用了四种不同的降尺度方法,包括MACA、DeepSD和GARD的两个方案。

      降尺度包括两个步骤,首先,训练一个转换全球气候模式数据的模型,以便生成与历史时期内参考数据集的选定属性最佳匹配的降尺度数据(Training),其次,使用该模型来生成未来的降尺度数据(Prediction)。

    该数据集包括截至21世纪末全球日最高和最低温度以及降水的预测,分辨率为全球0.25度(约25公里x25公里)。

    由于数据集大小约百TB,CarbonPlan同步发布了一个基于Web浏览器的数据检索和分析工具,数据以Zarr格式存储在微软Azure云平台。

降尺度方法实现代码:

https://github.com/carbonplan/cmip6-downscaling

数据产品地址:

https://github.com/carbonplan/cmip6-downscaling/blob/main/datasets.md

Reference:

O Chegwidden, R Hagen, K Martin, M Jones, A Banihirwe, C Chiao, S Frank, J Freeman, J Hamman (2022) “Open data and tools for multiple methods of global climate downscaling” CarbonPlan

https://carbonplan.org/research/cmip6-downscaling-explainer====Claude-Code完全使用指南.md====#

title: “Claude Code完全使用指南” published: 2026-02-15 description: “点击下面卡片,快速关注本公众号一、先思考,再动手先思考再动手:正确方式 vs 错误方式大多数人拿到 Cla” image: “/images/Claude-Code完全使用指南/img_373ed8f5.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#

一、先思考,再动手#

先思考再动手:正确方式 vs 错误方式

大多数人拿到 Claude Code 的第一反应就是开始打字。但这恰恰是最大的错误。

你要做的第一件事是:思考。

使用 Plan Mode(按两次 Shift + Tab 进入)的输出质量,远远超过直接开始对话。这不是微小的差距,而是质的飞跃。

如果你缺乏架构经验,有两个建议:

  1. 1. 开始学习:哪怕每次只学一点,长期下来也是巨大的优势
  2. 2. 与 LLM 深度对话:先用 ChatGPT/Gemini/Claude 讨论你要构建的东西,让它列出各种系统设计方案,你们双向提问,最终达成共识

架构的重要性#

模糊的输入 = 模糊的输出。对比一下:

差的提示词好的提示词
”帮我建一个认证系统""使用现有的 User 模型构建邮箱/密码认证,用 Redis 存储 session 并设置 24 小时过期,添加中间件保护 /api/protected 下的所有路由”

Plan Mode 花 5 分钟,能省你几个小时的调试时间。


二、用好 CLAUDE.md#

CLAUDE.md 是你项目的”新员工入职手册”。每次开启对话,Claude 都会先读它。

写好 CLAUDE.md 的四个原则#

1. 保持简短

Claude 一次能可靠遵循约 150-200 条指令,而系统提示词已经占了约 50 条。你的 CLAUDE.md 不能是一本小说,否则 Claude 会随机忽略内容。

2. 只写项目特有的内容

不需要解释”什么是 components 文件夹”。Claude 知道。告诉它那些奇怪的、项目特有的东西——比如关键的 bash 命令、独特的工作流。

3. 说”为什么”,而不只是”做什么”

一般更好
”使用 TypeScript strict 模式""使用 TypeScript strict 模式,因为我们曾因隐式 any 类型出过生产事故”

给出原因后,Claude 在面对你没预料到的情况时,也能做出更好的判断。

4. 持续更新

在对话中按 # 键,Claude 会自动向 CLAUDE.md 添加指令。每次你发现自己在纠正 Claude 同一个错误两次,就该把它写进去。

CLAUDE.md 四大核心原则

差的 CLAUDE.md 像写给新员工的文档。好的 CLAUDE.md 像你知道明天会失忆时给自己留的笔记。


三、理解上下文窗口的局限#

上下文窗口质量退化曲线

Opus 4.5 有 200K token 的上下文窗口,但关键是:质量在使用到 20-40% 时就开始下降,远在窗口耗尽之前。

这就是为什么有时 /compact 压缩后输出仍然很差——模型在压缩前已经退化了。

应对策略#

上下文管理四大策略

策略一:限定对话范围

一个对话只做一件事。不要在同一个对话里既构建认证系统又重构数据库层。上下文会互相污染。

策略二:使用外部记忆

让 Claude 把计划和进度写入文件(如 SCRATCHPAD.md 或 plan.md)。这些文件跨会话持久化,明天回来时 Claude 能接着干。

策略三:复制-粘贴重置法(核心技巧)

当上下文膨胀时:

    1. 从终端复制所有重要内容
    1. 运行 /compact 获取摘要
  1. 3. /clear 完全清空上下文
    1. 只粘贴回关键信息

新鲜的上下文 + 关键信息 = 远好于让 Claude 在退化的上下文中挣扎。

策略四:敢于清空

/clear 后 Claude 仍然有你的 CLAUDE.md,你不会丢失项目上下文。十次里有九次,清空重来比硬撑更好。

核心心智模型:Claude 是无状态的。每次对话从零开始,除了你显式提供的内容。据此规划。


四、提示词就是一切#

人们花几周学框架和工具,却完全不花时间学习如何与生成代码的 AI 沟通。

提示词质量对比:模糊输入 vs 精确输入

实用的提示技巧#

1. 具体说明你要什么

给 Claude 一个清晰的目标,而不是创造性发挥的空间。

2. 告诉它”不要做什么”

Claude(尤其是 4.5 版本)倾向于过度工程——多余的文件、不必要的抽象。明确说”保持简单,不要添加我没要求的抽象,尽量一个文件搞定。”

3. 给出”为什么”的上下文

  • • “这个需要很快,因为每个请求都会执行它” → 改变 Claude 的优化方向
  • • “这是原型,以后会扔掉” → 改变 Claude 的取舍策略

4. 始终交叉验证

AI 是来加速我们的,不是完全替代我们的。Claude 仍会犯错。能识别这些错误,才是真正解决问题的关键。

记住:输出 = f(输入)。如果输出很差,那是输入的问题。


五、模型选择与切换策略#

如果你用好模型还是得到差输出,问题在于你的提示方式,不在模型。

Sonnet vs Opus#

特性SonnetOpus
速度更快更慢
成本更低更高
适合场景执行类任务:写模板代码、按计划重构、实现已确定架构的功能复杂推理、规划、需要深度思考权衡的任务

推荐工作流#

Opus + Sonnet 协作工作流

用 Opus 做规划和架构决策,然后切换到 Sonnet(在 Claude Code 中按 Shift+Tab)做实现。 CLAUDE.md 确保两个模型在相同约束下运行,切换是无缝的。


六、善用 MCP、Hooks 和自定义命令#

Claude Code 工具生态三大组件

MCP(模型上下文协议)#

让 Claude 连接外部服务:Slack、GitHub、数据库、API。如果你总是手动从某处复制信息粘贴给 Claude,很可能有个 MCP Server 能自动完成。

Hooks#

在 Claude 修改前后自动运行代码:

  • • 每次文件修改后自动运行 Prettier 格式化
  • • 每次编辑后自动类型检查
  • • 每一定行数后自动清理代码,减少技术债务

自定义斜杠命令#

创建 .claude/commands 文件夹,添加 markdown 文件即可。适合重复性任务:调试、审查、部署等。

 

七、Skills:让 Claude 掌握专业技能#

Skills(技能)是 Claude Code 最强大但最被低估的功能。如果说 CLAUDE.md 是给 Claude 的”入职手册”,那么 Skills 就是给它的专业培训课程——可复用、可分享、可组合的模块化指令集。

什么是 Skills?#

Skills 是自包含的指令目录,教 Claude 如何完成特定的专业任务。每个 Skill 至少包含一个 SKILL.md 文件(YAML 元数据 + Markdown 指令),还可以包含模板、脚本、参考文档等资源文件。

Skills 遵循 Agent Skills 开放标准(agentskills.io),不仅适用于 Claude Code,也适用于 Claude.ai、Claude API 和 Claude Agent SDK。OpenAI 的 Codex CLI 也采用了同一标准。

自 Claude Code v2.1.3 起,Skills 和自定义斜杠命令已合并为统一系统.claude/commands/review.md 和 .claude/skills/review/SKILL.md 都会注册为 /review 命令,效果相同。

目录结构#

.claude/skills/my-skill/
├── SKILL.md           # 核心指令文件(必需)
├── references/        # 按需加载的参考文档
│   └── api-docs.md
├── scripts/           # Claude 可执行的脚本
│   └── validate.sh
├── templates/         # 输出模板
│   └── report.md
└── assets/            # 资源文件(不加载到上下文)
    └── logo.png

SKILL.md 格式#

---
name: code-review
description: >
  审查代码变更,检查 bug、安全漏洞和代码质量。
  当用户说"审查代码"、"review"、"检查 PR"时使用。
user-invocable: true
allowed-tools: Read, Grep, Bash(git diff *)
---
# 代码审查指令
## 审查步骤
1. 读取变更文件列表
2. 逐文件检查逻辑错误和安全问题
3. 输出结构化报告
## 审查重点
- SQL 注入、XSS 等安全漏洞
- 边界条件和错误处理
- 性能影响

三级渐进加载#

这是 Skills 的关键架构设计——不是所有内容都会占用上下文窗口

层级加载时机Token 开销内容
Level 1:元数据启动时自动加载~100 tokens/技能name + description
Level 2:指令触发时加载<5000 tokensSKILL.md 正文
Level 3:资源按需加载无上限脚本直接执行,参考文档按需读取

这意味着你可以安装几十个 Skills 而不会拖垮上下文窗口。Claude 只在需要时才加载完整指令。

Skills 的存放位置#

位置路径作用域
个人级~/.claude/skills/所有项目共享
项目级.claude/skills/仅当前项目
企业级组织托管设置全组织统一

个人级技能适合放通用工具(如代码审查、文档生成),项目级技能适合放项目特有的工作流。

调用方式#

Skills 有两种触发方式:

配置用户 /调用Claude 自动调用
默认可以可以(根据 description 匹配)
disable-model-invocation: true可以不可以(适合有副作用的操作)
user-invocable: false不可以可以(适合后台知识补充)

Claude 的技能选择完全依赖自然语言理解——没有算法路由或 Embedding 匹配,而是 Claude 阅读所有技能的 description,用推理能力判断哪个技能适用。

官方与社区生态#

Anthropic 提供了官方技能仓库(GitHub Stars 6.9 万+),社区生态也在快速发展:

来源内容
anthropics/skills官方:文档技能(PPTX/XLSX/DOCX/PDF)、示例技能、skill-creator 元技能
awesome-claude-skills社区精选列表:TDD、调试、浏览器自动化、数据可视化等
SkillsMP社区市场:20 万+可搜索的 Agent Skills
obra/superpowers20+ 实战技能:测试驱动开发、系统调试、代码审查、Git 工作流等

安装官方技能:

# 通过插件系统安装
/plugin marketplace add anthropics/skills
/plugin install document-skills@anthropic-agent-skills

编写好 Skills 的原则#

原则说明
精简优先SKILL.md 控制在 500 行以内,详细参考放 references/
Description 写好触发词这是 Claude 匹配技能的唯一依据,要包含用户可能说的关键词
控制自由度关键操作用具体脚本(低自由度),创意任务用文字描述(高自由度)
有副作用的操作加锁部署、发布、发消息等操作设置 disable-model-invocation: true
善用 allowed-tools限制技能可用的工具,防止意外操作

Skills 的本质是把你反复告诉 Claude 的事情固化下来,让它变成可复用的”肌肉记忆”。 每次你发现自己在给 Claude 重复同样的指令,就该写一个 Skill。



八、当 Claude 卡住时怎么办#

Claude 有时会陷入循环——反复尝试同一种方法然后失败。这时候不要继续施压,而是改变方法

  1. 1. 清空对话 — /clear 获得全新起点
  2. 2. 简化任务 — 拆成更小的独立步骤,逐个搞定再组合
  3. 3. 展示而非描述 — 自己写一个最小示例:“输出应该长这样,把这个模式应用到其他地方”
  4. 4. 换个角度 — 换一种框架描述问题(“实现成状态机” vs “处理这些转换”),可能打开新思路

核心技能:尽早识别你已进入循环。如果解释了三遍 Claude 还不理解,更多解释不会有帮助。改变策略。


九、构建系统,而非单次对话#

真正发挥 Claude Code 价值的人,不是拿它做一次性任务,而是把它变成系统的一部分。

Headless 模式(-p 标志)#

claude -p "你的提示词"

运行提示词并直接输出结果,不进入交互界面。这意味着你可以:

  • • 编写脚本调用
  • • 管道输出到其他工具
  • • 与 bash 命令链式组合
  • • 集成到自动化工作流

企业级应用场景#

  • • 自动 PR 审查
  • • 自动客服工单响应
  • • 自动日志和文档更新
  • • 所有操作可记录、可审计

飞轮效应#

持续改进飞轮效应

Claude 犯错 → 你审查日志 → 改进 CLAUDE.md 或工具 → Claude 下次表现更好 → 持续积累,越来越强

如果你只在交互式界面使用 Claude,你还没释放它的全部价值。想想你的工作流中,哪些环节可以让 Claude 在后台自动运行。


总结#

原则要点
先思考再打字Plan Mode 产出远优于即兴输入
写好 CLAUDE.md简短、具体、说原因、持续更新
管理上下文30% 就开始退化,善用外部记忆和清空重置
架构优先跳过规划 = 输出质量差
提升输入质量输出差 = 输入差,提升沟通能力
尝试所有工具MCP、Hooks、斜杠命令,保持好奇心
卡住时换方法不要循环,清空、简化、展示、换角度
构建系统Headless 模式 + 自动化 + 持续改进

---====Copernicus-Marine-Service哥白尼海洋数据产品与服务.md====#

title: “Copernicus Marine Service哥白尼海洋数据产品与服务” published: 2026-01-24 description: “点击下面卡片,快速关注本公众号Copernicus Marine Service(哥白尼海洋服务)是欧盟哥白” image: “/images/Copernicus-Marine-Service哥白尼海洋数据产品与服务/img_20c43ac8.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#

Copernicus Marine Service(哥白尼海洋服务)是欧盟哥白尼计划的海洋组成部分,由欧盟委员会资助,Mercator Ocean International负责实施运营。该服务提供免费、开放获取、基于科学的全球和区域海洋状态信息,是目前全球最权威、最全面的海洋数据服务平台之一。本文将详细介绍其Marine Data Store提供的数据产品类型、数据访问方式以及相关服务工具。

一、数据产品概览#

1.1 产品规模#

目前Copernicus Marine Data Store提供304个数据产品,涵盖三大海洋数据类别:

  • • 蓝色海洋(Blue Ocean):物理海洋数据,包括温度、盐度、海流、海平面等
  • • 白色海洋(White Ocean):海冰数据,包括海冰范围、厚度、漂移速度等
  • • 绿色海洋(Green Ocean):生物地球化学数据,包括浮游生物、营养盐、氧气、碳循环等

1.2 数据来源类型#

根据数据生产方式,产品分为三种类型:

数值模型产品(Numerical Models):基于海洋数值模型的分析和预报数据。典型产品如Global Ocean Physics Analysis and Forecast,提供全球海洋物理分析和10天预报,空间分辨率达1/12度(约9公里),覆盖50个垂直层次。

卫星观测产品(Satellite Observations):基于遥感卫星的海洋观测数据,包括海表温度(SST)、海面高度、海洋颜色等。例如SST_GLO_SST_L4_NRT_OBSERVATIONS_010_001提供全球海表温度的近实时观测。

现场观测产品(In-situ Observations):来自浮标、船舶、Argo剖面浮标等海洋观测设备的实测数据。INSITU_GLO_PHYBGCWAV_DISCRETE_MYNRT_013_030产品整合了全球现场观测数据。

1.3 核心变量覆盖#

数据产品涵盖的主要海洋变量包括:

物理变量方面,产品提供海水温度(温度剖面与海表温度)、盐度、海流(三维流速)、海平面高度、混合层深度以及波浪参数等。生物地球化学变量方面,涵盖叶绿素浓度、初级生产力、溶解氧、营养盐(氮、磷、硅)、碳酸盐系统参数(pH值、碱度)以及浮游生物等。海冰变量则包括海冰覆盖范围、海冰厚度、海冰漂移速度和海冰表面温度等。

1.4 时空覆盖范围#

在空间覆盖方面,产品分为全球产品和区域产品两类。全球产品覆盖全球海洋,而区域产品则聚焦特定海域,包括北极海域(Arctic)、波罗的海(Baltic Sea)、黑海(Black Sea)、伊比利亚-比斯开-爱尔兰海域(IBI)、地中海(Mediterranean Sea)以及西北欧陆架海域(Northwest Shelf)。

时间覆盖方面,历史再分析产品可追溯至1993年,近实时产品提供当前观测,预报产品则提供未来10天的预测数据。

时间分辨率从亚小时级、小时级、日均到月均不等,空间分辨率从1/12度到1/4度不等。

二、热门数据产品#

2.1 全球海洋物理分析和预报产品#

该产品(GLOBAL_ANALYSISFORECAST_PHY_001_024)是平台最受欢迎的产品之一,由Mercator Ocean International的业务化全球海洋分析预报系统生成。

该产品的技术规格包括:空间分辨率为0.083°×0.083°(约9公里),垂直分辨率为50层(从海面到5500米深度),时间分辨率提供小时、日均和月均三种选项,时间覆盖从2020年11月至今并持续更新。

产品包含的变量涵盖海水温度、盐度、海流(东向和北向分量)、海面高度、混合层深度以及海冰参数等。值得一提的是,该产品还提供一个特殊的SMOC数据集,整合了波浪和潮汐漂移的表面海流数据。

2.2 全球海洋生物地球化学分析和预报#

GLOBAL_ANALYSISFORECAST_BGC_001_028产品提供全球海洋生态系统的分析和预报数据,空间分辨率为0.25°×0.25°,时间分辨率为日均和月均,涵盖浮游生物、营养盐、溶解氧、碳酸盐系统和光学参数等变量。

2.3 全球海洋物理再分析#

GLOBAL_MULTIYEAR_PHY_001_030产品提供从1993年至今的历史再分析数据,是研究海洋长期变化趋势的重要数据源,采用与预报产品相同的空间分辨率,确保数据的一致性。


三、数据访问方式#

3.1 图形界面访问#

MyOcean可视化工具是平台提供的在线可视化工具,分为三个版本:MyOcean Light面向初学者,MyOcean Learn面向中级用户,MyOcean Pro面向高级用户。用户无需注册即可使用基础功能,注册后可解锁数据子集和下载功能。该工具支持4D(经度、纬度、深度、时间)数据展示,采用针对色盲友好的配色方案。

数据子集服务(Subset)允许用户通过图形界面选择数据的时间范围、空间范围、深度层次和变量组合,然后下载定制化的数据子集。

文件浏览服务(Files)提供类似FTP的文件浏览界面,用户可以直接下载原始数据文件。

3.2 编程访问#

Copernicus Marine Toolbox是官方提供的Python工具包,支持命令行(CLI)和Python API两种使用方式。主要功能包括数据目录浏览、数据子集下载、原始文件获取以及远程数据流式访问(支持xarray延迟加载)。

安装方式可通过pip或conda完成:

pip install copernicusmarine
# 或
conda install -c conda-forge copernicusmarine

使用示例如下,通过CLI下载数据:

copernicusmarine subset \\
  --dataset-id cmems_mod_glo_phy_anfc_0.083deg_P1D-m \\
  --variable thetao \\
  --start-datetime 2024-01-01 \\
  --end-datetime 2024-01-31 \\
  --minimum-longitude -10 \\
  --maximum-longitude 10 \\
  --minimum-latitude 35 \\
  --maximum-latitude 45

通过Python API访问:

import copernicusmarine
# 下载数据子集
copernicusmarine.subset(
    dataset_id="cmems_mod_glo_phy_anfc_0.083deg_P1D-m",
    variables=["thetao"],
    start_datetime="2024-01-01",
    end_datetime="2024-01-31"
)
# 远程流式访问(延迟加载)
ds = copernicusmarine.open_dataset(
    dataset_id="cmems_mod_glo_phy_anfc_0.083deg_P1D-m"
)

OGC标准服务方面,平台提供WMTS(Web Map Tile Service)用于地图可视化,支持在QGIS等GIS软件中直接加载数据图层。每个数据集都提供对应的WMTS端点URL。

元数据服务提供CSW(Catalogue Service for the Web)接口,允许程序化访问数据目录元数据。

3.3 数据格式#

支持的数据格式包括NetCDF-3和NetCDF-4,这是海洋和大气科学领域的标准数据格式。部分数据集还支持Zarr格式,更适合云端分析和流式访问。

四、海洋气候门户与监测指标#

4.1 Ocean Climate Portal#

Ocean Climate Portal(海洋气候门户)是面向公众的海洋健康状况展示平台,提供七大关键指标的可视化追踪:

  1. 1. 海表温度(SST):1982年至今上升约0.5°C
  2. 2. 海洋热含量:2005年以来持续增加,相当于1 W/m²的热通量
  3. 3. 海平面:1999年至今上升约9.3厘米
  4. 4. 海洋酸化:1985年至今pH值下降约0.07
  5. 5. 海洋碳吸收:1985-2023年累计吸收660亿千克碳
  6. 6. 北极海冰范围:1979年以来减少约220万平方公里
  7. 7. 南极海冰范围:高度可变,需持续监测

4.2 Ocean Monitoring Indicators#

平台维护近100个海洋监测指标(OMI),每年经过严格的计算和验证流程。这些指标包括各海域的SST趋势和异常、海平面变化、海冰传输量、温盐变化、极端事件统计以及大西洋经向翻转环流(AMOC)等。

五、质量保障与文档#

5.1 产品文档体系#

每个数据产品都配备完整的文档,包括PUM(Product User Manual,产品用户手册)介绍产品使用方法,QUID(Quality Information Document,质量信息文档)描述产品验证结果,SQO(Synthesis Quality Overview,质量综合概述)提供质量评估摘要。

5.2 质量监控#

Product Quality Dashboard(产品质量仪表板)提供月度科学性能和产品质量信息更新,用户可以追踪各产品的验证状态和精度指标。

六、应用场景#

Copernicus Marine Service的数据支持广泛的应用领域:

在海洋安全方面,应用包括海上搜救、船舶路径优化和海洋污染追踪。气候研究方面,支持海洋热含量变化监测、海平面上升评估和气候模式验证。海洋资源管理方面,涵盖渔业资源评估、海洋保护区规划和可再生能源选址。科学研究方面,广泛应用于海洋环流研究、生态系统建模和极端事件分析。公共服务方面,则包括海洋教育和沿海社区预警服务等。

七、总结#

Copernicus Marine Service Marine Data Store是一个功能完善、数据丰富的海洋数据平台。它提供超过300款涵盖物理、生化和海冰的数据产品,支持从图形界面到编程接口的多种访问方式,配备完整的质量保障和文档体系,完全免费开放获取,持续更新并不断增加新产品。

对于海洋科学研究人员、环境监测机构、蓝色经济从业者乃至对海洋感兴趣的普通公众,Copernicus Marine Service都是不可或缺的数据资源。通过其提供的工具和服务,用户可以便捷地获取高质量的海洋数据,支持科学研究和决策应用。

附录:数据产品分类列表#

一、现场观测产品(In-situ Observations)— 共36个#

1.1 全球现场观测产品#

产品ID产品名称主要要素时间分辨率空间范围时间范围
INSITU_GLO_PHYBGCWAV_DISCRETE_MYNRT_013_030全球海洋近实时综合现场观测温度、盐度、海面高度、流速、波浪、浮游生物、溶解氧瞬时全球2020.1-至今
INSITU_GLO_PHY_UV_DISCRETE_NRT_013_048全球海洋海流近实时现场观测温度、流速瞬时、小时全球1986.6-至今
INSITU_GLO_PHY_TS_OA_MY_013_052CORA延迟模式格点化现场观测温度、盐度全球(0.5°×187层)1960.1-2024.6
INSITU_GLO_PHY_TS_DISCRETE_MY_013_001CORA历史现场观测年度数据温度、盐度瞬时全球1950.1-2021.12
INSITU_GLO_BGC_DISCRETE_MY_013_046全球海洋延迟模式生物地球化学产品浮游生物、营养盐、溶解氧瞬时全球1841.3-2025.4
INSITU_GLO_BGC_CARBON_DISCRETE_MY_013_050全球海洋碳观测(SOCAT/GLODAP)碳酸盐系统瞬时全球1957.10-2025.1
INSITU_GLO_PHY_UV_DISCRETE_MY_013_044全球海洋延迟模式海流观测温度、流速瞬时全球1979.12-2025.7
INSITU_GLO_PHY_SSH_DISCRETE_MY_013_053全球海洋延迟模式海平面产品海面高度瞬时、小时全球1821.5-2025.1
INSITU_GLO_WAV_DISCRETE_MY_013_045全球海洋延迟模式波浪产品波浪瞬时全球1970.4-2025.1

1.2 区域现场观测产品#

产品ID产品名称主要要素时间分辨率空间范围
INSITU_ARC_PHYBGCWAV_DISCRETE_MYNRT_013_031北极海洋近实时现场观测温度、盐度、海面高度、流速、波浪、浮游生物、溶解氧瞬时北极
INSITU_BAL_PHYBGCWAV_DISCRETE_MYNRT_013_032波罗的海近实时现场观测温度、盐度、海面高度、流速、波浪、浮游生物、溶解氧瞬时波罗的海
INSITU_BLK_PHYBGCWAV_DISCRETE_MYNRT_013_034黑海近实时现场观测温度、盐度、海面高度、流速、波浪、浮游生物、溶解氧瞬时黑海
INSITU_IBI_PHYBGCWAV_DISCRETE_MYNRT_013_033伊比利亚-比斯开-爱尔兰海域近实时现场观测温度、盐度、海面高度、流速、波浪、浮游生物、溶解氧瞬时IBI区域
INSITU_MED_PHYBGCWAV_DISCRETE_MYNRT_013_035地中海近实时现场观测温度、盐度、海面高度、流速、波浪、浮游生物、溶解氧瞬时地中海
INSITU_NWS_PHYBGCWAV_DISCRETE_MYNRT_013_036西北欧陆架近实时现场观测温度、盐度、海面高度、流速、波浪、浮游生物、溶解氧瞬时西北欧陆架

二、卫星观测产品(Satellite Observations)— 共183个#

2.1 海平面高度产品#

产品ID产品名称处理级别时间分辨率空间分辨率时间范围
SEALEVEL_GLO_PHY_L4_NRT_008_046全球海平面近实时L4产品L40.25°近实时
SEALEVEL_GLO_PHY_L3_NRT_008_044全球海平面近实时L3产品L3沿轨迹近实时
SEALEVEL_GLO_PHY_L4_MY_008_047全球海平面历史再分析L4产品L40.25°1993-至今
SEALEVEL_EUR_PHY_L4_NRT_008_060欧洲海平面近实时L4产品L40.125°近实时
SEALEVEL_GLO_PHY_MDT_008_063全球平均动力地形静态-0.125°气候态

2.2 海洋颜色/生物地球化学产品#

产品ID产品名称处理级别时间分辨率空间分辨率
OCEANCOLOUR_GLO_BGC_L3_NRT_009_101全球海洋颜色L3近实时日数据L34×4 km
OCEANCOLOUR_GLO_BGC_L4_NRT_009_102全球海洋颜色L4近实时产品L4日、月4×4 km
OCEANCOLOUR_GLO_BGC_L3_MY_009_103全球GlobColour历史L3日数据L34×4 km
OCEANCOLOUR_GLO_BGC_L4_MY_009_104全球GlobColour历史L4产品L4日、月4×4 km
OCEANCOLOUR_GLO_BGC_L3_MY_009_107全球CCI海洋颜色历史L3日数据L34×4 km
OCEANCOLOUR_MED_BGC_HR_L3_NRT_009_205地中海高分辨率海洋颜色L3L30.1×0.1 km
OCEANCOLOUR_BAL_BGC_HR_L3_NRT_009_202波罗的海高分辨率海洋颜色L3L30.1×0.1 km
OCEANCOLOUR_ARC_BGC_HR_L3_NRT_009_201北极高分辨率海洋颜色L3L30.1×0.1 km

2.3 海表温度产品#

产品ID产品名称处理级别时间分辨率空间分辨率
SST_GLO_SST_L4_NRT_OBSERVATIONS_010_001全球海表温度近实时L4产品L40.05°
SST_GLO_SST_L3S_NRT_OBSERVATIONS_010_010全球海表温度近实时L3S产品L3S-
SST_GLO_SST_L4_REP_OBSERVATIONS_010_024全球海表温度历史L4产品L40.05°
SST_GLO_PHY_L3S_MY_010_039全球海表温度历史L3S产品L3S-
SST_MED_SST_L4_NRT_OBSERVATIONS_010_004地中海海表温度近实时L4产品L40.01°
SST_BAL_SST_L4_NRT_OBSERVATIONS_010_007_b波罗的海海表温度近实时L4产品L40.01°

2.4 海冰产品#

产品ID产品名称处理级别时间分辨率空间分辨率
SEAICE_GLO_SEAICE_L4_NRT_OBSERVATIONS_011_001全球海冰近实时L4产品L425 km
SEAICE_GLO_PHY_L4_NRT_011_014全球海冰物理近实时产品L4-
SEAICE_ARC_SEAICE_L4_NRT_OBSERVATIONS_011_002北极海冰近实时L4产品L410 km
SEAICE_ARC_PHY_AUTO_L3_MYNRT_011_023北极海冰自动分析L3产品L3-
SEAICE_BAL_SEAICE_L4_NRT_OBSERVATIONS_011_004波罗的海海冰近实时L4产品L41 km

2.5 海面风场产品#

产品ID产品名称处理级别时间分辨率空间分辨率
WIND_GLO_PHY_L3_NRT_012_002全球海面风L3近实时产品L36小时0.25°
WIND_GLO_PHY_L4_NRT_012_004全球海面风L4近实时产品L46小时0.25°
WIND_GLO_PHY_L3_MY_012_005全球海面风L3历史产品L36小时0.25°
WIND_MED_PHY_HR_L3_NRT_012_104地中海高分辨率海面风L3产品L3高分辨率
WIND_BAL_PHY_HR_L3_NRT_012_102波罗的海高分辨率海面风L3产品L3高分辨率

2.6 波浪产品#

产品ID产品名称处理级别时间分辨率空间分辨率
WAVE_GLO_PHY_SWH_L3_NRT_014_001全球有效波高L3近实时产品L3-沿轨迹
WAVE_GLO_PHY_SWH_L4_NRT_014_003全球有效波高L4近实时产品L4-
WAVE_GLO_PHY_SPC-FWK_L3_NRT_014_002全球波谱L3近实时产品L3-沿轨迹
WAVE_GLO_PHY_SWH_L3_MY_014_005全球有效波高L3历史产品L3-沿轨迹

2.7 多源融合产品#

产品ID产品名称数据来源时间分辨率空间分辨率
MULTIOBS_GLO_PHY_TSUV_3D_MYNRT_015_012ARMOR3D全球三维温盐流产品现场+卫星+模型日、月0.125°
MULTIOBS_GLO_PHY_UVW_3D_MYNRT_015_007OMEGA3D全球三维准地转流产品现场+卫星+模型0.25°×75层
MULTIOBS_GLO_BGC_SURFACE_NRT_015_016浮游马尾藻探测指数卫星亚小时、日、周0.01°
MULTIOBS_GLO_PHY_MYNRT_015_003全球多源物理融合产品现场+卫星+模型--
BATHYMETRY_GLO_PHY_COASTAL_L4_MY_016_001全球沿岸卫星水深测量卫星静态100×100 m

三、数值模型产品(Numerical Models)— 共102个#

3.1 全球物理海洋模型#

产品ID产品名称空间分辨率垂向层数时间分辨率时间范围主要要素
GLOBAL_ANALYSISFORECAST_PHY_001_024全球海洋物理分析预报0.083°×0.083°50层小时、日、月2020.11-预报10天温度、盐度、海面高度、流速、混合层深度、海冰
GLOBAL_MULTIYEAR_PHY_001_030全球海洋物理再分析0.083°×0.083°50层日、月1993.1-至今温度、盐度、海面高度、流速、混合层深度、海冰
GLOBAL_MULTIYEAR_PHY_ENS_001_031全球海洋物理集合再分析0.25°×0.25°75层日、月1993.1-2024.12温度、盐度、海面高度、流速、混合层深度、海冰
GLOBAL_ANALYSISFORECAST_WAV_001_027全球海洋波浪分析预报0.2°×0.2°-小时近实时-预报10天波浪参数、流速
GLOBAL_MULTIYEAR_WAV_001_032全球海洋波浪再分析0.2°×0.2°-小时、月1980.1-至今波浪参数、流速

3.2 全球生物地球化学模型#

产品ID产品名称空间分辨率垂向层数时间分辨率时间范围主要要素
GLOBAL_ANALYSISFORECAST_BGC_001_028全球海洋生物地球化学分析预报0.25°×0.25°50层日、月2021.10-预报10天浮游生物、营养盐、溶解氧、碳酸盐系统、光学参数
GLOBAL_MULTIYEAR_BGC_001_029全球海洋生物地球化学回顾分析0.25°×0.25°75层日、月1993.1-至今浮游生物、营养盐、溶解氧、碳酸盐系统
GLOBAL_MULTIYEAR_BGC_001_033全球海洋中低营养级生物量回顾分析0.083°×0.083°3层1998.1-2024.12温度、流速、浮游生物、光学参数

3.3 北极区域模型#

产品ID产品名称空间分辨率垂向层数时间分辨率主要要素
ARCTIC_ANALYSISFORECAST_PHY_002_001北极海洋物理分析预报6.25×6.25 km40层小时、日、月温度、盐度、流速、海面高度、海冰
ARCTIC_ANALYSIS_FORECAST_WAV_002_014北极海洋波浪分析预报3×3 km-小时波浪、流速、海冰
ARCTIC_ANALYSISFORECAST_BGC_002_004北极海洋生物地球化学分析预报6.25×6.25 km40层日、月浮游生物、有机碳、营养盐、溶解氧、碳酸盐系统
ARCTIC_ANALYSISFORECAST_PHY_ICE_002_011北极海冰分析预报3×3 km-小时、月海冰参数
ARCTIC_ANALYSISFORECAST_PHY_TIDE_002_015北极潮汐分析预报3×3 km-亚小时潮汐
ARCTIC_MULTIYEAR_PHY_002_003北极海洋物理再分析12.5×12.5 km40层日、月海冰
ARCTIC_MULTIYEAR_WAV_002_013北极海洋波浪回顾分析3×3 km-小时波浪、流速、海冰

3.4 波罗的海区域模型#

产品ID产品名称空间分辨率时间分辨率主要要素
BALTICSEA_ANALYSISFORECAST_PHY_003_006波罗的海物理分析预报~1 km小时、日、月温度、盐度、流速、海面高度
BALTICSEA_ANALYSISFORECAST_WAV_003_010波罗的海波浪分析预报~1 km小时波浪
BALTICSEA_ANALYSISFORECAST_BGC_003_007波罗的海生物地球化学分析预报~1 km日、月生物地球化学参数
BALTICSEA_MULTIYEAR_PHY_003_011波罗的海物理再分析~1 km日、月温度、盐度、流速
BALTICSEA_MULTIYEAR_WAV_003_015波罗的海波浪再分析~1 km小时波浪

3.5 黑海区域模型#

产品ID产品名称空间分辨率时间分辨率主要要素
BLKSEA_ANALYSISFORECAST_PHY_007_001黑海物理分析预报~2.5 km小时、日、月温度、盐度、流速、海面高度
BLKSEA_ANALYSISFORECAST_WAV_007_003黑海波浪分析预报~2.5 km小时波浪
BLKSEA_ANALYSISFORECAST_BGC_007_010黑海生物地球化学分析预报~2.5 km日、月生物地球化学参数
BLKSEA_MULTIYEAR_PHY_007_004黑海物理再分析~2.5 km日、月温度、盐度、流速

3.6 地中海区域模型#

产品ID产品名称空间分辨率垂向层数时间分辨率主要要素
MEDSEA_ANALYSISFORECAST_PHY_006_013地中海物理分析预报0.042°×0.042°141层亚小时、小时、日、月温度、盐度、流速、海面高度、混合层深度
MEDSEA_ANALYSISFORECAST_WAV_006_017地中海波浪分析预报~2.5 km-小时波浪
MEDSEA_ANALYSISFORECAST_BGC_006_014地中海生物地球化学分析预报~4 km-日、月生物地球化学参数
MEDSEA_MULTIYEAR_PHY_006_004地中海物理再分析0.042°×0.042°141层日、月温度、盐度、流速

3.7 IBI区域模型(伊比利亚-比斯开-爱尔兰)#

产品ID产品名称空间分辨率时间分辨率主要要素
IBI_ANALYSISFORECAST_PHY_005_001IBI物理分析预报~2 km小时、日、月温度、盐度、流速、海面高度
IBI_ANALYSISFORECAST_WAV_005_005IBI波浪分析预报~3 km小时波浪
IBI_ANALYSISFORECAST_BGC_005_004IBI生物地球化学分析预报~2 km日、月生物地球化学参数
IBI_MULTIYEAR_PHY_005_002IBI物理再分析~2 km日、月温度、盐度、流速

3.8 西北欧陆架区域模型#

产品ID产品名称空间分辨率时间分辨率主要要素
NWSHELF_ANALYSISFORECAST_PHY_004_013西北欧陆架物理分析预报~1.5 km小时、日、月温度、盐度、流速、海面高度
NWSHELF_ANALYSISFORECAST_PHY_LR_004_001西北欧陆架低分辨率物理分析预报~7 km日、月温度、盐度、流速
NWSHELF_ANALYSISFORECAST_WAV_004_014西北欧陆架波浪分析预报~1.5 km小时波浪
NWSHELF_ANALYSISFORECAST_BGC_004_002西北欧陆架生物地球化学分析预报~7 km日、月生物地球化学参数
NWSHELF_MULTIYEAR_PHY_004_009西北欧陆架物理再分析~7 km日、月温度、盐度、流速

四、数据产品统计汇总#

数据类型产品数量主要特点
现场观测36款来自浮标、船舶、Argo等观测平台,时间序列长,精度高,但空间覆盖不均匀
卫星观测183款空间覆盖广,时空连续性好,支持多种处理级别(L3/L4)
数值模型102款提供三维时空完整数据,支持分析预报和历史再分析
总计304款覆盖全球和7个区域海域

五、变量覆盖统计#

数据产品覆盖的主要海洋变量包括:

变量类别具体变量产品数量(约)
物理变量温度(Temperature)88款
盐度(Salinity)33款
海面高度(Sea surface height)52款
流速(Velocity)52款
混合层深度(Mixed layer thickness)15款
波浪(Wave)39款
风场(Wind)18款
生物化学浮游生物(Plankton)72款
营养盐(Nutrients)13款
溶解氧(Oxygen)22款
碳酸盐系统(Carbonate system)17款
光学参数(Optics)39款
海冰海冰浓度/厚度/范围(Sea ice)37款

References#


title: “Cosmic eye 宇宙之眼” published: 2018-04-16 description: “Cosmic eye 应用程序在2012年开发完成,但是却在2016年4月突然成名,当时它在Facebook的“科学新闻”组页面上10天内获得了4千万次观看,该短片在Facebook上的观看次数累计已超过1.5亿次。” image: “/images/Cosmic-eye-宇宙之眼/img_26614b2a.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#

短片来源于一个IOS应用程序,通过快速缩放,显示了已知宇宙中最大和最小的尺度。作者受到了Cosmic View(1957年)以及短片Cosmic Zoom(1968年)和Powers of Ten(1977年)的启发,采用了先进的科学成像和计算机仿真技术制作而成。Cosmic eye 应用程序在2012年开发完成,但是却在2016年4月突然成名,当时它在Facebook的“科学新闻”组页面上10天内获得了4千万次观看,该短片在Facebook上的观看次数累计已超过1.5亿次。====DeepSeek-AI创新-颠覆传统-重新定义大模型开发范式.md====#

title: “DeepSeek AI创新:颠覆传统,重新定义大模型开发范式” published: 2025-01-27 description: "" image: “/images/DeepSeek-AI创新-颠覆传统-重新定义大模型开发范式/img_9384eebd.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#

****#

在当前大语言模型开发领域,训练成本一直是一个重要的限制因素。行业巨头如OpenAI和Anthropic等,动辄投入上亿美元仅用于计算资源建设,然而,支撑这些算力资源的还有数千台价值4万美元的GPU和大规模数据中心。这种高门槛无疑限制了AI技术的普及和创新步伐。

然而,DeepSeek通过一系列创新性的技术突破,成功将训练成本降低至500万美元,彻底颠覆了行业认知。更令人震惊的是,他们并非纸上谈兵,而是真真切切地实现了这一目标。DeepSeek的模型在多项任务上,性能比肩甚至超越了GPT-4和Claude等顶尖模型的智能水平,这无疑给整个AI世界带来了巨大的震动。

DeepSeek的核心技术创新#

DeepSeek的成功并非偶然,而是源于其对AI技术底层逻辑的深刻反思和创新。他们摒弃了传统AI模型的冗余和低效,从根本上进行了架构重塑。

1. 精度重塑:从32位浮点到8位浮点量化

传统的AI模型,如同书写数字时精确到小数点后32位,追求极致的精度。DeepSeek则大胆提出“如果只用8位精度呢?精度依然足够!”的设想。 实践证明,这种量化技术在保证模型精度的前提下,大幅降低了训练对显卡内存的需求,节省高达75%的内存空间,加快了模型训练过程,为模型的高效运行奠定了基础。

2. 纯强化学习方法:模型自主学习

DeepSeek-R1采用纯强化学习(RL)方法,完全摒弃了监督式微调(SFT)和思维链(CoT)训练。这种”冷启动”方法类似于AlphaZero在围棋和国际象棋领域的突破 - 无需借助人类专家的对弈数据,就能从零开始掌握复杂任务。这一创新打破了”必须通过人类监督数据进行微调”的常规认知,模型能够自主学习独立发展出解决问题的能力。这种纯强化学习的成功证明了AI系统可以不依赖人类监督数据实现高性能,这可能改变整个行业的训练范式。

3. 多Token系统:从逐字逐句到整句理解

传统AI模型在处理文本时,如同刚入学的小学生,逐字逐句地解读,效率低下。DeepSeek创新性地引入“多Token”系统,模型能够一次性读取整个短语甚至句子,如同成人阅读般流畅高效。这项技术使得模型推理速度提升2倍,准确率高达90%,在处理海量文本数据时,效率优势尤为突出。

4. 专家系统:模块化架构,按需调用

DeepSeek最巧妙的创新在于构建了“专家系统”。 传统的大型AI模型,如同一个试图掌握所有知识的“通才”,包揽医生、律师、工程师等所有领域的知识,效率低下且资源浪费。 DeepSeek则构建了模块化的专家模型,每个模型专注于特定领域的知识,只有在需要时才被“唤醒”。 这如同拥有一个庞大的专家团队,但每次只调用处理特定任务的专家,极大提升了效率和资源利用率。

DeepSeek的创新成果#

DeepSeek的创新并非停留在理论层面,而是切实带来了令人瞩目的成果:

  • 训练成本大幅降低: 从1亿美元骤降至500万美元,降幅高达95%。
  • GPU需求锐减: 从10万张顶级GPU降至仅需2000张,大幅降低硬件门槛。
  • API成本显著降低: API调用成本降低95%,使得AI应用更加经济可行。
  • 硬件兼容性提升: 模型甚至可以在消费级游戏GPU上运行,摆脱对昂贵数据中心硬件的依赖。

另外,在工程优化实现方面:

  • 为了正确使用8位浮点的矩阵乘法,DeepSeek团队优化并改进了CUDA Kernal的调用方式。
  • DeepSeek团队开发了训练框架DualPipe,实现了16/64通道的流水线和专家(MOE)并行,极大改善了并行训练中的通信和计算冲突问题,解决了调度瓶颈。
  • 在2048个H800上的集群训练出了具有600B参数的大模型。

#

DeepSeek创新的深远意义#

DeepSeek的出现,打破了“只有科技巨头才能玩转AI”的传统观念。它证明了,即使没有巨额资金和庞大计算资源,通过技术创新和思维突破,同样可以在AI领域取得颠覆性的成就。

1. 降低AI开发门槛: DeepSeek的低成本方案使得AI开发不再是少数巨头的专属,更多企业和个人将有机会参与到AI创新中来。

2. 加剧行业竞争: 低成本、高效能的AI模型将打破现有市场格局,促使行业竞争更加激烈,加速技术进步。

3. 重塑行业格局: 传统科技巨头依靠资金和硬件优势构建的“护城河”将变得脆弱,技术创新将成为新的竞争焦点。

4. 硬件需求下降: AI硬件成本的降低将加速AI技术的普及应用,推动各行各业的智能化升级。

从现实角度来看,DeepSeek的横空出世,确实利空OpenAI和NVIDIA。

Apple App Store的下载排行,DeepSeek已经超越ChatGPT成为第一。

范式变革的临界点#

DeepSeek的创新,如同PC的普及取代大型机,云计算的兴起颠覆传统IT架构一样,预示着AI领域即将迎来一场深刻的变革。 AI技术将变得更加普及、更加经济、更加触手可及。 这场变革不是“是否会发生”,而是“何时到来”的问题。

开源应用场景#

DeepSeek将其所有创新成果都开源共享。任何人都可以查阅代码、研究技术论文,验证其成果。 开源社区提出了“Build anything with DeepSeek-R1”,各种定制化软件、应用被开发出来。

1. 基于DeepSeek-R1构建完全本地运行的个人文件RAG系统‍‍

2. 设置DeepSeek-R1为免费离线辅助编程助手****3. DeepSeek-R1 671B 在2M2 Ultras上运行的速度比读取速度更快

4. 在Web浏览器运行1.5B参数的DeepSeek-R1-Distill-Qwen-1.5B‍‍‍‍

5. 基于****DeepSeek-R1模型构建代码生成器‍‍‍

6. 在本地网络环境中搭建DeepSeek-R1推理模型,支持通过手机访问‍‍‍

7. 使用DeepSeek模型对youtube视频进行摘要分析

本公众号相关内容推荐#


title: “Digital Typhoon:一个用于热带气旋时空建模的40年卫星图像数据集” published: 2024-01-15 description: “本文介绍的数字台风(Digital Typhoon)数据集,是一个以台风为中心的卫星图像数据集,由每小时一次的气象卫星红外通道图像创建而成。” image: “/images/Digital-Typhoon-一个用于热带气旋时空建模的40年卫星图像数据集/img_54bd8df5.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#

热带气旋在某些地区也被称为台风和飓风,由于其巨大的社会影响,一直是研究的重要目标。为了减少热带气旋的影响,气象界和其他地球科学界一直在努力从理论和经验两方面加深对热带气旋的理解,如推进卫星遥感和构建更高分辨率的大气模拟模型,以便更好地分析和预测热带气旋。

随着人工智能机器学习技术的迅猛发展,气象学界对利用热带气旋大数据开发基于数据驱动的模拟预报模型的兴趣与日俱增。本文介绍的数字台风(Digital Typhoon)项目,目的是将机器学习应用于台风分析和预报。第一步是开发用于机器学习的同质卫星图像数据集。第二步是应用可用的机器学习算法,如 SVM、生成地形图和基于内容的图像检索,构建基于深度学习的分类和回归模型。第三步是构建用于机器学习的公共数据集。

本文介绍的数字台风(Digital Typhoon)数据集,是一个以台风为中心的卫星图像数据集,由每小时一次的气象卫星红外通道图像创建而成。自1978年以来,连续几代葵花系列气象卫星图像的数据被转换为亮度温度,并针对不同的卫星传感器观测进行校准,结果产生了一个跨越40多年的统一时空数据集。该数据集时间范围为1978至2022年,空间范围为西北太平洋。该数据集降低了机器学习研究人员应对热带气旋这一大规模真实世界事件的障碍,以便研究人员可以集中精力构建和评估机器学习模型,并有助于开发用于台风分析和预报的机器学习模型,从而推动热带气旋科学知识的发展,并解决防灾减灾和气候变化等社会和可持续发展问题。

数据集下载地址:http://agora.ex.nii.ac.jp/digital-typhoon/dataset/archive/standard/WP.zipPaper:https://arxiv.org/abs/2311.02665

Reference:

Asanobu Kitamoto*1*2, Jared Hwang*3*1, Bastien Vuillod*4*1, Lucas Gautier*5*1, Yingtao Tian*6, Tarin Clanuwat*6, 

“Digital Typhoon: Long-term Satellite Image Dataset for the Spatio-Temporal Modeling of Tropical Cyclones”, NeurIPS 2023 Datasets and Benchmarks (Spotlight), 2023.====ECMWF发布首个业务化运行人工智能天气预报模型.md====


title: “ECMWF发布首个业务化运行人工智能天气预报模型” published: 2025-02-26 description: "" image: “/images/ECMWF发布首个业务化运行人工智能天气预报模型/img_9234a74f.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#

****#

欧洲中期天气预报中心 (ECMWF) 于2025年2月25日宣布,其人工智能预报系统 (Artificial Intelligence Forecasting System, AIFS) 正式投入运行,将与传统的基于物理过程的集成预报系统 (Integrated Forecasting System, IFS) 并行运行,共同推进数值天气预报的发展。

AIFS在多项指标上表现出超越当前最先进的物理模型的能力,尤其在热带气旋路径预测方面,性能提升高达20%。这一高精度模型充分利用机器学习领域的最新成果,与ECMWF现有的物理模型组合形成互补。其优势不仅体现在预测精度的提升,更在于显著提高了预测速度,并将能源消耗降低了约1000倍。


首个开放的业务化人工智能天气预报模型#

AIFS是首个完全业务化的开放式AI天气预报模型,它采用了机器学习技术,并涵盖了最广泛的参数范围。该模型能够为用户提供重要的气象要素,例如风速、温度以及从降雪到降雨的详细降水类型信息。AIFS目前的网格间距为28公里,未来有望进一步精细化。

AIFS的首个业务化运行版本被称为AIFS Single v1.0。它每次运行单个预报,即确定性预报。ECMWF正在推动该模型创建包含50个不同预报的集合,这些预报在初始条件上略有差异,以提供各种可能的场景,这被称为集合预报,是ECMWF三十多年前开发和实施的一项成熟技术。

AIFS-single 1.0取代了现有的实验版本AIFS-single v0.2.1。新版本对AIFS Single模型进行了多项改进,其中包括:

  • • 改进了高空大气变量的性能(AIFS Single 仍使用 13 个气压层,因此性能提升主要指50百帕和100百帕高度层)。
  • • 提高了总降水量的预测技巧。
  • • 增加了额外的输出变量,包括100米风、降雪量、地表太阳辐射以及土壤湿度和土壤温度等陆地变量。

AIFS 能够生成高技巧的高空气象要素、地表天气参数和热带气旋路径预报。AIFS Single每天与ECMWF基于物理的数值天气预报 (NWP) 模型并行运行四次,预报结果根据 ECMWF 的开放数据平台https://www.ecmwf.int/en/forecasts/datasets/open-data向公众开放。


模型技术细节#

AIFS使用与IFS相同的初始条件进行预报。这些初始条件基于卫星、飞机、船舶、海洋浮标和其他地面测量站提供的约6000万个经过质量控制的观测数据,结合之前的短期预报形成。

这些初始条件每六小时输入到AIFS中。机器学习模型基于对过去天气演变模式的学习,评估初始条件将如何影响未来几天的天气。

相比之下,IFS采用基于物理过程的方法进行预报,其全球网格间距为9公里,并在计算机代码中集成了物理定律。

IFS预报过程

AIFS工作过程

模型架构#

AIFS基于图神经网络 (Graph Neural Network, GNN) 编码器和解码器,以及滑动窗口Transformer处理器,并使用ECMWF的ERA5再分析数据和ECMWF业务数值天气预报 (NWP) 分析数据进行训练。

它具有灵活的模块化设计,并支持多层并行,以支持在高分辨率输入数据上进行训练。AIFS预报技巧通过将其预报与NWP分析数据和直接观测数据进行比较来评估。

模型训练过程#

模型训练采用数据并行化,批量大小为16。每个模型实例分布在一个节点内的四个40GB A100 GPU上。训练使用混合精度进行,整个过程需要大约一周时间,总共使用64个GPU。训练包括两个阶段:

  • •**预训练:**在ERA5上针对1979年至2022年进行了预训练,使用余弦学习率 调度器,总共进行了 260000 步。
  • •**微调:**预训练之后是在2016年至2022年的业务化实时IFS NWP分析数据上进行

使用模型#

AIFS运行在ECMWF的Anemoi开源框架上,模型权重在Hugging Face上以CC BY 4.0许可发布。Hugging Face提供模型托管(通过Model Hub)、推理API和Python库(如transformers和datasets),可以加载和运行AIFS模型。但需要注意的是,AIFS的完整功能需要结合Anemoi框架,因为它是一个复杂的天气预报系统而非通用的NLP或计算机视觉模型。

Anemoi是一个用于开发机器学习天气预报模型的框架。它包含用于准备训练数据集、进行机器学习模型训练以及注册数据集和训练模型的组件或软件包。Anemoi提供了用于业务推理的工具,包括与验证软件的接口。作为一个框架,它旨在处理气象机构将共享的许多复杂性,使他们能够轻松地从现有方案中训练模型,但使用他们自己的数据。

1. 设置运行环境#

为了使用AIFS模型,你需要安装必要的库和依赖项,并确保有足够的计算资源(建议GPU支持,如NVIDIA A100,参考训练时使用的配置)。

  • 安装Python库
    在终端或命令行中运行以下命令,安装Hugging Face的相关库和可能的Anemoi依赖:
pip install transformers torch torchvision torchaudio
pip install huggingface-hub
  • 安装Anemoi框架
git clone https://github.com/ecmwf/anemoi.git
cd anemoi
pip install -e .
  • 注册Hugging Face账户
    访问Hugging Face网站,创建一个账户并获取API令牌(用于访问受限模型或上传/下载大型文件)。使用以下命令登录Hugging Face CLI:
huggingface-cli login

2. 加载AIFS模型#

AIFS模型托管在Hugging Face Model Hub中,仓库名为ecmwf/aifs-single。用户可以通过transformers库加载模型,但由于AIFS是专为天气预报设计的复杂模型,可能会需要特定的预处理和后处理逻辑。

  • • 加载模型
    以下是一个示例,展示如何加载AIFS模型(假设你有权限访问模型权重):
from transformers import AutoModel, AutoTokenizer
# 加载AIFS模型和分词器
model_name = "ecmwf/aifs-single"
model = AutoModel.from_pretrained(model_name)
tokenizer = AutoTokenizer.from_pretrained(model_name)
# 示例输入(需要根据AIFS的输入格式调整,这里仅为占位)
input_data = {"weather_data": ...}  # 实际需要ERA5格式或类似气象数据
# 运行模型(需要自定义逻辑处理气象数据)
outputs = model(input_data)
print(outputs)

注意事项

  • • 输入数据格式:AIFS需要特定的气象数据输入(如ERA5格式的温度、压力、风速等变量)。你需要从ECMWF的开放数据平台下载或生成这些数据。
  • • Anemoi框架集成:Hugging Face上的AIFS模型仅提供权重,你需要使用Anemoi框架(如anemoi-inference)来正确运行完整的预报系统。参考Hugging Face仓库中的文档或笔记本(如anemoi-inference示例)。

3. 运行推理(Inference)#

AIFS的推理需要处理大规模气象数据并生成天气预报。以下是一个简化的工作流,基于Hugging Face和Anemoi:

ECMWF建议使用Anemoi框架运行AIFS。以下是可能的步骤(参考Hugging Face仓库中的笔记本):

  • • 准备输入数据:从ECMWF下载实时或历史气象数据(如ERA5或NWP分析数据),格式化为AIFS要求的输入(通常是NetCDF或GRIB格式)。
  • • 加载模型:使用Anemoi加载ecmwf/aifs-single模型权重。
  • • 运行预报:调用Anemoi的推理管道,生成天气预测(如5天或更长时间的Z500、降雪量、云量等)。

示例代码(简化版)

from anemoi.inference import AIFSInference
from anemoi.data import WeatherDataLoader
# 初始化AIFS推理
aifs = AIFSInference(model_name="ecmwf/aifs-single")
# 加载气象数据(假设已准备好ERA5数据)
data_loader = WeatherDataLoader(data_path="/path/to/era5_data.nc")
input_data = data_loader.load()
# 生成预测
forecast = aifs.predict(input_data, lead_time=120)  # 5天预报(小时为单位)
# 保存或可视化结果
forecast.save("aifs_forecast.nc")
  • • 计算资源:AIFS训练时使用64个NVIDIA A100 GPU(40GB),推理可能需要GPU支持。如果资源有限,可以尝试在CPU上运行,但性能可能受限。
  • • 输出解析:AIFS输出包括多种气象变量(如Z500异常相关系数、总降雪量、云量等),需要使用气象数据处理软件工具(如xarray、NetCDF4)进行后处理和可视化。

已知局限#

  • • 与其他使用加权MSE损失训练的数据驱动天气预报模型类似,长期预报的预报场会出现模糊
  • • 由于线性损失缩放,AIFS 在平流层预报中表现出较低的预报技巧。
  • • AIFS目前前对热带气旋等高影响系统的强度预报能力偏弱。
  • 尽管存在这些局限性,AIFS代表了气象预报领域的重大技术进步,为更准确、更高效的天气预报开辟了新途径。

未来计划#

AIFS Single作为业务化服务的推出仅仅是一个开始。下一步ECMWF将会提供集合预报,并引入实验性的数据驱动型次季节(延伸期)预报。数据驱动和基于物理的预报的混合潜力也将是未来几年研究的重点领域。

References#

本公众号相关内容推荐#


title: “EarthNets:一个用于评估深度学习模型的地球观测数据平台” published: 2024-01-11 description: “EarthNets收集了400多个公开发布的数据集,包括土地利用/覆盖、灾害监测、场景理解、农业、气候变化和天气预报等场景,可用于对深度学习方法和模型进行一致性评估。” image: “/images/EarthNets-一个用于评估深度学习模型的地球观测数据平台/img_32a74b39.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#

地球观测旨在利用遥感数据监测地球状况,对于改善我们的日常生活和环境至关重要。随着在轨卫星数量的不断增加,越来越多不同传感器和研究领域的数据集被公布出来,为遥感界的研究提供了便利。EarthNets收集了400多个公开发布的数据集,包括土地利用/覆盖、灾害监测、场景理解、农业、气候变化和天气预报等场景,可用于对深度学习方法和模型进行一致性评估。https://earthnets.nicepage.io/

本文挑选部分数据集进行介绍。

  • SEN12MS: 一个用于深度学习和数据融合的地理配准后的哨兵-1/2 影像数据集,由 180,662 个双波长合成孔径雷达 (SAR) 图像分块、多光谱 Sentinel-2 图像分块和 MODIS 土地覆被图组成。由于所有斑块都以 10 米的地面采样距离进行了地理配准,并覆盖了所有气象季节的所有有人居住的大陆,该数据集能为社区开发基于深度学习的复杂方法提供支持,以完成场景分类或土地覆被制图的语义分割等常见任务。

    数据集下载地址:

    https://mediatum.ub.tum.de/1474000

    数据处理和分析工具:    https://github.com/schmitt-muc/SEN12MS

    Paper:

    https://arxiv.org/abs/1906.07789v1

  • Landslide4Sense: 用于滑坡探测的参考基准数据和深度学习模型,分为训练/验证/测试三个部分,分别由 3799、245 和 800 个图像片段组成。图像来源于哨兵-2和ALOS PALSAR的14个波段,所有波段的分辨率均调整为每像素约 10 米。图像片段的大小为 128 x 128 像素,并按像素标注。

    数据与软件地址: 

https://github.com/iarai/Landslide4Sense-2022

    Paper: https://arxiv.org/abs/2206.00515

  • AID: 航空场景分类性能评估基准数据集,由以下 30 种航空场景类型组成:机场、裸地、棒球场、海滩、桥梁、中心、教堂、商业、密集居住区、沙漠、农田、森林、工业、草地、中等居住区、山地、公园、停车场、游乐场、池塘、港口、火车站、度假村、河流、学校、稀疏居住区、广场、体育场、储罐和高架桥。所有图像都由遥感图像解译领域的专家进行了标注,共有 30 个类别的 10000 幅图像。

数据集下载地址:

https://captain-whu.github.io/AID/

  • DOTA: 是一个用于航空图像中物体检测的大型数据集。它可用于开发和评估航空图像中的物体检测器。这些图像来自不同的传感器和平台,来自谷歌地球、中国资源卫星数据与应用中心提供的 GF-2 和 JL-1 卫星以及 CycloMedia B.V. 提供的航空图像,包括 RGB 图像和灰度图像,RGB 图像来自 Google Earth 和 CycloMedia,灰度图像来自 GF-2 和 JL-1 卫星图像的全色波段。所有图像均以 “png “格式存储。每幅图像的大小在 800 × 800 到 20,000 × 20,000 像素之间,包含各种尺度、方向和形状的物体。DOTA 图像中的实例由航空图像判读专家通过任意四边形进行标注。

 https://captain-whu.github.io/DOTA/dataset.html

  • BigEarthNet: 由柏林工业大学(TU Berlin)的遥感图像分析(RSiM)小组和数据库系统与信息管理(DIMA)小组构建。BigEarthNet 是一个基准档案库,由590326组哨兵1号和哨兵2号图像片段组成。BigEarthNet 的第一个版本(v1.0-beta)仅包含哨兵 2 号图像。BigEarthNet 通过 Sentinel-1 图像进行了充实,创建了一个多模式 BigEarthNet 基准档案(也称为 BigEarthNet-MM)。

    代码:https://github.com/avulaankith/BigEarthNet

    数据集地址:https://bigearth.net/

    Paper:https://arxiv.org/abs/1902.06148

  • SSL4EO-S12 数据集是用于地球观测无监督/自监督预训练的大规模多模态数据集。该数据集由来自全球 251079 个地点的无标注分块三元组(哨兵-1 双波谱合成孔径雷达、哨兵-2 大气层顶多光谱、哨兵-2 地表反射率多光谱)组成,每个分块覆盖 2640 米 x 2640 米,包括四个季节时间戳。

    数据集地址:https://github.com/zhu-xlab/SSL4EO-S12

    Paper:https://arxiv.org/abs/2211.07044

  • SatlasPretrain :用于理解卫星图像任务的大规模预训练数据集。通过 “哨兵-2 “和 “NAIP “等来源,地球上大部分地区的定期更新卫星数据均可公开获取,这些数据可为从处理非法砍伐森林到监测海洋基础设施等众多应用提供信息。然而,开发自动计算机视觉系统来解析这些图像需要大量的人工标注训练数据。通过将超过 30 TB 的卫星图像与 137 个标签类别相结合,构建了一个有效的预训练数据集,大大减少了为下游卫星图像应用开发可靠模型所需的工作量。

数据集地址:https://satlas-pretrain.allen.ai/====GIS领域常用的24种数据格式.md====#

title: “GIS领域常用的24种数据格式” published: 2024-10-15 description: “GIS数据格式在空间数据的管理、分析和可视化中扮演着至关重要的角色。合适的数据格式不仅影响数据的存储效率和处理速度,还直接关系到数据的互操作性和可访问性。高效的数据格式可以显著减少存储空间,加快数据读取和分析速度,从而提高整体工作效率。” image: “/images/GIS领域常用的24种数据格式/img_cf1016d9.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#


地理信息系统(GIS)数据格式在空间数据的管理、分析和可视化中扮演着至关重要的角色。合适的数据格式不仅影响数据的存储效率和处理速度,还直接关系到数据的互操作性和可访问性。高效的数据格式可以显著减少存储空间,加快数据读取和分析速度,从而提高整体工作效率。同时,标准化的数据格式促进了不同GIS平台和软件之间的数据交换,使得跨系统、跨组织的协作成为可能。

GIS数据主要分为两大类型:栅格(Raster)和矢量(Vector),每种类型都有其特定的格式和应用场景。本文介绍24种常用的数据文件格式。

1. Shapefile (.shp, .shx, .dbf)#

Shapefile是由ESRI(Environmental Systems Research Institute)公司开发的一种广泛使用的地理空间矢量数据格式。它用于存储地理要素的位置、形状和属性信息。尽管名为”file”,Shapefile实际上是一组相关文件的集合,通常至少包含三个必需文件:

  • .shp:主文件,存储地理要素的几何形状。
  • .dbf:dBASE表格,存储每个地理要素的属性信息。
  • .shx:索引文件,存储.shp文件中记录的索引,用于加快空间查询速度。

此外,还可能包含其他可选文件,如.prj(投影文件)、.sbn和.sbx(空间索引)等。

Shapefile支持点、线、面三种基本几何类型,能够有效地表示各种地理要素,从简单的地标点到复杂的行政边界。它的优势在于结构简单、读写速度快,并且被大多数GIS软件广泛支持,使其成为地理数据交换的事实标准。

然而,Shapefile也有一些限制,如单个文件大小不能超过2GB,字段名长度限制为10个字符,不支持拓扑关系等。尽管如此,由于其简单性和广泛的兼容性,Shapefile仍然是GIS领域中最常用的矢量数据格式之一。

2. GeoJSON (.geojson)#

GeoJSON是一种用于表示地理空间数据的开放标准格式,基于JSON(JavaScript对象表示法)。它可以描述各种地理要素,如点、线、多边形,以及它们的属性。它轻量且易读,在网络地图应用中颇受欢迎。

以下是GeoJSON的主要特点:

  • 结构简单:使用JSON的键值对结构,易于人类阅读和机器解析。
  • 要素类型:支持Point(点)、LineString(线)、Polygon(多边形)、MultiPoint、MultiLineString、MultiPolygon和GeometryCollection等几何类型。
  • 坐标系统:默认使用WGS84坐标系,但可以指定其他坐标参考系统。
  • 属性信息:每个地理要素可以包含额外的非空间属性数据。
  • 广泛支持:被许多GIS软件、Web地图库和数据库系统支持。

一个完整的GeoJSON示例:

{
“type”: “FeatureCollection”,
“features”: [
{
“type”: “Feature”,
“geometry”: {
“type”: “Point”,
“coordinates”: [1421881.6001608493,87787.9269855246]
},
“properties”: {
“Cafe_name”: “Central Perk”,
“Owner”: “Gunther”
}
},
{
“type”: “Feature”,
“geometry”: {
“type”: “Polygon”,
“coordinates”: [
[
[2377382.6722396947,1196468.8037478637],
[2440022.8169193966,721756.6395827765],
[1864031.5902764509, 590093.8583615604],
[2377382.6722396947,1196468.8037478637]
]
]
},
“properties”: {
“City”: “Pasadena”
}
}
],
“crs”: {
“type”: “name”,
“properties”: {
“name”: “EPSG:3857”
}
}
}

3. KML/KMZ (.kml, .kmz)#

Keyhole标记语言(KML)是一种基于XML的格式,用于在Google Earth等地球浏览器中显示地理数据。KMZ是KML文件的压缩版本,便于分发。

4. GeoTIFF (.tif, .tiff)#

GeoTIFF是一种公共领域元数据标准,允许将地理参考信息嵌入TIFF文件中。它常用于卫星图像和数字高程模型。

GeoTIFF文件包含地理元数据,描述了图像中每个像素在实际空间中所代表的位置。在创建GeoTIFF文件时,空间信息被作为嵌入式标签包含在.tif文件中,这些标签可能包括以下栅格图像元数据:

  • 水平和垂直基准面
  • 空间范围,即数据集覆盖的区域
  • 用于存储数据的坐标参考系统(CRS)
  • 空间分辨率,以每单位长度的独立像素值数量来衡量
  • .tif文件中的图层数量
  • 椭球体和大地水准面 - 地球形状的估算模型
  • 地图投影的数学规则,用于将三维空间的数据转换为二维显示

这些元数据使GeoTIFF成为一种强大的地理空间数据格式,能够精确地表示和定位地球表面的图像数据。

5. CSV (.csv)#

逗号分隔值(CSV)文件是可以存储表格数据的简单文本文件。结合坐标数据,CSV文件可以表示空间数据点,并且易于导入GIS软件。

6. GML (.gml)#

地理标记语言(GML)是一种用于表达地理特征的XML语法。它用于GIS系统间的数据交换,支持复杂的几何形状和拓扑关系。

7. GPX (.gpx)#

GPS交换格式(GPX)是一种设计用于应用程序之间传输GPS数据的XML模式。它常用于GPS设备和应用程序,用于共享航点、轨迹和路线。

8. Esri文件地理数据库 (.gdb)#

文件地理数据库是一个文件夹中的文件集合,可以存储包括要素类、栅格数据集和表格在内的数据集。它支持大型数据集,允许高效的数据存储和管理。

9. SpatiaLite (.sqlite)#

SpatiaLite是SQLite关系数据库的扩展。它增加了空间功能,允许在轻量级、独立的数据库文件中高效存储和查询空间数据。

10. NetCDF (.nc)#

网络通用数据格式(NetCDF)是一套用于面向数组的科学数据的软件库和机器无关的数据格式。它广泛用于气候学、气象学和海洋学,用于存储多维数据。

NetCDF文件(Network Common Data Form)是一种多维数组,其中每一层代表不同变量或一组变量的空间网格分布,而这些网格集可以堆叠成时间切片。

上图中,每个表格代表单个变量的网格化空间覆盖。以这种方式表示了三个变量,它们被一起存储在单个时间步长中。文件的实际结构可能更简单(即可能只包含单个变量和/或单个时间步长),也可能更复杂(有更多的变量,或者每个变量实际上是一组覆盖范围,代表该变量的一系列值;想象一下在一系列深度测量的水温读数)。然后,这些数据块可以作为随时间变化的组合空间覆盖被访问。

从事气候和地球系统研究的人们倾向于以这种方式存储他们的数据。这也是一种方便的方式来跟踪随时间推移从卫星测量获得的数据。它们非常适合管理大量的空间数据。

11. HDF (.hdf)#

分层数据格式(HDF)旨在存储和组织大量数值数据。它常见于科学计算,用于处理复杂数据集,包括卫星图像。

12. LAS/LAZ (.las, .laz)#

LAS是用于存储激光雷达数据的二进制文件格式。LAZ是LAS文件的压缩版本。它们存储从激光扫描仪收集的点云数据,对高分辨率地形测绘至关重要。

13. DXF (.dxf)#

图形交换格式(DXF)是由Autodesk开发的CAD数据文件格式,用于AutoCAD与其他程序之间的数据互操作性。它用于表示2D和3D绘图。

14. DWG (.dwg)#

DWG是用于存储设计数据和元数据的专有二进制文件格式。它是Autodesk的AutoCAD软件的原生格式,在工程和建筑设计中广泛使用。

15. 栅格ASCII网格 (.asc)#

ASCII网格文件是表示栅格数据的简单文本文件。它们常用于表示高程数据,易于阅读并导入各种GIS应用程序。

16. WKT/WKB (.wkt, .wkb)#

Well-Known Text (WKT)和Well-Known Binary (WKB)是表示几何对象的格式。它们用于数据库和GIS软件中的空间数据交换,支持标准几何类型。

17. MapInfo TAB (.tab, .map, .dat, .id)#

MapInfo TAB是MapInfo GIS软件使用的文件格式。它由多个文件组成,用于存储空间和属性数据,支持复杂的制图和分析。

18. CADRG (.toc)#

压缩ARC数字化栅格图形(CADRG)是一种用于压缩栅格地图的军事标准。它用于国防应用中地图数据的高效存储和快速检索。

19. VTK (.vtk)#

可视化工具包(VTK)文件用于3D计算机图形、图像处理和可视化。它们常见于科学计算,用于可视化复杂的数据结构。

20. STL (.stl)#

立体光刻(STL)文件用于3D打印和计算机辅助制造。它们存储3D模型,在GIS应用中的地形建模和可视化中很有用。

21. Geopackage (.gpkg)#

GeoPackage是一种开放、基于标准、平台无关、便携、自描述、紧凑的地理空间信息传输格式。

22. FlatGeobuf#

FlatGeobuf是一种新的地理空间数据格式,允许用户更高效地处理矢量数据。它可以作为GeoJSON的替代品,提供更小的文件大小和更快的加载速度。它是一种二进制(FlatBuffers编码)格式,定义了地理空间几何。与GeoParquet和GeoArrow的列式存储不同,它是面向行的,提供了一组不同的权衡。

23. GeoParquet#

Apache Parquet是一种开源的列式数据存储格式,它以高效的方式存储数据以便于加载,具有良好的压缩性能,可以大幅减少数据大小。它为Python、Java、C++等语言提供了API,并与Apache Arrow良好集成。Parquet是一种非常适合存储复杂的海量数据的数据格式

Parquet的优点:

  • 它具有良好的压缩性能,因此可以减少云存储成本
  • 数据跳过和字段统计功能可以通过加载更小的数据块来提高数据处理性能
  • 设计用于存储任何类型的大数据

https://parquet.apache.org/docs

24. DEM

数字高程模型(DEM)以数字格式展示地理区域的地形的能力为其特征,提供了地球表面的三维视图,帮助用户理解一个区域的地形。DEM用于创建地形图,并作为多种直接测量程序的数据输入。

它们为所表示的区域提供定量高度,广泛应用于地理信息系统(GIS)和制作地形图。DEM的主要数据格式是栅格,即组织成行和列的单元格或像素网格。栅格中的每个单元代表地球表面的一个方块,单元的值对应于该方块的平均高程。单元的大小,或称分辨率,决定了DEM的细节水平:较小的单元大小将产生更详细的地理特征,而较大的单元大小将提供景观的宏观概览。

随着大数据时代的到来,能够有效处理和分析海量空间数据的格式变得尤为重要。因此,选择合适的GIS数据格式不仅是技术问题,更是提高空间数据价值、支持科学决策的关键因素。


本公众号相关内容推荐#


title: “GeoAI:地理信息与人工智能的交叉融合” published: 2024-12-23 description: "" image: “/images/GeoAI-地理信息与人工智能的交叉融合/img_2f05e7bf.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#

****#

在当今时代,地理空间数据正以前所未有的速度增长,而人工智能的发展也日新月异。这两个领域的交叉融合催生了一个新兴的、令人振奋的领域:GeoAI(Geoinformatics and Artificial Intelligence),即地理人工智能。GeoAI将地理信息科学与人工智能技术相结合,为解决地球科学、环境监测、城市规划等领域的复杂问题提供了强大的工具。

GeoAI是地理信息学和人工智能交叉领域的新兴子领域。简单来说,GeoAI就是将AI技术方法应用于地理空间数据分析的过程。 其中,“Geo-” 代表地理空间科学,涵盖了从测绘学、制图学到环境分析和天气预报等广泛领域。而 “-AI” 则代表人工智能技术,尤其侧重于机器学习(ML)在实践中的应用。

1. GeoAI的学习路径#

在GeoAI中,核心挑战是如何有效地融合两个不同的领域,这需要掌握新的技能、学习新的概念,并应对由此产生的复杂性。

GeoAI 的出现吸引了两种不同背景的专业人士:

  • 计算机科学/数据科学背景:他们通常拥有丰富的机器学习理论知识和实践经验,但在处理复杂的地理空间数据方面可能缺乏经验。
  • 地理学/地理空间科学背景:他们熟悉地理空间数据,但可能不熟悉机器学习技术。

这导致了在GeoAI领域的两种学习路径:

  • 地理空间路径:地理学家学习如何将机器学习方法应用于他们熟悉的地理空间数据,从而将他们的领域知识与AI技术相结合。
  • 数据科学路径:机器学习工程师和数据科学家学习如何将空间数据整合到他们熟悉的机器学习工作流程中,将AI能力扩展到新的数据类型。

无论选择哪条路径,都必须投入大量精力学习新的概念, 并掌握两个领域的专业知识,才能有效应对GeoAI的复杂性。

2. GeoAI的应用场景#

GeoAI 的应用前景非常广阔,这取决于可用的数据类型。从包含建筑物位置信息的 .csv 文件到由 SAR 传感器捕获的卫星图像,GeoAI 的应用场景是无限的。机器学习方法使我们能够对各种数据类型进行各种分析,如预测、分类、分割、目标检测和变化检测。以下是一些GeoAI的实际应用案例:

  • 滑坡检测与预测:通过卫星影像,利用变化检测或分类技术可以检测滑坡是否发生。 通过自动检测可以生成大型的滑坡清单,从而预测易发生滑坡的区域。
  • 空气质量监测:利用地面测量站和卫星任务(如 Sentinel-5)的数据,可以监测空气质量并根据天气预报和其他因素预测未来的空气质量值。
  • 地籍测绘:使用机器学习可以从航空和卫星图像中检测出没有土地地籍记录的地区(例如一些非洲国家)的土地边界,从而减少创建土地登记的成本和时间。
  • 天气预报:GeoAI 的一个主要应用领域是改进天气预报模型,利用来自地面监测站和遥感采集的空间数据。机器学习模型首先在历史数据上进行训练,然后用于预测时间序列空间数据的连续值。
  • 非法倾倒检测:在人口稠密的地区,废物管理是一项重大挑战。GeoAI 可以检测非法倾倒,帮助决策者识别非法倾倒发生的区域,并防止进一步的垃圾堆积。
  • 军事应用:GeoAI 在军事领域也具有重要作用。利用高分辨率遥感数据,可以绘制战场地图、检测坦克、找到避免敌方暴露的最安全路线,并提供快速的人道主义援助。

3. GeoAI的基础:地理空间数据#

GeoAI 的核心是地理空间数据,而要有效地使用这些数据,必须深入理解它们的特点。数据是任何AI工作流程中最关键的组成部分。以下是关于地理空间数据的关键概念:

  • 数据类型:地理空间数据包括遥感图像、地籍地图、交通数据和天气地图,它们以各种形状和形式呈现。
  • 矢量数据与栅格数据
  • 矢量数据:以点、线和多边形的形式结构化,通过一系列 (x, y) 坐标表示。矢量数据存储离散特征,如地名、河流和边界。常见的矢量数据格式包括 Shapefile (.shp)、GeoJSON (.geojson) 和 GeoPackage (.gpkg)。

  • 栅格数据:以像素矩阵的形式结构化,每个像素代表该像素位置的值。栅格数据用于表示连续特征,如温度、海拔和土地利用。常见的栅格数据格式包括 GeoTIFF (.tif)、JPEG 2000 (.jp2) 和 NetCDF (.nc)。

  • 遥感数据:遥感数据是在不与观测物体或现象进行物理接触的情况下,通过各种传感器收集的数据。遥感数据的采集可根据传感器类型和搭载平台进行分类:
  • 平台:平台是数据采集的位置,可以是星载(如卫星)、机载(如飞机或无人机)或地面(如气象站)。
  • 传感器:传感器可以是 被动传感器或主动传感器。被动传感器测量自然可用的能量(如太阳的能量);主动传感器发射自己的能量,然后测量从目标反射的能量。

4. 人工智能基础:机器学习方法#

在GeoAI中,机器学习方法的选择取决于需要解决的任务。一般来说,可以将机器学习方法划分为三个主要类别:

  • 监督学习:利用标记数据进行模型训练,即每个训练输入都与期望的输出(“标签”)配对。这种方法广泛应用于土地覆盖分类等地理空间任务。
  • 无监督学习:使用未标记的数据进行模型训练。无监督学习模型尝试在输入数据中发现模式,如根据像素相似性聚类卫星图像。
  • 强化学习:是一种通过试错进行决策学习的方法,根据环境的反馈改进其行为。 强化学习通常用于训练模型玩游戏,例如国际象棋或围棋。

在GeoAI中,强化学习的使用相对较少,因此,通常更关注监督学习和无监督学习。

5.GeoAI中的常见任务#

以下是GeoAI中常见的AI任务:

  • 分类:将离散标签分配给数据的监督学习任务。在地理空间分析中,分类可用于识别易发洪水的区域或对卫星图像中的土地覆盖类型进行分类。

  • 回归:预测连续值的监督学习任务。在GeoAI中,这可能涉及预测遥感数据中的土壤湿度、冠层高度或生物量。

  • 分割:将图像划分为有意义区域的图像分析任务。分割与分类密切相关,但侧重于对相似像素进行分组。分割可以使用监督方法和无监督方法。

  • 变化检测:识别随着时间推移获取的多个地理空间数据集之间的差异。这对于监测环境变化(如森林砍伐、城市扩张或灾害影响)至关重要。

  • 目标检测:旨在定位遥感图像中的特定对象。与标记每个像素的分类或分割不同,目标检测使用边界框来识别和定位不同的对象,例如船舶或建筑物。

本公众号相关内容推荐#


title: “GeoAI领域的开源工具箱” published: 2025-04-09 description: "" image: “/images/GeoAI领域的开源工具箱/img_6f853f9f.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#

随着人工智能与地理空间分析的交叉领域-地理空间人工智能(GeoAI)的不断发展和应用普及,出现了很多开源工具软件,持续学习和探索新工具至关重要。本文将梳理GeoAI领域的核心开源工具,介绍其主要使用方法。本文将工具分为三类:地理空间分析专用软件、AI分析专用工具,以及新兴的GeoAI专用工具,将重点介绍每个类别中最关键的工具。

在深入探讨具体工具之前,必须强调Python的重要性。无论进行地理空间分析还是AI开发,学习一门编程语言都是必然的,而Python无疑是首选。它并非单纯归属于地理空间或AI领域,而是贯穿两者。Python拥有丰富的地理空间处理和机器学习分析框架与库,同时以其出色的可读性和简洁性著称,既适合初学者入门,也能满足专家级应用的强大需求。因此,下文介绍的许多工具都将基于Python环境。

地理空间分析专用软件与库#

处理空间数据是GeoAI的基础,掌握专业的地理空间工具必不可少。

**1.QGIS:**作为一款自由开源的桌面GIS软件,QGIS是处理空间数据的得力助手。它提供了强大的图形用户界面,支持空间数据的可视化、编辑和分析。由于其免费和开放性,QGIS拥有庞大的用户社区和丰富的学习资源。

**2.Google Earth Engine (GEE):**GEE是一个强大的云端地理空间分析平台。它提供了对PB级全球尺度卫星影像及其他地球观测数据的访问能力、在线编码环境(主要使用JavaScript,但也提供Python API)以及便捷的可视化界面。对于需要大规模遥感数据分析的GeoAI项目,GEE是一个极具吸引力的选择。使用GEE需要注册谷歌账户。

**3.PostgreSQL + PostGIS:**当处理大规模空间数据时,空间数据库的作用凸显。PostgreSQL是一款强大的开源关系型数据库,而PostGIS作为其扩展,增加了对地理对象的支持,允许执行高效的空间查询。掌握PostGIS对于构建可扩展的、处理大型地理空间数据集的GeoAI应用至关重要。虽然初期可能更多使用云工具,但扎实的数据库基础将是未来项目发展的宝贵财富。

**4.SNAP (Sentinel Application Platform):**在处理卫星数据,特别是Sentinel系列任务数据时,SNAP是一个专门设计用于读取、探索和分析卫星影像的软件。它也能处理其他来源的数据,并且对于理解卫星数据(尤其是SAR等复杂类型)的结构非常有帮助。

5.Python地理空间库:

  • • **rasterio:**用于在Python中高效读写栅格数据集(如卫星影像、高程模型)。
  • • **GeoPandas:**扩展了流行的Pandas库,使其能以“Pythonic”的方式处理地理空间矢量数据(点、线、面),极大地简化了矢量数据的操作。
  • • **Shapely / Fiona / Pyproj:**这三个库通常协同工作,分别负责几何对象的创建与操作(Shapely)、地理空间文件格式的读写(Fiona),以及坐标参考系统(CRS)的处理与转换(Pyproj)。

AI分析专用工具#

GeoAI的核心在于应用机器学习,特别是深度学习方法。因此,熟悉主流AI开发环境和库是必要的。

**1. PyTorch / TensorFlow:**这两者是目前最广泛使用的深度学习Python框架。它们提供了构建神经网络(如CNNs、RNNs、Transformers)、训练模型和进行实验所需的完整工具链。在地理空间应用场景下,更推荐关注PyTorch,因为许多新兴的GeoAI库都基于PyTorch构建。


**2. Hugging Face:**Hugging Face已成为访问和分享预训练AI模型及数据集的重要开源中心。它不仅是使用SOTA(State-of-the-Art)AI模型的必备平台,许多前沿的GeoAI模型也托管于此,极大地促进了模型的复用和研究。

GeoAI专用工具#

GeoAI领域的许多工具正处于活跃开发中,它们通常是扩展现有AI框架(尤其是PyTorch)以适应地理空间数据特性的Python库。

**1. TorchGeo:**由Microsoft开发,是一个专为地理空间深度学习设计的PyTorch领域库。它简化了在PyTorch中使用地理空间数据集的过程,提供了针对土地覆盖分类、变化检测等任务的专用数据集加载器、预训练模型和实用工具。地理空间深度学习python库:TorchGeo


2. TerraTorch:这是另一个基于PyTorch(并建立在TorchGeo之上)的库,更侧重于遥感数据分析,特别是围绕地理空间基础模型(Geospatial Foundation Models, GFMs)。它提供了一个工具包,用于利用这些大型预训练模型,并针对特定的地理空间应用进行微调(fine-tuning)。该项目由IBM维护。

**3. Raster Vision:**由Element 84公司创建,是一个用于航空和卫星影像深度学习的开源Python库。Raster Vision提供了一个框架,帮助用户构建用于地理空间栅格数据上进行对象检测、图像分类和语义分割任务的自动化处理流水线。


**4. opengeos GeoAI:**这是一个致力于简化地理空间分析与尖端人工智能模型(特别是深度学习)集成的开源项目。它旨在提供一个用户友好的接口,方便研究人员和开发者在地理空间数据上应用先进的AI技术。其突出特点之一是集成了像Segment Anything Model (SAM) 这样的前沿模型,以支持对遥感影像等地理空间数据的零样本(zero-shot)分割。该库也可能涵盖目标检测、分类等多种GeoAI任务,并可能与其生态系统中的其他工具(如 geemap)紧密结合,以降低GeoAI应用的门槛。

总结#

GeoAI领域充满活力,新的框架、库和方法论层出不穷。这些工具为您打下坚实的基础,但保持好奇心,持续探索新工具,并紧跟领域进展,是在这个激动人心的新领域不断前行的关键。

 

本公众号相关内容推荐#


title: “Google Colab推出订阅付费方式” published: 2020-02-08 description: “Colab是Google 面向 AI 开发者提供云端开发环境。在 Colab 上,你可以使用GPU或TPU资源基于 Keras、Tensorflow、PyTorch、OpenCV等框架来开发深度学习应用” image: “/images/Google-Colab推出订阅付费方式/img_3ca4fb12.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#

Google今天推出付费订阅版Colab Pro,每月9.99刀,提供更快的GPU和TPU,单个Jupyter Notebook连接持续时间从12小时延长到24小时,最大支持内存可达27GB。

Colab 是一个免费的在线 Jupyter 笔记本环境,不需要进行任何设置就可以使用,并且完全在云端运行。

借助 Colab,您可以编写和执行代码、保存和共享分析结果,以及利用强大的计算资源,包括免费版和付费pro版。可以用于机器学习的开发和研究,运行诸如Keras、Tensorflow、Pytorch、OpenCV、fast.ai等框架。====Google-DeepMind发布多模态地理空间基础模型及其衍生数据集.md====#

title: “Google DeepMind发布多模态地理空间基础模型及其衍生数据集” published: 2025-07-31 description: "" image: “/images/Google-DeepMind发布多模态地理空间基础模型及其衍生数据集/img_5b19b9e3.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#

地球是一个动态且复杂的系统。从热带雨林的消长,到城市边界的扩张,再到农作物的生长周期,这些变化无时无刻不在发生。然而,要精准、全面地捕捉这些变化,传统方法一直面临着巨大的挑战。7月30日,Google DeepMind与Google Earth合作,发布了一个能够融合光学、雷达等多源卫星数据,并为地球表面生成统一语义“指纹”(即嵌入向量)的地理空间基础模型AlphaEarth,及其衍生的一个AI-ready和开放的卫星嵌入数据集(Satellite Embedding Dataset)。目前,该数据集已经可以通过Google Earth Engine平台的数据目录免费获取使用。

1. 传统地球观测的挑战#

几十年来,人类依赖卫星星座从太空观测地球。这些手段为我们提供了宝贵的视角,但其局限性主要体现在:

  • • 数据孤岛:不同的卫星搭载不同的传感器(光学、雷达、热红外等),在不同的时间、以不同的光谱波段捕捉地球的影像。这些异构的数据源就像一块块拼图,难以无缝地融合成一幅完整、一致的画卷。
  • • 时空遮挡:云层、阴影甚至卫星自身的轨道限制,都导致我们获取的地球数据存在大量的时空空白。想象一下,当一片关键的农田连续几周被云层覆盖时,我们就无法准确评估作物的健康状况。
  • • 高昂的分析门槛:科学家们常常需要针对特定问题(如评估某地的毁林速率或水体变化)来定制和处理数据。这个过程不仅涉及海量的原始数据下载,还需要进行复杂的大气校正、云层掩膜等预处理步骤,不仅耗时耗力,而且极大地限制了研究的广度和深度。

2. AlphaEarth:统一时空与多模态的基础模型#

AlphaEarth是一个真正意义上的多模态地理空间基础模型。

  • • 多模态数据输入:该模型的核心能力在于其能够消化和理解极其多样化的地理空间数据源。它并不仅仅处理光学卫星影像,而是融合了:
    光学与热红外:来自哨兵-2(Sentinel-2)和陆地卫星(Landsat 8 & 9)的高频次观测数据。
    雷达数据:来自哨兵-1(Sentinel-1)的C波段合成孔径雷达(SAR)和ALOS PALSAR-2的扫描雷达数据,这些数据能穿透云层,提供全天候的观测能力。
    高程数据:包括GEDI的光栅冠层高度数据和GLO-30的全球数字高程模型。
    气候与重力场:整合了ERA5-Land的月度再分析气候数据和GRACE的月度重力场网格数据。
  • • 自监督学习范式:AlphaEarth采用了自监督学习的方法进行训练,在全球超过500万个地点,利用了超过30亿个独立的图像帧进行学习。它将一个地点随时间变化的卫星图像序列视为一部“视频”,从而学习跨越空间、时间和不同测量模式的深层规律。

模型通过从视频序列中提取非均匀采样的图像帧,来实现对时间轴上任意位置的索引

3. 卫星嵌入数据集:AI驱动的“分析就绪型”知识库#

如果说AlphaEarth是强大的引擎,那么由其衍生的卫星嵌入数据集,就是将这一引擎的动力直接交到了全球研究者手中。这个数据集是AlphaEarth模型推理计算的直接成果,是一个“分析就绪型”(analysis-ready)的知识库。

  • • 维度与表征:数据集的核心是64维的嵌入向量。这64个“波段”(从 A00 到 A63)可以被理解为一个点在64维超球面上的坐标,是对一个10米分辨率像素点的高度浓缩的语义描述。
  • • 时空信息的封装:每个10米像素的嵌入向量,都打包了一整年的多源卫星数据。它不仅捕捉了该像素点本身的光谱、纹理等属性,还包含了其周边区域的空间上下文信息以及关键的季节性信号(如植被的物候变化)。
  • • 覆盖范围与分辨率:该数据集提供了自2017年以来,每年一个版本的全球陆地表面10米分辨率的嵌入数据。

模型生成的卫星嵌入数据集三维可视化

对于研究人员而言,这个卫星嵌入数据集的发布堪称一个颠覆性的变革,其核心作用在于将AI的强大分析能力直接注入每一个像素,从而极大地提升了研究效率和深度。具体来说:

  • • 研究人员可以直接跳过传统卫星遥感中最为耗时和繁琐的数据预处理步骤,如大气校正和云层剔除,数据集提供的嵌入向量已经捕捉了地球每个像素点一整年的动态信息。
  • • 模型自动学习和提取的64维嵌入向量,本身就是为机器学习“量身定做”的、信息密度极高的特征,这意味着研究人员可以用更少的标注样本训练出更精准、泛化能力更强的分类或回归模型。
  • • 模型解锁了全新的分析范式:研究人员不仅可以进行更精准鲁棒的变化检测,还能在全球范围内执行内容相似性搜索(例如,找到所有与某个特定生态环境相似的区域),通过比对不同时期的嵌入向量,高效地追踪环境变迁。利用自动聚类等机器学习技术,在数据中发现隐藏的地理空间模式。用更少的标注数据就能在Earth Engine的机器学习分类器上训练出高精度的土地覆盖分类模型。

从影像到嵌入向量:将视频序列转化为信息丰富的特征向量,覆盖每一个 10米 x 10米 的像素

4. 如何访问和使用数据集#

这个强大的数据集已经通过Google Earth Engine (GEE) 平台向公众开放。研究人员和开发者可以直接在GEE中调用它,极大地简化了传统的工作流程。数据集链接地址:https://developers.google.com/earth-engine/datasets/catalog/GOOGLE\_SATELLITE\_EMBEDDING\_V1\_ANNUAL?hl=zh-cn

  • • 加载数据集:该数据集在Earth Engine中的ID为 GOOGLE/SATELLITE_EMBEDDING/V1/ANNUAL。你可以像加载任何其他影像集合一样加载它。
  • • 筛选数据:这是一个年度数据集,因此你需要根据你的研究需求,筛选出特定年份的影像。
  • • 直接用作特征:这64个波段的嵌入影像可以直接作为机器学习模型的输入特征,无需任何额外的归一化或特征工程(其向量已经是单位长度,非常适合分类和聚类算法)。

代码示例:土地覆盖分类

假设要对某个区域进行土地覆盖分类,传统方法需要你收集、筛选、去云、并计算多种光谱指数(如NDVI, EVI等)。而使用卫星嵌入数据集,流程被大大简化。

以下是一个在Earth Engine代码编辑器中(JavaScript API)进行分类的示例代码:

// 1. 定义你的研究区域和年份
var year = '2022';
var region = ee.Geometry.Polygon([[...]]); // 在此定义你的多边形区域
var trainingPoints = ee.FeatureCollection([...]); // 加载你带有土地覆盖标签(如'landcover'属性)的训练样本点
// 2. 加载卫星嵌入数据集并筛选出指定年份的影像
var embeddingsCollection = ee.ImageCollection('GOOGLE/SATELLITE_EMBEDDING/V1/ANNUAL');
var embeddingsImage = embeddingsCollection.filterDate(year + '-01-01', year + '-12-31').first();
// 3. 准备训练数据:直接从嵌入影像中为训练样本点提取特征
// GEE会自动使用影像的所有64个波段作为特征
var trainingData = embeddingsImage.sampleRegions({
collection: trainingPoints,
properties: ['landcover'], // 'landcover'是你标签的属性名
scale: 10
});
// 4. 训练一个分类器
// 例如,使用一个随机森林分类器
var classifier = ee.Classifier.smileRandomForest(50).train({
features: trainingData,
classProperty: 'landcover', // 指定哪个属性是分类标签
inputProperties: embeddingsImage.bandNames() // 使用全部64个波段
});
// 5. 对整个区域进行分类
var classifiedImage = embeddingsImage.classify(classifier);
// 6. 可视化你的分类结果
Map.centerObject(region, 10);
Map.addLayer(classifiedImage, {min: 1, max: 5, palette: ['blue', 'green', 'yellow', 'red', 'gray']}, 'Land Cover Classification');

通过这个流程,可以看到,从加载数据到获得最终分类图,整个过程变得异常流畅和高效。

AlphaEarth模型及其开放数据集代表了地球科学研究范式的一次重要转变。它通过先进的AI技术,将海量的、零散的地球观测数据,转化为了统一、连贯且易于处理的知识。这不仅极大地降低了前沿地理空间分析的技术门槛,更重要的是,它为我们提供了一个更深刻、更全面的视角来理解我们这颗星球的复杂动态,为共同应对气候变化、粮食安全、可持续发展等全球性挑战注入了强大的新动能。

 

数据集链接:
https://developers.google.com/earth-engine/datasets/catalog/GOOGLE\_SATELLITE\_EMBEDDING\_V1\_ANNUAL?hl=zh-cn====Google发布AI天气预报系统实时与历史预报数据.md====#

title: “Google发布AI天气预报系统实时与历史预报数据” published: 2025-02-03 description: "" image: “/images/Google发布AI天气预报系统实时与历史预报数据/img_155b7628.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#

****#

在全球气候变化日益加剧的背景下,快速且准确的天气预报变得尤为重要。然而,由于天气系统本身的混沌性、数据量庞大以及无法完全测量所有变量等特点,即使很小的测量误差也会迅速放大,导致预报准确性受到影响。传统数值天气预报(Numerical Weather Prediction, NWP)通过物理方程构建天气系统数学模型,依赖超算资源求解复杂方程组,虽在科学工程上取得里程碑式成就,却面临两大瓶颈:其一,物理方程设计与算法优化需耗费大量专业人力与时间成本;其二,高精度预测需调用数百台服务器协同计算,资源消耗巨大。而深度学习为天气预报提供了一种全新的思路:不使用物理方程,而是直接利用历史数据来构建预报系统。

因此,Google DeepMind和Google Research联合开发了新一代AI天气预报系统WeatherNext,该系统包括用于确定性预报的WeatherNext Graph和用于集合预报的WeatherNext Gen两个核心模型。作为一项最先进的基于人工智能的天气预报技术,WeatherNext与传统的基于物理方程的天气模型相比,不仅运算更快、效率更高,而且预报可靠性也更优。

近期,Google DeepMind现已通过Google云计算平台向全球科研人员开放了WeatherNext模型的访问权限,同时提供实时和历史数据支持。

本文将介绍WeatherNext模型家族的核心模型以及如何通过Google BigQuery和Google Earth Engine获取并分析WeatherNext提供的预报数据。

WeatherNext模型家族

WeatherNext是一个基于人工智能的最先进天气预报技术平台,由Google DeepMind和Google Research联合开发。目前,WeatherNext家族包含两个主要模型:

1. WeatherNext Graph

WeatherNext Graph代表了AI天气预报领域的重大进步。它提供比目前最佳确定性系统更准确、更高效的确定性预报 (即单次预测)。

该模型特别适用于对效率和时间分辨率要求极高的应用场景,且确定性预报更易于使用。

  • 预报内容: 单个地点和时间的单个天气预报
  • 时间分辨率: 6 小时
  • 预报时效: 10 天

WeatherNext Graph的核心是GraphCast模型,这是一个能够进行中长期天气预报的先进AI模型。GraphCast能够以空前的精度预测未来10天的天气状况,其速度和准确性均超越了行业金标准——欧洲中期天气预报中心 (ECMWF) 的高分辨率预报 (HRES) 系统。

GraphCast 的突破性在于它采用了深度学习方法,利用数据而非物理方程来构建天气预报系统。GraphCast通过学习数十年历史天气数据,建立地球天气演变的原因和结果模型。

GraphCast 基于机器学习和图神经网络 (GNNs),特别擅长处理空间结构化数据。它以 0.25 度经纬度 (赤道地区约 28km x 28km) 的高分辨率进行预报,覆盖全球超过一百万个网格点。在每个网格点,模型预测五种地表变量(包括温度、风速和风向、平均海平面气压)以及 37 个高度层级的六种大气变量(包括比湿、风速和风向、温度)。

尽管GraphCast的训练过程计算密集,但其预报模型效率极高。利用单个Google TPU v4机器,GraphCast可以在不到一分钟的时间内完成10天的预报。相比之下,使用传统方法(如 HRES)进行 10 天预报可能需要数百台超级计算机运行数小时。

在与金标准确定性系统 HRES 的全面性能评估中,GraphCast 在超过90%的 1380个测试变量和预报时效上提供了更准确的预测。在对流层(最接近地球表面的 6-20 公里区域)的评估中,GraphCast 在 99.7% 的测试变量上优于 HRES。

GraphCast 还能更早地发出极端天气事件预警,例如更准确地预测气旋路径,识别与洪水风险相关的大气河流,并预测极端高温的出现。这些能力有望通过提升准备程度来拯救生命。

2. WeatherNext Gen

WeatherNext Gen能够准确生成集合预报 (即一系列可能的未来天气情景),其性能优于目前广泛使用的集合模型。这有助于决策者更好地理解天气不确定性和极端天气风险。

作为最新模型,WeatherNext Gen具有更长的预报时效,其概率预报能够捕捉更广泛的天气演变轨迹,非常适合气旋路径追踪等应用。

  • 预报内容: 每个地点和时间最多 50 个天气预报集合
  • 时间分辨率: 12 小时
  • 预报时效: 15 天

WeatherNext Gen的核心是GenCast模型,这是一个高分辨率 (0.25°) 的AI集合预报模型。GenCast提供的日常天气和极端天气事件预报均优于顶级业务系统——欧洲中期天气预报中心 (ECMWF) 的ENS集合预报系统,预报时效可达15天。

GenCast是AI天气预报发展历程中的一个关键里程碑,它基于Google之前的确定性天气模型,并在其基础上进行了重大改进。与之前的模型不同,GenCast的预报结果包含50个或更多预测的集合,每个预测代表一种可能的天气演变轨迹。

GenCast 是一种扩散模型,属于生成式AI模型,与近年来在图像、视频和音乐生成领域取得突破性进展的模型类型相同。然而,GenCast与这些模型有所不同,它针对地球的球面几何形状进行了优化,并学习准确生成未来天气情景的复杂概率分布。

GenCast 通过使用ECMWF的ERA5档案库中四十年历史天气数据进行训练。这些数据包括温度、风速以及不同高度的气压等变量。模型从这些处理后的天气数据中学习了全球天气模式,分辨率为0.25°。

为了严格评估GenCast的性能,研究人员使用2018年之前的历史天气数据对其进行训练,并使用2019年的数据进行测试。GenCast在97.2%的目标变量和预报时效组合中优于ENS,在预报时效超过36小时的情况下,这一比例高达99.8%。

利用单个Google Cloud TPU v5,GenCast仅需8分钟即可生成一个15天的集合预报,并且集合中的每个预报都可以并行生成。相比之下,传统的物理集合预报(如 ENS)在0.2°或0.1°分辨率下,需要数万台超级计算机运行数小时才能完成。

GenCast在极端天气事件预报方面也表现出色,能够更准确地预测极端高温、寒冷和大风风险。在热带气旋(飓风和台风)预测方面,GenCast能够更准确地预测风暴路径,为提前预警争取宝贵时间。

获取WeatherNext提供的实时与历史预报数据

WeatherNext提供每日四次的实时预报,以及历史预报数据,以便用户将这些天气输入整合到他们自己的模型和研究工作流程中,可用于研究、分析和辅助决策。

WeatherNext通过Google Cloud的BigQuery和Earth Engine两大平台提供全面的数据访问服务。其中,BigQuery作为一个强大的数据仓库服务,支持研究人员通过SQL语句进行复杂的结构化查询,可以精确获取特定城市的温度预报、分析降水量预测等数值型数据分析;而Google Earth Engine则专注于地理空间数据的处理,提供了强大的可视化和空间分析能力,使用者可以直观地展示温度分布、观察气象要素的空间分布特征,以及呈现天气系统的动态演变过程。

1. WeatherNext Graph预报

WeatherNext Graph实验性数据集包括实时数据和历史数据。实时数据是指与过去48小时内的时间相关的数据 (“实时实验数据”),而历史数据是指与 48 小时之前的时间相关的数据 (“历史实验数据”)。该数据集包含主要的地面要素,包括温度、风、降水、湿度、位势、垂直速度和气压。空间分辨率为0.25度。预报初始时间分辨率为 6 小时 (00z, 06z, 12z, 18z)。预报时效分辨率为 6 小时,最长预报时效为 10 天。

  • 通过BigQuery访问数据资源

数据集链接地址:https://console.cloud.google.com/bigquery/analytics-hub/discovery/projects/gcp-public-data-weathernext/locations/us/dataExchanges/weathernext\_19397e1bcb7/listings/weathernext\_graph\_forecasts\_19398be87ec

查询纽约市的2米气温预报数据:

1SELECT
2 t1.init_time,
3 t2.time AS forecast_time,
4 t2.2m_temperature
5FROM
6 dataset AS t1,
7 t1.forecast AS t2
8WHERE
9 ST_CONTAINS(t1.geography_polygon, ST_GEOGFROMTEXT(‘POLYGON((-70.66 40.64, -73.85 40.64, -73.85 40.89, -70.66 40.89, -70.66 40.64))’)) # New York City
10 AND t1.init_time BETWEEN TIMESTAMP(‘2024-10-17 00:00:00 UTC’)
11 AND TIMESTAMP(‘2024-10-21 00:00:00 UTC’)
12ORDER BY
13 t1.init_time,
14 t2.time

芝加哥市降水预报的查询,该示例演示了如何获取特定的天气变量(6小时累积降水量)并按预报时间进行筛选。

1SELECT
2 t2.time,
3 t2.total_precipitation_6hr
4FROM
5 dataset AS t1,
6 t1.forecast AS t2
7WHERE
8 ST_CONTAINS(t1.geography_polygon, ST_GEOGPOINT(-87.65, 41.85))
9 AND t1.init_time BETWEEN TIMESTAMP(‘2024-10-20 18:00:00 UTC’)
10 AND TIMESTAMP(‘2024-10-25 18:00:00 UTC’)
11 AND t2.hours = 6

  • 通过Goolge Earth Engine访问和分析数据资源

数据集链接地址:https://developers.google.com/earth-engine/datasets/catalog/projects\_gcp-public-data-weathernext\_assets\_59572747\_4\_0

var dataset =
ee.ImageCollection(
‘projects/gcp-public-data-weathernext/assets/59572747_4_0’)
.filter(ee.Filter.date(‘2020-10-01T06:00:00Z’, ‘2020-10-01T06:01:00Z’))
.filter(ee.Filter.eq(‘forecast_hour’, 6));
var temperature = dataset.select(‘2m_temperature’);

var visParams = {
min: 220,
max: 350,
palette: [
‘darkblue’, ‘blue’, ‘cyan’, ‘green’, ‘yellow’, ‘orange’, ‘red’, ‘darkred’
]
};

Map.addLayer(temperature, visParams, ‘2m Temperature’);

2. WeatherNext Gen 预报

WeatherNext Gen实验性数据集包括实时数据和历史数据。数据集包含主要的地面要素,包括温度、风、降水、湿度、位势、海平面温度、垂直速度和气压。空间分辨率为0.25度。预报初始时间分辨率为6小时 (00z, 06z, 12z, 18z)。预报时效分辨率为12小时,最长预报时效为15天。

需要注意的是,当前部署的实验数据集使用的是在研究模型基础上开发的业务版本。这意味着实际运行的业务模型的准确性可能与研究论文中报告的准确性存在一定差异,同时业务版本的预报数据集可能包含了一些额外的气象变量。

  • 通过BigQuery访问数据资源

数据集链接地址:https://console.cloud.google.com/bigquery/analytics-hub/discovery/projects/gcp-public-data-weathernext/locations/us/dataExchanges/weathernext\_19397e1bcb7/listings/weathernext\_gen\_forecasts\_193b7e476d7

以纽约市为例,通过查询可以获取该市2米高度处的平均气温预报,这个查询会计算所有集合成员的平均温度值,展示如何访问和分析数据表中的核心天气数据。

1SELECT
2 t1.init_time,
3 forecast.time AS forecast_time,
4 AVG(ensemble.2m_temperature)
5FROM
6 dataset AS t1,
7 UNNEST(forecast) AS forecast,
8 UNNEST(ensemble) AS ensemble
9WHERE
10 ST_CONTAINS(t1.geography_polygon, ST_GEOGFROMTEXT(‘POLYGON((-70.66 40.64, -73.85 40.64, -73.85 40.89, -70.66 40.89, -70.66 40.64))’)) # New York City
11 AND t1.init_time BETWEEN TIMESTAMP(‘2024-12-10 00:00:00 UTC’)
12 AND TIMESTAMP(‘2024-12-12 00:00:00 UTC’)
13GROUP BY
14 1,
15 2
16ORDER BY
17 t1.init_time,
18 forecast_time

另一个示例是芝加哥市的降水预报查询,该查询可以获取单个集合成员预测的12小时累积降水量,这个例子展示如何获取特定的天气变量并按预报时间进行筛选。

1SELECT
2 t1.init_time,
3 ensemble.total_precipitation_12hr
4FROM
5 dataset AS t1,
6 UNNEST(forecast) AS forecast,
7 UNNEST(ensemble) AS ensemble
8WHERE
9 ST_CONTAINS(t1.geography_polygon, ST_GEOGPOINT(-87.65, 41.85))
10 AND t1.init_time BETWEEN TIMESTAMP(‘2024-12-10 00:00:00 UTC’)
11 AND TIMESTAMP(‘2024-12-12 00:00:00 UTC’)
12 AND forecast.hours = 12
13 AND ensemble.ensemble_member = ‘0’
14ORDER BY
15 t1.init_time

这两个示例很好地说明了WeatherNext Gen在处理集合预报数据时的灵活性,既可以进行集合平均的统计分析,也支持查看单个集合成员的具体预报结果。

  • 通过Goolge Earth Engine访问和分析数据资源

数据集链接地址:https://developers.google.com/earth-engine/datasets/catalog/projects\_gcp-public-data-weathernext\_assets\_126478713\_1\_0#citations

var dataset =
ee.ImageCollection(
‘projects/gcp-public-data-weathernext/assets/126478713_1_0’)
.filter(ee.Filter.date(‘2020-10-01T06:00:00Z’, ‘2020-10-01T06:01:00Z’))
.filter(ee.Filter.eq(‘ensemble_member’, ‘8’))
.filter(ee.Filter.eq(‘forecast_hour’, 12));
var temperature = dataset.select(‘2m_temperature’);

var visParams = {
min: 220,
max: 350,
palette: [
‘darkblue’, ‘blue’, ‘cyan’, ‘green’, ‘yellow’, ‘orange’, ‘red’, ‘darkred’
]
};

Map.addLayer(temperature, visParams, ‘2m Temperature’);

开源代码与模型权重

为了促进更广泛的合作,加速天气和气候领域的研发,Google已将WeatherNext的相关模型开源,代码仓库地址为:https://github.com/google-deepmind/graphcast。

该代码仓库包含运行和训练GraphCast 和 GenCast 模型的示例代码,以及预训练的模型权重、归一化统计数据和示例输入数据。完整的模型训练需要下载ECMWF的ERA5数据集,可以访问Weatherbench2的 ERA5数据。业务微调的数据同样可以在Weatherbench2的HRES Oth帧数据中访问。

**References:**‍‍‍‍‍‍‍‍‍

本公众号相关内容推荐#

‍‍

  • Remi Lam et aLearning skillful medium-range global weather forecasting.Science382,1416-1421(2023).DOI:10.1126/science.adi2336 ‍====Google发布全球10m分辨率近实时土地覆盖数据产品.md====

title: “Google发布全球10m分辨率近实时土地覆盖数据产品” published: 2022-06-10 description: “6月9日,谷歌发布了全球10米分辨率的近实时(NRT)土地利用/土地覆盖(LULC)数据产品” image: “/images/Google发布全球10m分辨率近实时土地覆盖数据产品/img_e29de206.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#

6月9日,谷歌发布了一套全球10米分辨率的近实时(NRT)土地利用/土地覆盖(LULC)数据产品,并联合非营利性研究机构-World Resources Institute开发了数据应用系统Dynamic World。使用该系统,用户可以近乎实时地显示如树木生长、被淹没地区或农作物生长变化等。

目前常用的全球土地覆盖图需要几个月的时间来制作,而且通常只提供每月或每年的土地覆盖数据。Dynamic World基于GEE(Google Earth Engine)和AI平台,使用Sentinel-2 L1C数据训练深度学习神经网络模型(FCNN)每天产出5000张图片产品,最新数据依赖于卫星重访频率(2-5天)。产品包括9大类型,详细如下图。

DynamicWorld产品在识别发生大量变化的地区方面优势明显。比如,通过几行代码就能识别经常被淹没的作物或冬季结冰的湖泊。如果你正在研究作物分类问题,那么你的工作就变得简单得多。捕获作物物候就像将概率波段添加到Sentinel-2波段并训练分类器一样简单,不需要任何高级技术就能获得较好的结果。

哨兵2号卫星图像(左)和动态世界数据集(右)显示了博茨瓦纳奥卡万戈三角洲的典型季节性变化。

示例应用(需自备梯子):

https://developers.google.com/earth-engine/tutorials/community/introduction-to-dynamic-world-pt-1

数据产品地址:

https://developers.google.com/earthengine/datasets/catalog/GOOGLE\_DYNAMICWORLD\_V1 (需自备梯子)

https://resourcewatch.org/

数据应用系统(dynamicworld.app):https://www.dynamicworld.app/

深度学习模型:https://github.com/google/dynamicworld

发表在Nature Scientific Data的文章:Brown, C.F., Brumby, S.P., Guzder-Williams, B. et al. Dynamic World, Near real-time global 10 m land use land cover mapping. Sci Data 9, 251 (2022). https://doi.org/10.1038/s41597-022-01307-4====Google发布最新开放文本嵌入模型-EmbeddingGemma.md====#

title: “Google发布最新开放文本嵌入模型:EmbeddingGemma” published: 2025-09-06 description: "" image: “/images/Google发布最新开放文本嵌入模型-EmbeddingGemma/img_c4138dff.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#

在人工智能快速发展的今天,嵌入模型(Embedding Model)是构建高级应用,如语义搜索、推荐系统以及检索增强生成(RAG)等系统的核心基石。一个高质量的嵌入模型能够将复杂的文本信息压缩成精确的、可计算的向量,从而让机器更好地理解和处理语言。从推荐系统到语义搜索,从检索增强生成(RAG)到代码搜索工具,这些应用都依赖于高质量的文本嵌入向量。然而,大多数高性能的嵌入模型都需要在云端运行,这带来了隐私、延迟和成本方面的挑战。

Google最新发布的EmbeddingGemma改变了这一现状。这是一个专门为设备端AI设计的开源嵌入模型,在保持卓越性能的同时,实现了真正的本地化部署。本文将深入解析EmbeddingGemma的技术特性、应用场景以及具体的使用方法。

EmbeddingGemma核心特性#

EmbeddingGemma拥有3.08亿参数,体积小巧但性能强劲。更令人印象深刻的是,通过量化感知训练(Quantization-Aware Training, QAT),模型的RAM使用量被压缩到200MB以下,使其能够在移动设备、笔记本电脑甚至桌面设备上流畅运行。

关键性能指标:

  • • 参数规模:308M参数
  • • 内存占用:量化后<200MB RAM
  • • 推理速度:EdgeTPU上256个token的嵌入推理时间<15ms
  • • 上下文窗口:2K token

多语言支持与基准测试表现#

EmbeddingGemma支持100多种语言,在多语言文本嵌入基准测试(MTEB)中取得了5亿参数以下模型的最高排名。其性能可以与参数规模接近两倍的流行模型相匹敌,特别是在跨语言检索和语义搜索任务中表现突出。


Matryoshka表征学习(MRL)#

EmbeddingGemma采用了Matryoshka表征学习技术,这是一个创新的设计特性。开发者可以使用完整的768维向量获得最高质量的嵌入,也可以将其截断为更小的维度(128、256或512维)以提高速度并降低存储成本,而质量损失微乎其微。

# 示例:不同维度的嵌入使用
from sentence_transformers import SentenceTransformer
model = SentenceTransformer("google/embeddinggemma-300m")
# 生成完整768维嵌入
full_embedding = model.encode(["示例文本"], output_dimensions=768)
# 截断为256维嵌入,适合快速检索
compact_embedding = model.encode(["示例文本"], output_dimensions=256)

技术架构深度解析#

EmbeddingGemma构建在Gemma 3架构基础上,采用标准的Transformer编码器堆栈,具有全序列自注意力机制。这种设计非常适合文本嵌入模型的需求,不同于Gemma 3中用于图像输入的多模态双向注意力层。

  • • 标准Transformer编码器
  • • 均值池化(Mean Pooling)生成固定长度向量
  • • 768维输出嵌入
  • • 支持最多2048个token的序列

量化感知训练(QAT)#

通过QAT技术,EmbeddingGemma在保持模型质量的同时显著减少了内存使用。具体的量化策略包括:

  • • 嵌入层、前馈网络、投影层使用int4量化
  • • 注意力层使用int8量化
  • • 混合精度策略优化性能和效率平衡

实际应用场景#

1. 本地RAG系统#

EmbeddingGemma的设计初衷就是为了支持完全离线的RAG管道。结合Gemma 3模型,开发者可以构建完全本地化的智能问答系统。

# 本地RAG示例
import numpy as np
from sentence_transformers import SentenceTransformer
from sklearn.metrics.pairwise import cosine_similarity
# 加载EmbeddingGemma模型
embedding_model = SentenceTransformer("google/embeddinggemma-300m")
# 文档库嵌入
documents = [
    "人工智能是计算机科学的一个分支",
    "机器学习是实现人工智能的重要方法",
    "深度学习是机器学习的一个子集"
]
doc_embeddings = embedding_model.encode(documents)
# 查询处理
query = "什么是AI?"
query_embedding = embedding_model.encode([query])
# 相似度搜索
similarities = cosine_similarity(query_embedding, doc_embeddings)
best_match_idx = np.argmax(similarities)
print(f"最相关文档: {documents[best_match_idx]}")

2. 移动端语义搜索#

EmbeddingGemma的轻量化特性使其非常适合移动应用。开发者可以将整个搜索功能集成到移动应用中,无需网络连接即可实现强大的语义搜索。

3. 隐私保护的企业应用#

对于处理敏感数据的企业应用,EmbeddingGemma提供了理想的解决方案。所有的嵌入生成都在本地设备上完成,确保敏感数据不会离开企业内部网络。

 

开发集成指南#

环境配置#

# 安装必要的依赖
pip install sentence-transformers
pip install transformers
pip install torch

基础使用示例#

from sentence_transformers import SentenceTransformer
# 1. 加载模型
model = SentenceTransformer("google/embeddinggemma-300m")
# 2. 生成嵌入
texts = [
    "今天天气真好",
    "我喜欢机器学习",
    "Python是一门强大的编程语言"
]
embeddings = model.encode(texts)
print(f"嵌入维度: {embeddings.shape}")
# 3. 计算文本相似度
from sklearn.metrics.pairwise import cosine_similarity
similarity_matrix = cosine_similarity(embeddings)
print("相似度矩阵:")
print(similarity_matrix)

针对特定任务的提示模板#

EmbeddingGemma支持基于任务的提示模板,可以针对不同的使用场景生成优化的嵌入:

# 查询提示模板
def format_query(query, task="search result"):
    return f"task: {task} | query: {query}"
# 文档提示模板
def format_document(doc, task="search result"):
    return f"task: {task} | document: {doc}"
# 使用示例
query = format_query("人工智能的发展历史")
document = format_document("人工智能技术在过去几十年中取得了巨大进展")
query_emb = model.encode([query])
doc_emb = model.encode([document])

与主流框架集成#

EmbeddingGemma已经与多个流行的AI开发框架无缝集成:

# 与LangChain集成
from langchain.embeddings import HuggingFaceEmbeddings
embeddings = HuggingFaceEmbeddings(
    model_name="google/embeddinggemma-300m"
)
# 与LlamaIndex集成
from llama_index.embeddings.huggingface import HuggingFaceEmbedding
embed_model = HuggingFaceEmbedding(
    model_name="google/embeddinggemma-300m"
)

微调(Fine-tuning)#

虽然 EmbeddingGemma 的预训练版本已经足够强大,但在特定领域或专业任务上,通过微调可以让其性能更上一层楼。例如,你可以使用自己业务场景中的数据(如内部知识库的问答对)来对模型进行微调,使其更懂你的“行话”。

官方推荐使用 sentence-transformers 库来进行微调,因为它提供了非常便捷的训练流程。

# 加载模型
import torch
from sentence_transformers import SentenceTransformer
from datasets import Dataset
device = "cuda" if torch.cuda.is_available() else "cpu"
model_id = "google/embeddinggemma-300M"
model = SentenceTransformer(model_id).to(device=device)
print(f"Device: {model.device}")
print(model)
print("Total number of parameters in the model:", sum([p.numel() for _, p in model.named_parameters()]))
# 准备微调数据集
dataset = [
    ["How do I open a NISA account?", "What is the procedure for starting a new tax-free investment account?", "I want to check the balance of my regular savings account."],
    ["Are there fees for making an early repayment on a home loan?", "If I pay back my house loan early, will there be any costs?", "What is the management fee for this investment trust?"],
    ["What is the coverage for medical insurance?", "Tell me about the benefits of the health insurance plan.", "What is the cancellation policy for my life insurance?"],
]
# Convert the list-based dataset into a list of dictionaries.
data_as_dicts = [ {"anchor": row[0], "positive": row[1], "negative": row[2]} for row in dataset ]
# Create a Hugging Face `Dataset` object from the list of dictionaries.
train_dataset = Dataset.from_list(data_as_dicts)
print(train_dataset)
task_name = "STS"
def get_scores(query, documents):
  # Calculate embeddings by calling model.encode()
  query_embeddings = model.encode(query, prompt=task_name)
  doc_embeddings = model.encode(documents, prompt=task_name)
  # Calculate the embedding similarities
  similarities = model.similarity(query_embeddings, doc_embeddings)
  for idx, doc in enumerate(documents):
    print("Document: ", doc, "-> 🤖 Score: ", similarities.numpy()[0][idx])
query = "I want to start a tax-free installment investment, what should I do?"
documents = ["Opening a NISA Account", "Opening a Regular Savings Account", "Home Loan Application Guide"]
get_scores(query, documents)
from sentence_transformers import SentenceTransformerTrainer, SentenceTransformerTrainingArguments
from sentence_transformers.losses import MultipleNegativesRankingLoss
from transformers import TrainerCallback
loss = MultipleNegativesRankingLoss(model)
args = SentenceTransformerTrainingArguments(
    # Required parameter:
    output_dir="my-embedding-gemma",
    # Optional training parameters:
    prompts=model.prompts[task_name],    # use model's prompt to train
    num_train_epochs=5,
    per_device_train_batch_size=1,
    learning_rate=2e-5,
    warmup_ratio=0.1,
    # Optional tracking/debugging parameters:
    logging_steps=train_dataset.num_rows,
    report_to="none",
)
class MyCallback(TrainerCallback):
    "A callback that evaluates the model at the end of eopch"
    def __init__(self, evaluate):
        self.evaluate = evaluate # evaluate function
    def on_log(self, args, state, control, **kwargs):
        # Evaluate the model using text generation
        print(f"Step {state.global_step} finished. Running evaluation:")
        self.evaluate()
def evaluate():
  get_scores(query, documents)
trainer = SentenceTransformerTrainer(
    model=model,
    args=args,
    train_dataset=train_dataset,
    loss=loss,
    callbacks=[MyCallback(evaluate)]
)
trainer.train()

 

部署与优化#

Docker部署#

# CPU部署
docker run -p 8080:80 ghcr.io/huggingface/text-embeddings-inference:cpu-1.8.1 \
  --model-id google/embeddinggemma-300m --dtype float32
# GPU部署(支持多种GPU架构)
docker run --gpus all --shm-size 1g -p 8080:80 \
  ghcr.io/huggingface/text-embeddings-inference:cuda-1.8.1 \
  --model-id google/embeddinggemma-300m --dtype float32

ONNX优化部署#

# 使用ONNX优化版本
docker run -p 8080:80 ghcr.io/huggingface/text-embeddings-inference:cpu-1.8.1 \
  --model-id onnx-community/embeddinggemma-300m-ONNX \
  --dtype float32 --pooling mean

性能调优建议#

  1. 1. 选择合适的嵌入维度:根据应用需求在质量和性能之间找到平衡
  2. 2. 批处理优化:对大量文本进行批处理可以显著提高吞吐量
  3. 3. 缓存策略:对常用文本的嵌入结果进行缓存
  4. 4. 硬件选择:EdgeTPU能够提供最佳的推理性能

微调与定制化#

领域特定微调#

EmbeddingGemma支持针对特定领域的微调,以获得更好的性能:

from sentence_transformers import SentenceTransformer, InputExample, losses
from torch.utils.data import DataLoader
# 准备训练数据
train_examples = [
    InputExample(texts=['查询文本', '相关文档'], label=1.0),
    InputExample(texts=['查询文本', '不相关文档'], label=0.0),
]
# 创建数据加载器
train_dataloader = DataLoader(train_examples, shuffle=True, batch_size=16)
# 加载预训练模型
model = SentenceTransformer('google/embeddinggemma-300m')
# 定义损失函数
train_loss = losses.CosineSimilarityLoss(model)
# 微调模型
model.fit(
    train_objectives=[(train_dataloader, train_loss)],
    epochs=1,
    warmup_steps=100
)

最佳实践与注意事项#

性能优化建议#

  1. 1. 批量处理:尽可能使用批量推理来提高吞吐量
  2. 2. 维度选择:根据具体应用场景选择合适的嵌入维度
  3. 3. 缓存机制:对重复查询的结果进行缓存
  4. 4. 硬件优化:选择合适的硬件平台以获得最佳性能

安全与隐私考虑#

  1. 1. 本地处理:充分利用模型的本地运行能力保护数据隐私
  2. 2. 访问控制:实施适当的访问控制机制
  3. 3. 数据脱敏:在必要时对敏感数据进行脱敏处理

模型限制与注意事项#

  1. 1. 上下文长度:模型最大支持2K token的输入
  2. 2. 语言支持:虽然支持100多种语言,但在某些低资源语言上性能可能有限
  3. 3. 领域适应:对于特定领域的应用,建议进行微调以获得最佳效果

实际案例分析#

案例1:企业文档检索系统#

某金融科技公司使用EmbeddingGemma构建了内部文档检索系统,实现了以下效果:

  • • 检索准确率提升:F1分数相比之前的模型提升1.9%
  • • 响应速度:平均查询延迟降至420ms
  • • 隐私保护:所有数据处理都在本地完成

案例2:代码语义搜索#

开源AI编程助手Roo Code使用EmbeddingGemma实现代码库索引和语义搜索:

  • • 结合Tree-sitter进行逻辑代码分割
  • • 显著改善了LLM驱动的代码搜索准确性
  • • 支持模糊查询,更贴近开发者工作流程

总结#

EmbeddingGemma代表了设备端AI嵌入模型的重大突破。它成功地在模型大小、性能和功能性之间找到了理想的平衡点,为开发者提供了一个强大而灵活的工具来构建隐私保护、低延迟的AI应用。

核心优势总结:

  • • 轻量高效:308M参数,<200MB内存占用
  • • 性能卓越:5亿参数以下模型MTEB排名第一
  • • 隐私友好:完全本地化处理,无需云端依赖
  • • 易于集成:支持主流AI开发框架和工具
  • • 灵活可扩展:支持多种部署方式和微调选项

References#

官方文档:

模型下载与平台:

技术文档与集成指南:

 

====Google推出地理空间推理模型.md====#

title: “Google推出地理空间推理模型” published: 2025-04-09 description: “点击下面卡片,快速关注本公众号地理空间信息,即与特定地理位置相关联的数据,是理解和应对现实世界复杂问题的基础” image: “/images/Google推出地理空间推理模型/img_89f33608.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#

地理空间信息,即与特定地理位置相关联的数据,是理解和应对现实世界复杂问题的基础。从日常的地图导航、天气预报,到专业的城市规划、气候变化应对,地理空间数据的有效利用至关重要。然而,地理空间信息本身具有规模庞大、结构复杂、多源异构等特点,其采集、存储、处理和分析往往需要专门的技术和平台。传统方法在数据对齐、交叉引用以及从海量数据中提取深层理解方面面临挑战,同时,新兴的突破性人工智能技术并非天然适用于地理空间问题的独特约束。

在此背景下,谷歌推出了“地理空间推理”(Geospatial Reasoning)研究项目,该项目结合生成式AI的强大推理能力与多个专门构建的预训练地理空间基础模型,目标是加速地理空间问题的解决,为灾害响应、全球气候变化和辅助决策应用等领域提供更强大的分析支持。

地理空间基础模型#

地理空间推理的核心依赖于一系列强大的基础模型。谷歌此前已推出了两款预训练、多用途的模型:人口动态基础模型(PDFM)用于捕捉人口行为与环境的复杂互动,以及一个基于轨迹的移动性基础模型。

近期,谷歌进一步扩展了其模型库,推出了新的遥感基础模型。这些模型基于成熟的架构(如 Masked Autoencoders, SigLIP, MaMMUT, OWL-VIT)并针对遥感领域进行了深度适配和优化。其训练数据涵盖了高分辨率的卫星与航空影像,并辅以相应的文本描述和边界框标注。

这些遥感基础模型具备以下关键能力:

1. 生成丰富的嵌入表示:能够为图像和图像中的对象生成高质量的向量表示(Embeddings),捕捉其语义和空间特征。

2. 支持下游任务微调:可针对特定的遥感任务进行微调(Fine-tuning),例如建筑物与道路测绘、灾后损失评估、基础设施定位等,并在谷歌内部多个遥感项目中验证了其对任务指标的提升作用。

3. 自然语言交互与零样本能力:提供灵活的自然语言接口,支持图像检索(如查找“带有太阳能板的住宅建筑”)和零样本分类(Zero-shot Classification,如识别“无法通行的道路”),无需针对特定类别进行额外训练。

根据谷歌的评估,这些模型在广泛的遥感基准测试(涵盖分类、分割、目标检测)中,无论是在冻结特征评估还是微调及零样本设置下,均展现出较好的性能,部分达到业界领先水平。

智能体工作流与协同推理#

Geospatial Reasoning不仅仅是模型的集合,更是一个用于构建智能体工作流(Agentic Workflows)的框架。它旨在赋能开发者、数据分析师和科学家,将谷歌的先进基础模型与用户自有的模型、数据集以及公共数据源进行高效整合。该框架是谷歌早期在Google Earth中试点Gemin 能力(用于创建数据图层、执行GIS操作、生成报告)的扩展和深化。

其核心运作机制如下:

1. 自然语言驱动
用户通过自然语言提出复杂的地理空间分析请求。

2. Gemini智能编排
大语言模型(如Gemini)作为核心推理引擎,理解用户意图,并智能地规划和执行一个包含多个步骤的“推理链”。

3. 多模型、多数据源协同
Gemini调度和协调不同的组件进行工作,包括:

  • • 调用谷歌的地理空间基础模型(如遥感模型进行图像分析、PDFM进行人口动态分析)。
  • • 访问和处理谷歌的平台数据(如Google Earth Engine、BigQuery、Google Maps Platform、Google Cloud Storage)。
  • • 整合用户提供的专有数据或第三方数据源。
  • • 调用其他AI模型(如WeatherNext进行风险预测)。
  • • 执行必要的地理空间运算(如坐标转换、空间查询)。

4. 生成结果与可视化
最终,框架整合分析结果,以结果摘要、数据可视化(如图表、地图渲染)等形式,向用户提供快速、可信的答案。

应用示例:飓风灾后快速评估#

项目通过一个飓风灾后评估的示例场景,演示Geospatial Reasoning的工作流程:

1. 灾前背景可视化
利用Google Earth Engine加载开源卫星影像,了解灾前情况。

2. 灾后现状可视化
导入用户提供或外部获取的高分辨率航拍影像。

3. 自动化损伤识别
调用遥感基础模型(如基于OWL-VIT的专用模型)分析航拍图像,自动检测建筑物,并通过进一步分析(可能由Gemini或专门的图像描述模型完成)评估其受损程度(如屋顶损坏、瓦砾)和洪水影响范围。

4. 风险预测
调用WeatherNext AI天气预报,预测次生灾害风险。

5. 综合查询与分析
用户可通过自然语言向Gemini提问,获取更深层次的洞察,例如:

  • • 统计受损建筑的比例。
  • • 人口普查数据估算财产损失金额。
  • • 社会脆弱性指数(SVI)提出救援优先级建议。

此示例中,首先从Google Cloud Storage检索高分辨率图像,Gemini指示调用专门的遥感模型进行对象检测(“查找图像中的建筑物”),返回边界框坐标。随后,图像块被发送给Gemini或特定任务模型进行灾害评估,最终结果被汇总呈现。

技术架构概览#

为支持此类应用,谷歌构建了一个演示性的技术架构,其关键组件包括:

1. 前端
一个集成了地图和图表组件的Python应用,提供聊天交互界面。

2. 后端
一个基于LangGraph实现的智能体(Agent),部署在Vertex AI Agent Engine 上。

3. 工具集
该智能体可调用一系列大语言模型可访问的工具,包括:

  • • 数据访问:Earth Engine, BigQuery, Google Maps Platform, Google Cloud Storage Reader。
  • • 模型推理:调用部署在Vertex AI上的遥感基础模型端点。
  • • 地理空间操作:执行坐标转换、空间分析等常规GIS功能。

4. 部署平台:主要依托Google云计算平台,特别是Vertex AI进行模型部署和智能体运行。

在飓风示例的具体实现中,还整合了来自美国民用航空巡逻队(Civil Air Patrol)的航拍图像、X公司Bellwether项目提供的预处理能力(地理定位、关键设施识别)、Google Research 的Open Buildings和SKAI模型预计算的建筑检测与损伤评估结果(基于NOAA图像)、以及社会脆弱性指数、房价数据和 WeatherNext等多源信息。

未来展望#

Geospatial Reasoning仍在开发中,但其展示了融合生成式AI和领域专用基础模型在应对复杂地理空间挑战方面的巨大潜力。通过简化数据整合、加速分析流程、赋能深度洞察,该技术有望在气候变化、城市发展、资源管理、应急响应等多个关键领域发挥重要作用。

References#

 

本公众号相关内容推荐#


title: “GraphRAG:让大语言模型更智能的知识图谱增强检索技术” published: 2025-11-30 description: "" image: “/images/GraphRAG-让大语言模型更智能的知识图谱增强检索技术/img_cb14d69a.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#

GraphRAG通过将知识图谱与RAG技术结合,为大语言模型提供准确、可解释的上下文信息,显著提升AI应用的回答质量和可靠性。

为什么需要 GraphRAG?#

传统 LLM 的挑战#

当前大语言模型面临几个核心问题:

  1. 1. 缺乏企业领域知识 - LLM 的训练数据无法覆盖企业特定的业务知识
  2. 2. 无法验证和解释答案 - 输出结果难以追溯和验证
  3. 3. 容易产生幻觉(Hallucination) - 模型可能编造不存在的信息
  4. 4. 存在数据偏见 - 训练数据的偏见会影响输出结果

用一个形象的比喻:LLM就像一只鹦鹉,它能模仿人类说话,但并不真正理解语言的含义。

传统RAG的局限性#

向量数据库和基础 RAG 系统虽然能够引入外部数据,但仍存在明显不足:

  • • 只返回部分信息 - 基于向量相似度的检索只能获取数据集的一小部分
  • • 技术成熟度不足 - 现代向量数据库易于上手,但缺乏企业级的可扩展性和容错能力
  • • 相似性不等于相关性 - 向量相似的结果不一定是真正相关的答案
  • • 难以解释 - 基于统计概率的检索结果缺乏可解释性

GraphRAG的核心优势#

GraphRAG将知识图谱引入RAG架构,就像给LLM配备了一个“左脑”:

能力传统 RAGGraph RAG
相关性向量相似度图关系遍历
上下文片段级别完整关联网络
可解释性难以解释节点和关系可视化
安全性有限支持基于角色的访问控制

研究验证#

微软研究院的GraphRAG论文表明,GraphRAG 不仅能获得更好的结果,而且token成本更低。Data.world 的研究显示,GraphRAG相比传统 SQL 上的RAG,准确率提升了 3 倍

LinkedIn 的客户支持案例中,使用知识图谱后:

  • • 问题解决时间中位数降低了 28.6%
  • • 响应质量显著提升

知识图谱基础#

什么是知识图谱?#

知识图谱由三个核心元素组成:

  • • 节点(Nodes) - 表示实体,如人、公司、产品
  • • 关系(Relationships) - 表示实体间的连接,如”拥有”、“工作于”
  • • 属性(Properties) - 描述实体和关系的特征
┌─────────┐      owns       ┌─────────┐
│  Alice  │────────────────▶│   Car   │
└─────────┘                  └─────────┘
     │                            │
     │ lives_with                 │ driven_by
     ▼                            ▼
┌─────────┐                  ┌─────────┐
│   Bob   │──────────────────│   Bob   │
└─────────┘                  └─────────┘

这个简单的例子展示了知识图谱如何捕捉复杂的关系:Alice 拥有车,但实际上是 Bob 在驾驶它。这种细粒度的关系建模是向量数据库难以实现的。

GraphRAG 实现模式#

整体架构#

GraphRAG 的实现分为两个主要阶段:

阶段一:知识图谱构建

    1. 处理非结构化信息
    1. 构建词法图(Lexical Graph)- 表示文档、片段及其关系
    1. 提取实体和关系(使用 LLM)
    1. 图算法增强(PageRank、社区检测等)

阶段二:图检索

  • • 本地搜索(Local Search)
  • • 全局搜索(Global Search)
  • • 混合搜索策略

知识图谱构建详解#

1. 词法图构建#

词法图是将文档结构化的第一步,它表示:

  • • 文档(Documents)
  • • 文本块(Chunks)
  • • 它们之间的关系(如”包含”、“下一个”)

2. 实体和关系提取#

使用 LLM 从文本中提取实体和关系:

# 伪代码示例
prompt = """
从以下文本中提取实体和关系:
{text}
Schema:
- 实体类型:Person, Organization, Product
- 关系类型:works_at, owns, created
"""

如果已有预定义的实体列表(如客户、合作伙伴),可以在提示中传入,让 LLM 进行识别匹配而非提取,提高准确性。

3. 图算法增强#

通过图算法进一步丰富知识图谱:

  • • 社区检测(Community Detection) - 识别跨文档的主题聚类
  • • PageRank - 计算实体的重要性
  • • 社区摘要 - 使用 LLM 为每个社区生成摘要

社区检测特别有价值,因为它能发现跨多个文档重复出现的主题,形成横向的知识关联。

图检索策略#

入口点搜索#

GraphRAG 检索不是简单的向量查找,而是:

  1. 1. 初始索引搜索 - 可以是向量搜索、全文搜索、混合搜索或空间搜索
  2. 2. 找到图的入口点
  3. 3. 关系遍历 - 沿着关系边获取相关上下文
// Cypher 查询示例:从入口点遍历获取上下文
MATCH (entry:Entity)-[r*1..3]-(related)
WHERE entry.name = $search_term
RETURN entry, r, related

上下文扩展#

从入口点出发,可以通过以下方式扩展上下文:

  • • 遍历固定深度的关系
  • • 基于相关性分数的智能扩展
  • • 结合用户上下文和外部信息

实践建议#

数据工程原则#

“没有免费的午餐” - 高质量的输出需要在前期投入更多精力

在知识图谱构建阶段的投入会在检索阶段多倍回报。从非结构化文档中提取的高质量结构化信息,能够支持更丰富的上下文检索。

模式目录#

Neo4j团队在graph.com上整理了 GraphRAG 的模式目录,包括:

  • • 示例图结构
  • • 模式名称和描述
  • • 使用场景
  • • 查询示例

与现有系统集成#

如果你已有知识图谱(如 CRM 系统中的客户数据),可以将其与新提取的信息连接:

现有 CRM 图谱  ←──连接──→  通话记录提取的实体
(客户、商机)              (讨论话题、需求)

关键要点#

  • • Graph RAG 是数据问题的解决方案 - 好的 AI 应用需要好的数据支撑
  • • 知识图谱提供结构和语义 - 不再是统计概率,而是真实的节点和关系
  • • 可解释性是核心优势 - 可以可视化、分析和审计检索过程
  • • 前期投入换取长期收益 - 知识图谱构建的投入会在检索质量上得到回报
  • • 行业正在快速采用 - Gartner 预测 GraphRAG 将成为 AI 生态系统的重要组成部分

总结#

GraphRAG 代表了 RAG 技术的演进方向。通过将知识图谱的结构化推理能力与 LLM 的语言生成能力结合,我们可以构建更准确、更可靠、更可解释的 AI 应用。

对于正在探索企业级AI应用的团队,GraphRAG 提供了一条可行的路径,将领域知识系统性地注入到AI系统中,解决幻觉问题,提升用户信任。


相关资源

---====Julia语言可视化全球海底光缆网络.md====#

title: “Julia语言可视化全球海底光缆网络” published: 2022-07-12 description: “本文使用Julia语言的GeoMakie.jl库实现了全球海底光缆网络分布的三维可视化。” image: “/images/Julia语言可视化全球海底光缆网络/img_8b05725f.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#

海底光缆是保证全球各大区域网络之间能够互联互通的主动脉,铺设在海底。海底光缆网络是一个集成的光缆系统,这些光缆共同提供从一个陆地位置到另一个陆地位置的数据传输。这个网络包括海底光缆本身,以及用于实现这种大规模通信的其他硬件组件和基础设施。尽管卫星通信发展迅速,但超过 95% 的国际数据传输仍通过海底光缆网络进行。

      世界上第一条海底光缆1988年建成,连通欧洲和美国,全长6700公里。这条光缆含有3对光纤,每对的传输速率280Mb/s。根据最新的数据统计,目前全球的海底光缆总长达90万公里,可绕地球22圈。

海底光缆分布

       本文使用Julia语言的GeoMakie.jl库实现了全球海底光缆网络分布的三维可视化。====LandCoverNet-首个全球土地覆盖分类人工智能训练数据集.md====#

title: “LandCoverNet:首个全球土地覆盖分类人工智能训练数据集” published: 2022-07-16 description: “Radiant Earth Foundation发布世界上第一个用于全球土地覆盖分类的训练数据集LandCoverNet” image: “/images/LandCoverNet-首个全球土地覆盖分类人工智能训练数据集/img_2050de50.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#

7月12日,致力于开放地球观测训练数据和机器学习模型的领先非营利组织Radiant Earth Foundation发布世界上第一个用于全球土地覆盖分类的训练数据集LandCoverNet。#

      LandCoverNet提供7种土地覆盖类型的标记数据:water, natural bare ground, artificial bare ground, woody vegetation, cultivated vegetation, (semi) natural vegetation, and permanent snow/ice

      经标记的训练数据是构建机器学习模型的基础。在土地覆盖制图过程中,训练数据包含卫星图像,以及指定图像中存在的土地覆盖类别的标签。模型从训练数据中学习这些类别的模式,并能在大空间范围内生成地图。LandCoverNet正是提供了这种用于年度土地覆盖分类的人工智能训练数据,使从业者能够建立变化检测模型。该数据集中,每个标注的像素关联一个共识分数,表明人工标注过程中的不确定性。这些分数可以帮助模型更好地学习每个土地覆盖类别的差异和相似性。Radiant Earth从欧空局Sentinel-2任务的300个不同地域的瓦片中生成了训练数据集,涵盖了非洲、亚洲、澳大利亚和大洋洲、欧洲、北美和南美。全球共有8941个256 x 256像素的图像片被标记,整个训练数据集大约5.86亿像素。

LandCoverNet数据集下载地址:

https://mlhub.earth/datasets?search=landcovernet

Reference:

LandCoverNet: A global benchmark land cover classification training dataset.

https://doi.org/10.48550/arXiv.2012.03111====MagicBathyNet-用于浅水区水深预测和基于像素分类的多模态遥感数据集.md====#

title: “MagicBathyNet:用于浅水区水深预测和基于像素分类的多模态遥感数据集” published: 2024-09-13 description: “MagicBathyNet是一个新的多模态基准数据集,旨在支持在浅水区的基于机器学习的水深测绘和基于像素的海底分类。” image: “/images/MagicBathyNet-用于浅水区水深预测和基于像素分类的多模态遥感数据集/img_d38df343.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#


地球表面约71%被水覆盖,但迄今为止,仅有一小部分通过直接观测进行了测绘。准确、详细和高频率的水深数据,并结合复杂的语义内容,对于受到气候变化和人类活动影响的未充分测绘的浅海沿海地区至关重要。

一方面,声学方法在浅水区效率低下,受到波浪和暗礁的影响,并因多路径误差而失效;另一方面,激光雷达(LiDAR)成本高昂,且均缺乏视觉信息。为了解决这些问题,现如今广泛使用航空和卫星图像。光谱导出的水深(SDB)基于辐射强度随水深和波长的衰减,可以覆盖大面积的浅水区。目前,许多从遥感图像中反演水深或海底分类的方法依赖于非开放的数据源,这限制了深度学习技术在该领域的广泛应用。

多模态数据集MagicBathyNet#

MagicBathyNet是为解决这些问题而推出的数据集,这是一个新的多模态基准数据集,旨在支持在浅水区的基于机器学习的水深测绘和基于像素的海底分类。该基准数据集包括来自Sentinel-2和SPOT-6的卫星影像,以及航空摄影图像,配有相应的水深数据和不同海底分类类型的注释。该数据集包含:

  • 来自Sentinel-2、SPOT-6和航空影像的图像块
  • 栅格格式的水深数据
  • 海底类别的注释

MagicBathyNet包含3355个Sentinel-2 (S2)、SPOT-6和航空影像的RGB三元组图像块,补充了1244个S2和SPOT-6的RGB二元组,3354个航空影像的数字表面模型(DSM)栅格块和3396个S2和SPOT-6的DSM栅格块。此外,它还包含533个标注的海底栖息地和类型的栅格块,支持基于有监督的像素分类。每个图像块覆盖180x180米的区域,在S2影像中用18x18像素表示,在SPOT-6影像中用30x30像素表示,在航空影像中用720x720像素表示。

MagicBathyNet主要特点#

包括:

  • 多模态数据集:该数据集结合了不同来源的图像(卫星和航空),为深度学习模型提供了丰富的输入数据,增强了模型的泛化能力。
  • 标注和无标注样本:数据集中包含533个标注的海底栖息地和类型的栅格补丁,支持监督学习。同时,数据集中还有大量未标注样本,可用于自监督学习和模型预训练。
  • 高覆盖率和多样性:数据集覆盖了两个不同的沿海区域(塞浦路斯的Agia Napa和波兰的Puck Lagoon),代表了不同的水柱特征和底部类型,这有助于提高模型在各种环境下的适用性和准确性。
  • 深度学习模型的基准测试:MagicBathyNet被用于评估最先进的深度学习方法,如修改后的U-Net架构,专门用于从RGB图像中估计水深。为各种深度学习模型提供了一个公开的基准,促进了算法的开发和评估,使研究人员能够测试和比较不同的学习方法在水深反演和海底分类任务中的表现。

MagicBathyNet应用场景#

MagicBathyNet的主要应用场景包括:

  • 水深反演:该数据集支持基于学习的水深估计,利用遥感图像数据来准确获取浅水区的水深信息。
  • 海底分类:通过提供海底栖息地和类型的注释,MagicBathyNet促进了基于像素的监督分类,帮助研究人员识别和分类不同的海底特征。
  • 环境监测:该数据集特别适用于监测受到气候变化和人类活动影响的沿海地区,为管理和保护这些脆弱生态系统提供重要数据支持。
  • 自监督学习任务:数据集中包含大量未标注样本,允许研究人员通过自监督学习进行模型的预训练,从而提高模型在特定任务上的性能

通过公开数据集和预训练权重,能够使更多研究人员开发和测试用于水深测绘和海底栖息地分类的先进机器学习模型,促进先进机器学习技术(如BenthicNet和NEURSS中描述的方法)在浅海底测绘和监测领域的更广泛应用。

数据、代码和预训练模型#

本公众号相关内容推荐#


title: “Matplotlib第三方扩展包生态” published: 2024-10-23 description: "" image: “/images/Matplotlib第三方扩展包生态/img_44da2c8d.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#


Matplotlib拥有丰富的第三方扩展包生态系统,可以扩展其功能。这种生态系统的多样性和专业性,使得Matplotlib成为科学计算和数据可视化中不可或缺的工具。本文分别从替代API、颜色映射和样式、地图可视化、动态可视化、交互式可视化、图形界面应用、文档相关以及领域特色库等8个分类类型介绍相关第三方扩展包。

  1. 替代API
  • HoloViews: 这是一个强大的声明式数据可视化库。它允许用户以简洁的方式描述数据和可视化需求,自动选择合适的可视化方式。HoloViews特别擅长处理多维数据,支持交互式探索,并可与Bokeh、Matplotlib等后端集成,适合快速原型设计和复杂数据分析。

  • hvPlot: 基于HoloViews构建,提供了一个更简单的API来创建交互式图表。它与pandas、xarray等数据结构无缝集成,使得从数据到可视化的过程变得非常直观。hvPlot支持多种图表类型,并提供了方便的定制选项。

  • pandas: pandas的绘图API直接集成在DataFrame和Series对象中,使数据分析和可视化过程更加流畅。它提供了多种常用图表类型,如线图、柱状图、散点图等,并且特别擅长处理时间序列数据。pandas的绘图功能基于Matplotlib,但提供了更高级的接口。

  • plotnine: 这是R语言ggplot2的Python实现,引入了”图形语法”的概念。它允许用户以层的方式构建复杂的统计图形,非常适合那些熟悉ggplot2或喜欢声明式绘图风格的用户。plotnine的语法直观且富有表现力,特别适合探索性数据分析。

  • Xarray: 专门用于处理带标签的多维数组数据。它扩展了pandas的功能到更高维度,特别适合处理气象、海洋学、地球科学等领域的大型数据集。Xarray的绘图功能与其数据模型紧密集成,可以轻松创建复杂的多维数据可视化,如热图、等值线图等。

2. 颜色映射和样式

  • Aquarel: 提供了一系列精心设计的调色板,旨在增强数据可视化的美感和可读性。它的调色板考虑了色彩和谐性和对比度,适用于各种类型的图表和infographics。在这篇推文中有相关介绍内容:推荐6个美化Matplotlib可视化样式的python库
  • CMasher: 这个库专门为科学可视化设计了一系列感知均匀的颜色映射。它的颜色映射考虑了色盲友好性,并在打印时保持良好效果。CMasher还提供了颜色映射诊断工具,帮助用户选择最适合的颜色方案。
  • cmcrameri: 提供了一套地球科学友好的颜色映射方案,这些方案基于科学研究,确保了在地质、地理等领域数据可视化的准确性和美观性。
  • cmocean: 专为海洋学数据设计的颜色映射库。它提供了一系列反映海洋特性的颜色方案,如深度、温度、盐度等,使海洋数据可视化更加直观和专业。

  • cmweather: 为气象数据设计的颜色映射库。它提供了适合表现温度、降水、风速等气象要素的颜色方案,有助于创建专业的天气图和气候分析图。
  • cmyt: 又一个颜色映射工具,提供多种配色方案。它的特点是颜色选择的多样性,适合各种数据类型和可视化需求。
  • Colorcet: 提供感知均匀的颜色映射。这些颜色映射在亮度和色调上变化平滑,特别适合表现连续数据,如热图或等高线图。
  • distinctipy: 生成互相区分度高的颜色。这对于需要清晰区分多个类别的图表(如多条线图或多类别散点图)特别有用。
  • Farrow&Ball: 基于Farrow&Ball油漆颜色的调色板。这为数据可视化带来了一种独特的美学风格,特别适合需要高质感的展示或出版物。
  • mpl-visual-context: 增强Matplotlib图表的视觉上下文。它提供了额外的视觉元素和布局选项,帮助创建更具表现力和信息量的图表。
  • mplcyberpunk: 提供赛博朋克风格的Matplotlib主题。这个库为数据可视化带来了独特的未来感审美,特别适合科技相关的数据展示。在这篇推文中有相关介绍内容:推荐6个美化Matplotlib可视化样式的python库
  • pypalettes: 用于生成和管理调色板的工具。它允许用户创建、保存和共享自定义调色板,增加了颜色选择的灵活性。
  • SciencePlots: 为科学出版物设计的Matplotlib样式。它提供了符合学术期刊要求的图表样式,包括字体、线条样式、颜色等,大大简化了科研论文图表的制作过程。
  • TUEplots: 提供符合特定设计准则的绘图样式。这个库旨在创建清晰、专业的图表,特别适合技术报告和学术论文。
  • vism: 科学可视化的颜色映射和样式工具。它提供了一套全面的工具,用于创建高质量的科学可视化,特别适合复杂数据集的表现。

3. 地图可视化

  • cartopy: 这是一个强大的地理空间数据处理和制图库。它支持多种地图投影,能够处理各种地理数据格式,并可以轻松地在地图上添加各种地理要素。cartopy特别适合气象、海洋学和地球科学数据的可视化。

  • EOmaps: 专门用于地球观测数据的交互式绘图工具。它简化了卫星图像和遥感数据的可视化过程,支持各种地图投影和叠加层。

  • GeoPandas: 扩展了pandas的功能,使其能够处理地理空间数据。它集成了shapely用于几何操作,支持读写多种地理数据格式,并提供了方便的地理数据分析和可视化功能。

  • geoplot: 这是一个高级地理数据可视化库,建立在cartopy之上。它提供了多种专门的地理图表类型,如choropleth(分级统计地图)、cartogram(统计地图)等,简化了复杂地理数据的可视化过程。

  • GeoViews: 基于HoloViews的地理空间数据可视化工具。它结合了HoloViews的声明式API和cartopy的地理空间功能,使得创建交互式地理可视化变得简单。

    https://geoviews.org

  • mplstereonet: 用于绘制地质构造的立体投影图。这个专业工具在地质学和构造地质学研究中非常有用,可以可视化岩石结构的方向数据。

  • prettymaps: 这个工具用于创建美观的地图可视化。它能够生成风格化的地图,适合用于艺术设计、信息图表或者作为背景图像。

  • ridge_map: 创建山脊线风格地图的工具。这种独特的可视化方式可以直观地展示地形高度变化,特别适合展示山地地形或数据分布的密度。

4. 动态可视化:

  • animatplot: 这是一个动画绘图库,简化了Matplotlib动画的创建过程。它提供了一个直观的接口来创建各种类型的动画,特别适合时间序列数据的动态可视化。

  • celluloid: 这是一个简单易用的Matplotlib动画制作工具。它通过简化动画帧的创建过程,使得用户可以用很少的代码就能创建复杂的动画,特别适合那些需要快速创建数据动画的场景。
  • manimplotlib: 这是一个用于创建数学动画的库。它结合了manim(一个数学动画引擎)和Matplotlib的功能,可以创建高质量的数学和科学教育视频。
  • mpl-animators: 这是一套Matplotlib动画工具集。它提供了多种预定义的动画器,可以轻松创建常见类型的数据动画,如线条生长、散点移动等。
  • numpngw: 这个工具用于创建PNG动画。它允许直接从NumPy数组创建动画,特别适合科学计算和图像处理领域的动态可视化。
  • xmovie: 这是一个基于Xarray的动画创建工具。它专门设计用于处理和可视化多维数据集的时间序列,非常适合气象、海洋学等领域的数据动画。

    https://github.com/jbusecke/xmovie

5. 交互式可视化

  • kivy_matplotlib_widget: 这是Kivy框架的Matplotlib部件。它允许在Kivy应用中嵌入Matplotlib图表,为跨平台应用开发提供了强大的数据可视化能力。

    https://github.com/mp-007/kivy\_matplotlib\_widget![](/images/Matplotlib第三方扩展包生态/img_ae8846aa.png)

  • mpl-draggable-line: 这个工具允许在Matplotlib图表中拖动线条。它为图表添加了交互性,使用户可以直接在图表上调整线条位置,适合于交互式数据分析和参数调整。

  • mpl-image-labeller: 这是一个图像标注工具。它在Matplotlib的基础上提供了交互式图像标注功能,适用于计算机视觉和图像处理任务中的数据准备工作。

  • mpl-image-segmenter: 这个工具用于图像分割。它提供了交互式界面,允许用户在Matplotlib图表中进行图像分割操作,适用于图像处理和计算机视觉研究。

  • mpl-interactions: 这个库为Matplotlib添加了丰富的交互功能。它支持缩放、平移、选择等操作,使得数据探索和分析过程更加直观和高效。

  • mpl-point-clicker: 这个工具允许在图表上点击和选择点。它为数据点添加了交互性,适用于数据分析中的点选和标记任务。

  • mpl_widget_box: 这个工具用于为Matplotlib图表添加小部件。它可以在图表中嵌入各种控件,如滑块、按钮等,增强图表的交互性。

  • mplcursors: 这个工具为Matplotlib图表添加光标功能。它可以显示数据点的详细信息,提高了图表的可读性和交互性。

  • mpldatacursor: 这是一个数据光标工具,用于显示数据点信息。它提供了更丰富的数据点信息展示功能,适合于详细的数据探索。

  • mplinorm: 这个工具用于创建交互式范数可视化。它在线性代数和数值分析领域特别有用,可以直观地展示不同范数的特性。

  • Panel: 这是一个用于创建交互式应用和仪表板的强大工具。它可以集成多种可视化库,创建复杂的交互式数据应用,适合数据科学和商业智能领域。

  • Quibbler: 这是一个交互式数据分析和可视化工具。它提供了一个灵活的环境,可以实时调整参数和查看结果,特别适合探索性数据分析。

        https://github.com/Technion-Kishony-lab/quibbler

6. 图形界面应用

  • Glue: 这是一个多维数据可视化和探索工具。它允许用户交互式地探索关联数据集,支持多种可视化方式,适合复杂数据集的分析。
  • Lumen: 这个工具用于创建数据可视化仪表板。它提供了一个简单的方式来构建交互式、实时更新的数据仪表板,适合业务分析和数据监控。
  • mpl-multitab: 这个工具用于创建多标签Matplotlib图形。它允许在一个窗口中组织和展示多个图表,提高了复杂数据集的可视化效率。
  • PyLustrator: 这是一个用于创建出版质量图形的工具。它提供了一个图形用户界面来精确调整Matplotlib图表,特别适合准备学术论文或报告的图表。
  • PyNanoGUI: 这是一个轻量级的GUI工具包。它可以快速创建简单的图形用户界面,适合为数据可视化和分析工具添加交互控件。
  • PySimpleGUI: 这个库简化了Python GUI开发。它封装了多个GUI框架,提供了一致的接口,使得创建数据可视化应用变得简单快捷。
  • sview-gui: 这是一个用于查看和分析科学数据的GUI工具。它提供了直观的界面来浏览和可视化各种科学数据格式,适合科研人员日常使用。

**7.**文档相关

  • Sphinx-Gallery: 这是一个用于生成图库和示例的强大工具。它可以自动从Python脚本生成文档,包括代码、输出和图表,非常适合创建教程、API文档和代码示例库。

**8.**领域特色库

  • AniViz: 这是一个动物行为可视化工具。它专门设计用于分析和可视化动物运动轨迹、行为模式等数据,在生态学和动物行为学研究中非常有用
  • Astropy: 这是一个全面的天文学工具包。它不仅提供了各种天文学计算功能,还包含专门的可视化模块,用于创建天文学常用的图表,如天球图、光谱图、星图等。Astropy的可视化功能与其数据结构紧密集成,使天文数据的分析和展示变得简单高效。
  • BG Heatmaps: 这个工具专门用于创建背景热图。它可以生成复杂的热图,适用于表现地理分布、密度分布等数据。BG Heatmaps特别适合在生物地理学、生态学等领域展示物种分布或环境因子的空间变化。
  • colorio: 这是一个颜色空间可视化和操作工具。它提供了多种颜色空间的转换和可视化功能,对于需要精确控制颜色的设计工作或颜色科学研究非常有用。
  • cplot: 这是一个复数函数可视化工具。它能够创建复变函数的精美图形,在数学教育和复分析研究中有重要应用。cplot可以生成域着色图、相位图等,帮助直观理解复杂的数学概念。

    https://github.com/nschloe/cplot

  • datapane: 这是一个数据报告和仪表板创建工具。它允许用户将Python数据分析的结果轻松转换为交互式报告或web应用,特别适合数据科学家和分析师分享他们的发现。

  • DNA Features Viewer: 这是一个专门的DNA序列可视化工具。它可以生成基因组图谱,展示基因、调控元件等特征,在分子生物学和基因组学研究中非常有用。

  • arplot: 这是用于创建AR(增强现实)可视化的工具。它为数据可视化引入了AR技术,开创了数据展示的新方式,特别适合创新型的数据展示和教育应用。

  • Hockey Rink: 这是一个冰球场地图可视化工具。它提供了创建冰球场地图的功能,可用于分析和展示比赛数据,对冰球运动分析和战术研究非常有帮助。

  • HyperSpy: 这是一个多维数据分析工具,特别适用于电子显微镜数据。它提供了强大的数据处理和可视化功能,能够处理和展示复杂的光谱图像数据,在材料科学和纳米技术研究中广泛应用。

    https://github.com/hyperspy/hyperspy

  • Imposa: 这是一个图像处理和分析工具。它提供了一系列图像处理算法和可视化功能,适用于医学影像、遥感图像等领域的数据分析。

  • marsilea: 这是一个地理空间数据可视化工具。它专注于创建美观的地图和地理数据可视化,特别适合用于地理信息系统(GIS)和地理空间分析。

  • MetPy: 这是一个气象数据分析和可视化工具。它提供了读取、分析和可视化气象数据的功能,包括创建天气图、探空图等专业气象图表,是气象学家和大气科学研究者的重要工具。

  • microfilm: 这是一个科学数据可视化工具。它专门设计用于处理和可视化大规模科学数据,特别是时间序列数据,适用于各种科学领域的数据分析。
  • mlr_eval: 这是一个机器学习结果评估和可视化工具。它提供了各种方法来评估和可视化机器学习模型的性能,包括ROC曲线、混淆矩阵等,对于机器学习项目的开发和调优非常有帮助。
  • mplfinance: 这是一个金融市场数据可视化工具。它专门用于创建金融图表,如K线图、成交量图等,为金融分析和交易决策提供直观的数据支持。
  • mplhep: 这是一个高能物理数据可视化工具。它为高能物理实验数据提供了专门的绘图功能,能够创建符合该领域标准的图表,如直方图、误差条等。
  • mpl-scatter-density: 这是一个大规模散点图可视化工具。它能够高效地绘制包含大量数据点的散点图,通过密度表示来避免过度绘制问题,适合大数据集的可视化。
  • mplsoccer: 这是一个足球数据可视化工具。它提供了创建足球场地图、传球图、热图等功能,对足球比赛分析和战术研究非常有用。
  • MyForestPlot: 这是一个用于创建森林图(用于meta分析)的工具。它在医学研究和系统评价中广泛使用,可以直观地展示多项研究结果的综合分析。
  • NetworkX: 这是一个复杂网络分析和可视化库。它提供了丰富的网络分析算法和可视化方法,可以用于社交网络分析、路径优化、科学合作网络等多个领域。
  • planetMagFields: 这是一个行星磁场可视化工具。它能够模拟和可视化行星磁场,在行星科学和空间物理研究中有重要应用。
  • Py-ART: 这是一个气象雷达数据分析和可视化工具。它提供了处理和可视化气象雷达数据的功能,能够创建各种雷达图像,如反射率图、多普勒速度图等。
  • pyCircos: 这是一个圆形基因组数据可视化工具。它可以创建Circos风格的图表,用于展示基因组数据,在基因组学和比较基因组学研究中广泛应用。
  • pyGenomeViz: 这是另一个基因组可视化工具。它提供了更多的基因组数据可视化选项,可以创建线性或环形的基因组图谱,展示基因结构、比较基因组等信息。
  • pymatvis: 这是一个材料科学数据可视化工具。它专门用于可视化材料结构、性质和模拟结果,在材料科学和工程领域有重要应用。
  • PyPlutchik: 这是一个情感分析可视化工具。它基于Plutchik的情感轮理论,提供了情感数据的可视化方法,在心理学研究和文本情感分析中很有用。
  • pytransform3d: 这是一个3D变换可视化工具。它可以可视化3D空间中的旋转、平移等变换,在机器人学、计算机视觉等领域有重要应用。

        https://github.com/dfki-ric/pytransform3d

  • seaborn: 这是一个统计数据可视化库,基于Matplotlib构建。它提供了一套美观的默认样式和调色板,以及一系列统计图表类型,如小提琴图、热力图等,特别适合统计数据的可视化。
  • seaborn-image: 这是seaborn的图像数据可视化扩展。它为图像数据分析提供了专门的可视化功能,如图像网格、图像聚类可视化等。
  • sunpy: 这是一个太阳物理学数据分析和可视化工具。它提供了处理和可视化太阳观测数据的功能,包括创建太阳图像、光谱分析等,是太阳物理研究的重要工具。
  • TULIPS: 这是一个用于创建郁金香图(基因表达可视化)的工具。它在基因组学和转录组学研究中使用,可以直观地展示基因表达水平的变化。
  • Yellowbrick: 这是一个机器学习可视化工具。它扩展了Scikit-learn的功能,提供了一系列可视化工具来帮助选择模型、调整参数、评估性能等,对机器学习工作流程的各个阶段都有帮助。

    https://www.scikit-yb.org

本公众号相关内容推荐#


title: “Meta AI 开源 DINOv3:自监督学习的视觉新纪元” published: 2025-08-15 description: "" image: “/images/Meta-AI-开源-DINOv3-自监督学习的视觉新纪元/img_94887e97.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#

在人工智能领域,计算机视觉的进步在很大程度上依赖于大规模、高质量的标注数据集。然而,数据标注成本高昂、耗时费力,一直是行业发展的瓶颈。今天,Meta AI 推出的 DINOv3 模型,以其前所未有的规模和性能,宣告了一个新时代的到来:自监督学习 (Self-supervised learning, SSL) 不再是“备选项”,而是超越传统方法的“王牌”。

DINOv3 是 Meta AI 在视觉自监督学习领域的最新力作。它通过高达17亿张图像的训练,构建了一个参数量达到70亿的视觉基础模型。其最核心的突破在于:首次证明,自监督学习模型能够在广泛的视觉任务中,系统性地超越依赖于标签数据的弱监督学习模型。

技术背景:什么是自监督学习 (SSL)?#

在深入了解DINOv3之前,我们有必要先理解其背后的核心技术——自监督学习。

传统的监督学习模型像一个需要“标准答案”的学生,必须通过大量带有明确标签(如“猫”、“狗”)的图片来学习。这种方式效果显著,但对数据的要求极高。

而自监督学习则更为巧妙,它像一个通过“观察和对比”来学习的学生。模型从数据自身中创造“伪任务”和“伪标签”来进行学习,而无需人类的干预。以 DINO 系列采用的算法为例,其核心思想是“无标签的知识蒸馏” (Distillation with No labels)。具体来说,模型会学习识别同一张图片经过不同裁剪、增强后的版本,确保它们在特征空间中保持一致性。通过这种方式,模型学会了图像中哪些部分是核心、哪些是变化,从而掌握了通用的、鲁棒的视觉表示。

这种学习范式极大地降低了对人工标注的依赖,使得利用互联网上海量的无标签数据成为可能。

DINOv3 的核心突破与优势#

DINOv3 的发布并非简单的模型升级,它在多个维度上都实现了质的飞跃。

1. 性能首次全面超越弱监督学习#

这是DINOv3最具影响力的贡献。在过去,SSL模型虽然潜力巨大,但在许多基准测试中仍略逊于使用海量标签或元数据进行训练的弱监督模型。DINOv3 彻底改变了这一局面。无论是在图像分类、语义分割,还是视频中的目标跟踪等多种下游任务中,DINOv3 的性能都刷新了纪录,证明了自监督学习在超大规模下蕴含的强大潜力。

2. “一通百通”的通用视觉骨干网络#

DINOv3 最令人兴奋的特性之一是其作为“通用视觉骨干 (Universal Vision Backbone)”的能力。这意味着你不再需要为每个特定任务(如目标检测、深度估计)都去微调整个庞大的模型。

相反,你可以保持 DINOv3 骨干网络参数的固定,仅在其之上训练一个轻量级的“适配器 (Adapter)”。DINOv3 预训练后生成的强大、高分辨率的图像特征,使得这些小巧的适配器也能在少量标注数据的支持下,达到顶尖的性能。这种“即插即用”的模式极大地提升了模型的部署效率和灵活性。

3. 前所未有的规模与效率#

DINOv3 的成功离不开规模的扩展。通过精心设计的数据处理流程、模型架构和训练优化,Meta AI 成功地将训练数据扩展到 17 亿张图像,模型参数扩展到 70 亿。更重要的是,相比于此前的方法,DINOv3 的训练计算开销仅为一小部分,实现了规模与效率的完美平衡。

为了满足不同场景的需求,Meta AI 开源了一整套 DINOv3 模型,不仅包括不同尺寸的 ViT (Vision Transformer) 架构,还包含了为移动端和设备端部署而设计的高效 ConvNeXt 模型。

实践应用:从地球生态监测到未来火星探索#

DINOv3 的价值不仅体现在基准测试的数字上,更体现在解决真实世界问题的能力上。

  • • 助力地球生态保护:世界资源研究所 (WRI) 正在利用 DINOv3 来监测森林砍伐和支持生态恢复。通过分析卫星图像,DINOv3 能够准确地检测树木损失和土地利用变化,帮助当地组织更有效地保护脆弱的生态系统。
  • • 赋能行星科学探索:虽然应用的是其前身 DINOv2,但美国国家航空航天局(NASA)的喷气推进实验室 (JPL) 已经在使用该系列技术,为火星探测机器人构建视觉系统。这证明了 DINO 模型在资源受限的极端环境下,依然能够以极高的效率处理多种视觉任务。

总结与展望#

DINOv3 的发布是计算机视觉领域的一个重要转折点。它不仅提供了一个性能强大的开源模型系列,更重要的是,它用无可辩驳的结果证明了自监督学习路线的巨大成功。

通过摆脱对人工标注的依赖,DINOv3 为我们打开了一扇通往更通用、更强大、更高效的人工智能视觉系统的大门。未来,我们可以预见,基于 DINOv3 这样的视觉基础模型,将会有更多创新应用在科学研究、工业生产和日常生活中涌现。

对于所有技术从业者而言,现在是拥抱自监督学习浪潮的最佳时机。


References#


title: “MinIO 之死:一个开源项目的六步绞杀术” published: 2026-02-15 description: "" image: “/images/MinIO-之死-一个开源项目的六步绞杀术/img_3a1b74a7.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#

2026年2月14日,MinIO在GitHub仓库的README中写下了一句话:

THIS REPOSITORY IS NO LONGER MAINTAINED

六万颗Star,十亿次Docker镜像下载,一个曾经最受欢迎的S3兼容对象存储项目,就这样被它的创建者亲手送进了坟墓。

这不是一次意外。这是一场持续18个月精心策划的撤退。


从宠儿到弃子:一条温水煮青蛙的时间线#

MinIO的故事始于2014年。它用Go语言写成,部署简单,一个二进制文件就能跑起来,完美兼容Amazon S3 API。从个人开发者到大型企业,从AI训练到Kubernetes存储后端,MinIO几乎成了”自建对象存储”的代名词。

2022年,SoftBank Vision Fund 2领投,MinIO 估值飙升至12.6 亿美元。

然后,收割开始了。

时间动作影响
2021 年 5 月许可证从 Apache 2.0 改为 AGPL v3企业用户开始紧张
2022-2023 年公开起诉 Nutanix、Weka 等公司社区信任开始动摇
2025 年 5 月社区版删除管理控制台用户管理、监控、策略配置全部消失
2025 年 10 月停止发布 Docker 镜像和预编译二进制用户必须自己编译
2025 年 12 月宣布进入”维护模式”不再有新功能和主动修复
2026 年 2 月仓库归档,README 写上”不再维护”彻底终结

有社区成员总结得很精准:其他公司(MongoDB、Elasticsearch、HashiCorp、Redis)做过许可证变更,也搞过商业版分层。但MinIO是唯一一家把六个层级全部爬完的:

  1. 1. 改许可证 — 从宽松的 Apache 2.0 改成具有传染性的 AGPL
  2. 2. 公开执法 — 在博客上点名起诉使用者
  3. 3. 功能阉割 — 社区版删除管理 UI
  4. 4. 断供分发 — 停止提供 Docker 镜像和二进制文件
  5. 5. 放弃仓库 — 宣布不再维护
  6. 6. 安全施压 — 在停止提供二进制的时间窗口内披露 CVE 漏洞

没有其他开源公司走完了这全部六步。

MinIO 六步绞杀术时间线

MinIO 想要你买什么?#

答案是 AIStor,MinIO 的商业化产品。

定价也很”亲民”:

  • • AIStor Enterprise:起步价 $96000/年(支持 400TB)
  • • 1PB 容量:$244032/年
  • • Enterprise Lite:2025年12月匆忙推出的”平价版”,更像是一次危机公关

对于那些因为 MinIO 免费而选择它的小团队和个人开发者来说,这不是一条渐进的升级路径——而是一面悬崖。

Hacker News 上的争论:谁欠谁的?#

这个事件在 Hacker News 上引发了近 400 条评论的激烈讨论,核心争论可以归结为两个阵营:

“公司没有义务”派认为:

开源许可证本身不承诺永久维护。AGPL 里写得清清楚楚——“AS IS”,不附带任何担保。用户享受了多年免费产品,现在公司要赚钱了,有什么问题?

“社会契约”派则反驳:

当你用开源建立品牌,用 GitHub Star 和 Docker 下载量融资 1.26 亿美元,把社区当作增长引擎,然后在估值变现的时候关门谢客——这不叫”正常商业行为”,这叫 rug pull

一位 Milvus 维护者的发言引起了广泛共鸣:

“免费用户问题确实存在。你投入大量工程精力去修 Bug、做稳定性,而绝大多数用户永远不会成为付费客户。但解决方案不应该是背叛他们。”

开源争论:谁欠谁的?

你该迁移到哪里?#

社区讨论中,几个替代方案反复出现:

Garage — 轻量级首选#

  • • 单二进制部署,TOML 配置,LMDB 后端
  • • 专为边缘计算和地理分布式场景设计
  • • 适合中小规模、多站点部署
  • • 项目地址:https://garagehq.deuxfleurs.fr/

SeaweedFS — 小文件性能王#

  • • 基于 Facebook Haystack 论文设计
  • • 对小文件的读写性能显著优于 MinIO
  • • 最近推出了 weed mini 一键启动和管理 UI
  • • 作者 Chris Lu 从 2011 年开始维护至今
  • • 项目地址:https://github.com/seaweedfs/seaweedfs

Ceph — 企业级巨无霸#

  • • 适合 PB 级部署(CERN 用 17 个集群管理 74PB)
  • • 部署和运维复杂度高,需要专业团队
  • • 如果你只有几十 TB,不建议碰它

pgsty/minio — 社区复活版#

一位开发者@Vonng基于AGPL许可证的不可撤销性,fork了MinIO 的最后开源版本:

  • • 恢复了管理控制台(回退到删除前的版本)

  • • 重建了 Docker 镜像和 RPM/DEB 包的 CI/CD

  • • 不做新功能,只做安全修复和供应链维护

  • • 迁移方式极简:Docker 镜像从 minio/minio 换成 pgsty/minio,完全向后兼容

  • MinIO 替代方案对比

CLA:下一次 rug pull 的预警信号#

这次事件给所有开源用户上了一课:关注 CLA(贡献者许可协议)

MinIO之所以能从开源走到闭源,技术上有一个前提——它拥有所有代码的完整版权。如果项目要求贡献者签署 CLA,将版权转让给公司,那么公司就可以在任何时候改变许可证,甚至完全闭源。

开源项目风险评估框架

社区总结出的规避策略:

  • • 优先选择基金会托管的项目(Linux Foundation、CNCF、Apache Foundation),这类项目的治理结构决定了不会被单一公司控制
  • • 警惕要求签署 CLA 的公司主导项目 — 这是一个信号,说明公司保留了未来变更许可证的权利
  • • 评估项目的”公交车系数” — 如果核心维护者只有一两个人,或者全部来自同一家公司,风险就很高

写在最后#

MinIO的死亡不是个例。从 MongoDB 到 Elasticsearch,从 Redis 到 HashiCorp Terraform,“开源建品牌 → VC 融资 → 许可证变更 → 商业闭源”已经成了一条被反复验证的路径。

但 MinIO 是走得最远、手段最激进的那一个。它证明了一件事:

开源许可证保护的是代码的权利,不是用户的期待。

AGPL 确保了社区可以 fork 代码继续维护,这是许可证设计的底线保障。但所有”这个项目会一直免费更新”的期待,从来都不在任何许可证的承诺范围内。

选择基础设施时,除了看技术指标,也该看看:谁在维护?谁在付钱?如果这两个问题的答案都是同一家 VC 支持的公司——那你可能正在搭建一座建在别人地基上的房子。


References#


title: “NASA SWOT任务数据应用线上研讨会注册” published: 2024-03-08 description: “美国国家航空航天局物理海洋学分布式主动存档中心(PO.DAAC)计划在美国东部时间3月20日下午2点(北京时间3月21日凌晨2点)举办SWOT任务数据应用线上研讨会。” image: “/images/NASA-SWOT任务数据应用线上研讨会注册/img_3b2fb9d0.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#

自上世纪90年代初以来,卫星高度计已经被广泛应用于测量海表面高度(SSH)。对其获取的数据进行处理生成的SSH数据产品在海洋科学与大气科学中得到了广泛的应用,包括监测全球平均海平面和厄尔尼诺南方涛动(ENSO),预测飓风强度增强,追踪大尺度涡旋和海洋锋面,以及估算海洋环流等方面。

卫星高度计发展情况

卫星高度计发射时间表

SSH数据产品的空间分辨率从1990年代的约300公里逐渐发展到目前的约100公里。然而,为了有效监测海洋内热量和碳的垂向输送,需要更高分辨率的SSH测量,NASA的表层水与海洋地形(SWOT)卫星任务就是为实现这一目标而建立的。

地表水和海洋地形图(NASA’s Surface Water and Ocean Topography,SWOT)任务卫星已于2022年12月发射,其主要目标是以前所未有的空间分辨率提供对陆地和海洋表面水体的全球调查观测。SWOT任务由美国国家航空航天局(NASA)和法国国家空间研究中心(CNES)共同完成,并得到了加拿大航天局(CSA)和英国航天局(United Kingdom Space Agency)的支持。

SWOT卫星任务标志着多个领域的首次突破。它是第一个通过太空提供地球淡水资源全面观测的任务,是第一个每天提供约1TB数据的卫星高度计任务。此外,它还携带了Ka波段雷达干涉仪(KaRIn),这是一种全新的仪器,专门设计用于精确测量海洋和淡水体(例如湖泊、水库和河流)的高度。

美国国家航空航天局物理海洋学分布式主动存档中心(NASA PO.DAAC)计划在美国东部时间3月20日下午2点(北京时间3月21日凌晨2点)举办SWOT任务数据应用线上研讨会。研讨会将介绍SWOT任务主要情况,并向数据用户展示如何通过云计算、本地下载以及交互式数据提取软件 (HiTIDE) 等数据转换工具来发现、访问和利用SWOT数据产品。该网络研讨会还将展示美国国家航空航天局物理海洋学分布式主动存档中心(NASA PO.DAAC)Cookbook 中的 SWOT 数据产品和教程,以帮助用户使用数据。

研讨会注册链接(或点击阅读原文):https://nasaenterprise.webex.com/weblink/register/rd84248689d15f21cd99878b16b42ad1a

该动画展示了使用ECCO 1/24度模拟每日SSH地图生成的总海面高度(SSH)。动画显示海洋表面并非完全平坦,其高度有高峰(红色)和低谷(蓝色),就像地球表面对大尺度大气压力的反应一样。海洋表面还受到海洋潮汐的影响。动画中呈现的波纹揭示了海洋表面下方发生的内波。动画中显示的丘陵和谷地与海洋环流和涡旋传输热量、营养物质、示踪物和海洋垃圾有关。这些特征在1度以上的分辨率(当前高度计)下无法捕捉到,但在15公里分辨率地图(由SWOT观测)中变得可见。

这些小尺度的海洋特征在动画中以异常场(与时间平均值的偏差)的形式更为明显,呈现为表面的‘凸起’。动画中显示的这些小尺度特征(涡旋和内部波)与海洋表面下的强烈垂直速度相关(在动画中的海洋部分中,蓝色表示向下,红色表示向上)。

References


   本公众号相关内容推荐:


title: “NOAA 发布世界磁场模型 WMM2025” published: 2024-12-18 description: "" image: “/images/NOAA-发布世界磁场模型-WMM2025/img_74ef134f.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#

****#

地球磁场是地球的重要组成部分,它保护着我们免受太阳风和宇宙射线的侵袭,并且对导航系统至关重要。然而,地球磁场并非静态不变,它会随着时间推移而缓慢变化。为了精确模拟地球磁场的动态变化,并为全球导航提供可靠的基础,科学家们不断开发和更新世界磁场模型(World Magnetic Model,WMM)。WMM每5年发布一个版本,上一个版本是2019年12月发布的WMM2020。近日,最新版本的世界磁场模型 WMM2025正式发布,它不仅提供了更精确的导航数据,还引入了高分辨率模型,标志着地球磁场建模和导航技术迈向了新的台阶。

世界磁场模型(WMM)简介#

世界磁场模型(WMM)是一种球面谐波模型,它描述了地球的主磁场及其缓慢的时间变化。WMM 模型是全球导航的关键,它能够确保依赖地球磁场的各种技术系统正常运行。这些系统包括:

  • 航空导航:  飞机,包括军用和民用飞机,都依赖于 WMM 模型进行导航和定位。
  • 航海导航:  船舶和潜艇使用 WMM 模型来确定方向和位置。
  • 地面导航: GPS 单元和智能手机中的导航应用程序利用 WMM 模型来校正罗盘和提供准确的定位。
  • 其他应用: WMM 模型也被广泛应用于地质勘探、地球物理研究等多个领域。

WMM2025 的更新和改进#

地球磁场的变化是不规则的,并且在长时间尺度上尤为明显。为了保证导航系统的精度,WMM 模型至少每五年更新一次,以捕捉地球磁场的最新变化。罗盘等导航仪器受到地球磁场的影响,因此,使用最新模型可以确保导航仪器提供正确的读数。WMM2025 版本在原有基础上进行了多项改进,主要亮点包括:

  1. 更高精度的导航数据: WMM2025 提供了更精确的导航数据,确保各类导航系统能够更准确地确定位置和方向。
  2. 首次发布高分辨率模型(WMMHR2025): WMM2025 版本首次引入了世界磁场高分辨率模型(WMMHR2025),其空间分辨率在赤道地区从标准模型的 3300 公里提高到约 300 公里,这意味着用户可以获得更高的方向精度,尤其是在高频空间变化明显的区域。
  3. 黑障区更新: WMM2025 还更新了黑障区的位置。这些区域位于南北极附近,由于地球磁场方向不规则,导航信号可能变得不可靠。 WMM2025 对黑障区进行了更新,以反映其位置的微小变化,从而提高这些区域导航的准确性。

WMM 的应用场景和用户#

WMM 是一个全球性的标准模型,被众多机构和组织广泛使用,包括:

  • 政府机构:  美国和英国政府及其下属部门,如美国联邦航空管理局(FAA)和美国国防部,都使用 WMM 模型进行导航和地理信息管理。
  • 国际组织:  北大西洋公约组织(NATO)、国际海道测量组织(IHO)和英国海道测量局等国际组织也依赖 WMM 模型。
  • 消费电子产品公司:  智能手机和其他消费电子产品公司使用 WMM 模型,为用户提供准确的罗盘应用、地图和 GPS 服务。

WMM 的开发和维护#

WMM 模型是由美国国家海洋和大气管理局(NOAA)国家环境信息中心(NCEI)和英国地质调查局(BGS)联合开发的。它也是美国国家地理空间情报局(NGA)和英国国防地理中心(DGC)的共同成果。其中:

  • NCEI: NCEI 在 WMM 模型的开发、维护和分发中发挥着关键作用,并负责对地磁场数据进行存档和分析。
  • BGS: BGS 与 NCEI 合作,共同开发和维护 WMM 模型,并负责向英国国防地理中心(DGC)分发模型。

NCEI 不仅负责开发和分发地磁场模型,还维护着地磁数据档案,以促进对地球磁性及其动态变化的理解。此外,NCEI 还提供工具和服务,以可视化、访问和利用 WMM 及其他地磁数据产品和模型。NCEI 与合作伙伴共同开展研究,以更好地了解地球磁场及其变化,并探索地球磁场对地球和技术领域的潜在影响。 此外,NCEI 还积极参与国际合作项目,如国际地磁和高空物理协会(IAGA),以确保 WMM 模型反映全球合作和理解地球磁场变化的努力。

目前在位运行的磁场观测站点‍‍

获取 WMM2025 数据#

世界磁场模型及其相关数据,包括 WMM2025 和 WMMHR2025,可以通过以下方式获取:

通常,WMM 数据以标准模型文件(如.cof 格式)的形式提供,同时也会提供软件和文档来帮助用户理解和使用这些数据。用户可以根据自己的需求选择合适的方式获取数据。

使用 WMM2025 数据#

WMM 数据的使用通常涉及以下几个步骤:

  1. 数据解析:
  • 模型文件格式: WMM 数据通常以.cof 文件格式提供,这是一个文本文件,其中包含一系列的系数,描述了地球磁场的球面谐波模型。
  • 解析库:  为了读取和使用这些系数,您可能需要使用特定的编程库或工具,例如 geomag(用于 C/C++)、pygeomag(用于 Python) 或其他类似库。
  1. 计算磁场值:
  • 输入参数:  您需要提供地理位置(纬度、经度)和高度,以及时间(通常是年份),才能计算该点处的地球磁场。
  • 计算方法: WMM 模型的计算涉及球面谐波函数的求和和计算。使用编程库可以简化这一复杂过程。
  • 输出结果:  计算结果通常包括磁场强度(总强度)、倾角、偏角、水平强度、垂直强度等磁场要素。
  1. 实际应用:
  • 导航校正: WMM 数据可用于校正罗盘,提高导航精度。
  • 地磁数据分析:  用于地磁学研究和地球物理勘探。
  • 其他领域:  用于需要考虑地磁场的其他应用,如卫星定位、大气物理等。

示例代码(Python):

以下是一个使用 pygeomag 库的 Python 代码示例,用于演示如何读取 WMM2025 数据并计算地球磁场值。用户需要先安装 pygeomag 库

import pygeomag as geomag

1# 指定 WMM 模型文件(您需要下载模型文件并替换为实际路径)
2model_path = ‘WMM2025.COF’
3
4# 创建 WMM 模型对象
5wmm_model = geomag.load_model(model_path)
6
7# 设置计算位置和时间 (示例:北京,2024年)
8latitude = 39.91 # 纬度
9longitude = 116.39 # 经度
10altitude = 0 # 海拔高度 (km)
11year = 2024.0 # 年份
12
13# 计算磁场要素
14result = wmm_model.calc_field(latitude, longitude, altitude, year)
15
16# 打印结果
17print(“纬度:”, latitude)
18print(“经度:”, longitude)
19print(“海拔高度:”, altitude)
20print(“年份:”, year)
21print(“磁场强度 (nT):”, result.f)
22print(“磁偏角 (度):”, result.dec)
23print(“磁倾角 (度):”, result.inc)`

使用流程:

  1. 下载WMM模型文件。
  2. 选择合适的编程语言和WMM库 (例如,Python的pygeomag)。
  3. 安装相关库。
  4. 编写代码,读取模型文件。
  5. 输入地理位置、高度和时间。
  6. 调用库函数计算磁场要素。
  7. 根据计算结果进行后续应用。

总结#

世界磁场模型WMM2025的发布,标志着地球磁场建模和导航技术取得了重要进展。WMM2025不仅提供了更精确的导航数据,还首次引入了高分辨率模型,将进一步提高导航精度。对于依赖地球磁场的各类技术系统而言,WMM 模型是至关重要的基础设施,它确保着全球导航的准确可靠。通过NCEI、BGS 等机构的持续努力和国际合作,我们对地球磁场的理解将不断深入,未来也将会出现更加先进和精确的地球磁场模型。

References:#

本公众号相关内容推荐#


title: “NOAA通过NODD计划提供PB级地球系统数据开放访问” published: 2024-05-22 description: “截至2023年12月,NODD计划已整合并开放了约28PB数据,每天提供数十亿次请求和 PB级数据访问。” image: “/images/NOAA通过NODD计划提供PB级地球系统数据开放访问/img_15a96cfa.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#

NOAA 每天从卫星、雷达、船舶、海洋与大气预报模型等来源获取和生成的数据量达到数10TB。虽然这些数据可供公众使用,但要下载和处理如此庞大的数据十分困难。

NOAA开放数据传播计划(NOAA Open Data Dissemination,NODD)通过商业公有云计算平台发布NOAA的开放数据,使公众能够以很方便快捷的方式访问这些数据。NODD 目前与亚马逊网络服务 (AWS)、谷歌云平台 (GCP) 和微软 Azure三家基础设施即服务 (IaaS) 提供商开展合作。这些合作伙伴关系可以促进全面、开放的数据访问,而且通过将NOAA数据整合到现有的基于云计算平台的数据访问和分析工具中,使海洋大气局的数据更易于访问,从而促进科技创新。

NOAA开放数据向公有云计算平台传输示意图

NODD发展历史

NODD计划始于2015年,是一个从研究到运行(R2O)的实验项目,名为大数据项目(BDP)。该项目旨在探索一种可扩展的方法,利用商业云服务向公众传播NOAA呈指数级增长的观测、模型和研究数据集。之所以需要一种新的传播方法,是因为指数级增长的数据给公众有效使用NOAA的数据带来了障碍,例如成本增加和带宽限制。

经过正式程序,NOAA于2015年4月与五个合作伙伴签署了为期三年的非竞争性合作研发协议(CRADA)。这五个合作伙伴包括亚马逊网络服务(AWS)、谷歌云平台(GCP)、IBM、微软Azure和开放共享联盟(OCC)。在CRADA阶段,通过云提供了 150 多个数据集。

2019 年,NOAA开始正式实施大数据项目,并正式向业界征求建议书,最终与AWS、Google Cloud和Microsoft签订了为期十年的合同。这使得大数据项目成为大数据计划,并从2019年10月开始具备大数据计划的初始运行能力。

2021年,大数据项目成为一项可运营的企业服务,即启动了NOAA开放数据传播计划(NODD),其使命仍是通过云平台为公众提供免费、便捷的数据访问。

NODD提供的数据集

  • 卫星观测数据,包括GOES-16、GOES-17、GOES-18、Himawari-8/9、联合极轨卫星系统(JPSS)等卫星获取的数据。
  • 雷达数据:下一代天气雷达(NEXRAD)
  • 数值模式:全球预报系统GFS、全球集合预报系统GEFS、高分辨率快速循环同化更新预报系统(High Resolution Rapid Refresh,HRRR)
  • 观测数据:全球历史气候观测网络(GHCN)、闪电观测数据
  • 海洋数据:WOD、全球地形数据
  • 渔业数据

截至2023年12月,该计划已整合并开放了约28PB数据,每天提供数十亿次请求和 PB级数据访问。

NODD已开放的数据集:https://www.noaa.gov/nodd/datasets

通过NODD在云上公开提供的部分NOAA数据集

点表示过去 5 个月在 AWS、Azure 和 GCP 上的每月加入量(y 轴)、上传量(x 轴)和交互量(点的大小)的中位数。蓝色虚线表示加入量和上传量的一比一比例。高于蓝线的数据集表示加入量多于上传量。

NODD数据访问方式

通过AWS、Azure和GCP上的NODD对象存储访问NOAA数据,用户无需支付任何费用。用户无需为访问数据付费,无需为任何数据出口付费,无需为访问数据进行身份验证,也无需拥有云账户来使用数据。每个云服务提供商都在其对象存储平台背后建立了基础设施,可同时并行提供数据,没有限制带宽流量:每个平台均支持每秒数千次请求。正是由于这种高性能的平台架构,单个用户可以在一天内访问PB级的数据。每个云服务提供商还提供免费计算服务,这些服务需要注册,但不需要云账户。例如Microsoft Planetary Computer、Google Colaboratory、Google Earth Engine、AWS Sagemaker Studio Lab。

AWS集成的数据集

Microsoft Planetary Computer集成的数据集

Google云平台提供的数据

本公众号相关内容推荐:


title: “NVIDIA发布全球首个完全开放的AI气象预测平台” published: 2026-01-28 description: "" image: “/images/NVIDIA发布全球首个完全开放的AI气象预测平台/img_464d1747.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#

2026年1月26日,NVIDIA在美国气象学会年会上正式发布了Earth-2开放模型家族,标志着AI气象预测技术进入了一个全新的时代。这是全球首个完全开放、加速的气象AI软件栈

在气候变化日益严峻的今天,准确、快速的天气和气候预测变得至关重要。NVIDIA Earth-2作为革命性的行星数字孪生系统,利用生成式AI和加速计算技术,以前所未有的速度和规模预测天气和气候,真正实现了气象AI的民主化。

从传统到AI的范式转变#

传统气象预报一直依赖于运行物理模型的超级计算机,这种方法虽然准确,但计算成本高昂、时间消耗巨大。AI驱动的气象预报技术能够显著节省计算时间和成本,使更多国家、气象企业和商业机构能够运行针对特定应用的预测系统。

NVIDIA Earth-2的推出,使得生产级气象AI首次能够被各类组织完全访问、微调和部署在自己的基础设施上。

Earth-2平台架构#

核心组件#

Earth-2 AI工具箱包含两个主要的开源Python库:

  • • PhysicsNeMo:用于训练AI物理模型的库,涵盖天气模型以及流体动力学等其他应用领域
  • • Earth-2 Studio:专门为AI天气推理流程提供组件的库,托管在GitHub上,社区可以贡献代码、报告问题并共同改进平台

核心模型家族#

Earth-2 Medium Range(中期预报模型)#

采用全新的Atlas架构,实现高精度气象预测,适用于全球范围的天气变量预报。提供15天全球预报,覆盖风速、温度、湿度等多种气象要素。

Earth-2 Nowcasting(临近预报模型)#

基于StormScope架构的生成式AI,利用卫星和雷达数据进行训练。能够进行国家级尺度的高分辨率短期预报,预测真实的云系统和降雨系统演化,学习如何预测风暴的发展和组织过程。

Earth-2 Global Data Assimilation(全球数据同化模型)#

采用HealDA架构,为气象预测提供初始条件,处理来自卫星、雷达等各类观测数据的复杂模式,生成高质量的初始场。

Earth-2 CorrDiff#

使用生成式AI架构进行降尺度处理,将粗分辨率的大陆级预报提升至高分辨率。

Earth-2 FourCastNet3#

为风、温度和湿度等多种气象变量提供高精度预报,是平台的经典全球预测模型之一。

其他支持模型#

平台还集成了AIFS(欧洲中期天气预报中心的AI预报系统)、Aurora(微软研发)等第三方预训练模型。所有模型都定义了统一的接口,可以轻松切换、组合甚至集成自定义模型。

Earth-2 Studio核心优势#

1. 灵活的数据源支持#

Earth-2 Studio提供了多种数据源来初始化天气预测:

  • • ERA5(历史再分析数据)
  • • IFS(欧洲中期天气预报中心综合预报系统)
  • • GFS(全球预报系统)
  • • GOES(地球静止环境卫星)
  • • 以及更多数据源

切换数据源只需要修改一行代码,这使得实验、测试和基准测试变得非常简单。

2. 统一接口设计#

无论使用哪个模型或数据源,API保持一致,这大大降低了学习曲线,提高了开发效率。

3. 标准化的数据输出#

输出数据可以写入Zarr和NetCDF格式,并可以使用xarray等标准工具进行进一步处理,完美融入现有的科学计算工作流。

快速上手使用#

硬件要求#

  • • 具有至少80GB显存的NVIDIA GPU(如A100或更新型号)
  • • Python 3.11或更高版本

第一步:导入必要组件#

from earth2studio import data_sources, io_backends, models, workflow

第二步:加载模型#

# 加载FourCastNet3全球预测模型
model = models.FourCastNet3.load_model()

每个模型接口都定义了一个load_model类方法,预训练模型具有默认包,会从Hugging Face存储库中提取所需数据。

第三步:定义数据源和输出格式#

# 使用欧洲中期天气预报中心的IFS分析数据
data_source = data_sources.IFS()
# 将输出写入NetCDF格式
io_backend = io_backends.NetCDF()

第四步:运行工作流#

from datetime import datetime
# 设置起始时间
start_time = datetime(2026, 1, 15, 0, 0)
# 运行预测(4个时间步)
workflow.deterministic(
    start_time=start_time,
    n_steps=4,
    model=model,
    data_source=data_source,
    io_backend=io_backend
)

在NVIDIA GPU上的推理速度极快,仅需几秒钟即可完成

第五步:可视化结果#

import xarray as xr
# 使用xarray打开输出文件
data = xr.open_dataset('output.nc')
# 查看未来四天的2米温度预测

切换模型#

# 使用ECMWF的AIFS
model = models.AIFS.load_model()
# 或使用微软的Aurora
model = models.Aurora.load_model()

切换数据源#

# 使用GFS
data_source = data_sources.GFS()
# 或基于ERA5进行历史分析
data_source = data_sources.ERA5()

切换输出格式#

# 使用Zarr格式
io_backend = io_backends.Zarr()
# 或在内存中处理
io_backend = io_backends.InMemory()

除了基本的确定性工作流,Earth-2 Studio还提供:

  • • 集成预测工作流:生成多个可能的未来场景
  • • 模型耦合工作流:结合两个模型的优势
  • • 自定义工作流模板:作为开发自定义工作流的起点
  • • 定制化:支持用户根据特定需求微调模型

获取方式#

NVIDIA提供了多种方式帮助开发者快速上手:

渠道地址
GitHubhttps://github.com/NVIDIA/earth2studio
Hugging Facehttps://huggingface.co/collections/nvidia/earth-2
NIM文档https://docs.nvidia.com/nim/earth-2
官方门户https://nvidia.com/en-us/high-performance-computing/earth-2/

Earth-2 Medium Range和Nowcasting模型现已通过Earth2Studio、Hugging Face和GitHub开放获取,Global Data Assimilation模型也即将发布。

最 后#

NVIDIA Earth-2开放模型家族的发布,标志着气象AI技术从封闭走向开放,从少数人掌握到全球共享。这不仅是技术的进步,更是理念的革新。

通过将生成式AI与加速计算相结合,Earth-2不仅提供了前所未有的预测速度和规模,还通过简洁的API和统一的接口设计,让这项强大的技术变得触手可及。无论是气候科学家、机器学习工程师,还是对AI天气预测感兴趣的开发者,只需几行代码和几秒钟的时间,就可以运行复杂的全球天气预测模型。

在全球气候变化日益严峻的今天,让更多机构和研究者能够获得先进的气象预测能力,将有助于人类更好地应对气候挑战。====Napari-一个支持分析大型多维图像数据集的python工具.md====#

title: “Napari:一个支持分析大型多维图像数据集的python工具” published: 2024-03-07 description: “Napari是一个支持浏览、标注、分析和可视化大型多维图像数据集的基于python的开源社区工具。它支持的图像数据类型包括显微镜影像、医学影像、生物图像、地理空间数据” image: “/images/Napari-一个支持分析大型多维图像数据集的python工具/img_01777f81.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#

Napari是一个支持浏览、标注、分析和可视化大型多维图像数据集的基于python的开源社区工具。它支持的图像数据类型包括显微镜影像、医学影像、生物图像、地理空间数据等,目前已成为数据分析人员或者希望访问 Python 庞大科学生态系统但可能没有编码经验用户的必备工具,也为不断增长的图像分析插件生态系统提供了点选式访问途径。

napari支持7种不同的主要图层类型,包括Image、Labels、Points、Shapes、Surface、Tracks、Vectors,每种类型对应不同的数据类型、可视化和交互方式。用户可以将不同类型的多个图层添加到查看器中,然后调整它们的属性,包括通过绘制标签或绘制多边形进行手动注释。所有图层类型都支持 n 维数据,查看器允许用户快速浏览这些数据的二维或三维切片,并将其可视化。用户还可以通过 IPython 控制台以编写代码的方式访问查看器中的任何内容。

napari 近来大受欢迎的关键因素之一是其广泛的社区插件开发,它拥有一个非常活跃的社区,几乎每天都有插件被开发和发布,涵盖了图像分析的方方面面,如果一个文件没有本地支持,那么几乎肯定会有一个插件能够加载它。

由于napari是用 Python 编写的,因此也为整合Python庞大的机器学习、深度学习和数据科学软件包生态系统打开了大门。此外,它还支持直接插入常用的图像/数据处理Python库,例如scikit-image、Numpy、SciPy和clEsperanto。

  • 安装
conda create -y -n napari -c conda-forge python=3.9
  • 配置环境
conda activate naparipython -m pip install "napari[all]"
  • 启动napari图形界面
#命令行输入napari
  • python代码中启动napari
import naparifrom skimage import data
# here we initialise the napari viewerviewer = napari.Viewer()# now we're adding the data.cell() image to the viewerviewer.add_image(data.cell())# calling napari and telling it begin runningnapari.run()
  • 加载本地影像文件
import naparifrom skimage.io import imread
# reading our image and storing it into the variable imgimg = imread('path/to/image.png')# here we initialise the napari viewerviewer = napari.Viewer()# adding the image to the napari viewerviewer.add_image(img)# running naparinapari.run()

References


title: “NeuralGCM: 一种融合机器学习与物理原理来模拟地球大气的新方法” published: 2024-08-21 description: “发表于《Nature》的一篇论文《Neural general circulation models for weather and climate》中提出了NeuralGCM,这是一种基于机器学习方法的模拟地球大气的新方法。” image: “/images/NeuralGCM-一种融合机器学习与物理原理来模拟地球大气的新方法/img_0883d403.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#

地球正在以前所未有的方式变暖,但气温升高对地球的未来意味着什么尚不完全清楚。全球哪些地区将面临长期干旱?大型热带风暴将在哪里使沿海洪水更加频繁?随着气温升高,野火季节将如何变化?为了回答这些和其他相关问题,科学家需要能够准确预测地球气候。

使用传统大气环流模型 (GCMs) 求解地球大气方程是天气和气候预测的基础 。在过去70年里,GCMs通过采用更好的数值方法和更详细的物理模型,同时利用更快的计算机以更高的分辨率运行,一直在稳步优化。在GCMs内部,云、辐射和降水等未解决的物理过程由半经验参数化表示。然而,调整GCMs以匹配历史数据仍然是一个手动过程,并且GCMs存在许多持续的错误和偏差。减少长期气候预测中的不确定性和预测极端天气事件的分布的难度对气候缓解和适应提出了重大挑战。

机器学习的最新进展为天气预报提供了一种替代方案。这些模型完全依赖于机器学习技术,使用来自欧洲中期天气预报中心 (ECMWF) 再分析数据集v5 (ERA5)的大约40年的历史数据进行模型训练和预测初始化。机器学习方法取得了显著的成功,展示了1到10天天气预报的确定性预报,而计算成本仅为传统数值预报模型的一小部分。机器学习大气模型所需的代码也少得多,例如GraphCast仅有5417 行,而NOAA的FV3大气模型有376578行。

与GCMs相比,机器学习方法具有明显的局限性。现有的人工智能机器学习模型专注于确定性预测,并且在训练的总体指标方面超越了确定性数值天气预报。然而,它们不会产生经过校准的不确定性估计,这对于有用的天气预报却至关重要。使用均方误差损失的确定性机器学习模型因对不确定性进行平均而获得奖励,当针对多日预报进行优化时,会产生不切实际的模糊预测。与物理模型不同,机器学习模型会错误地表示派生的(诊断)变量,例如地转风。此外,尽管在较长的时间尺度上使用机器学习方法取得了一些成功,但这些模型并未表现出超越现有传统GCMs的能力。

将GCMs与机器学习相结合的混合模型,是近期的发展趋势,因为它们建立在传统大气模型的可解释性、可扩展性和成功记录之上。在混合模型方法中,机器学习组件替换或纠正了GCMs的传统物理参数化方案。到目前为止,此类模型中的机器学习组件已经通过“离线”训练,通过独立于其与动力学相互作用学习参数化方案。然后将这些组件插入现有的GCMs。训练期间机器学习组件与控制方程之间缺乏耦合可能会导致严重问题,例如不稳定性和气候漂移。到目前为止,混合模型大多局限于理想化场景。在现实条件下,机器学习校正减少了非常粗糙的GCMs的一些偏差,但性能仍然比最先进的数值预报模型差很多。

这种方法比现有模型更快、计算成本更低、更准确。NeuralGCM是与欧洲中期天气预报中心 (ECMWF) 合作开发的,它将传统的基于物理的建模与机器学习相结合,以提高模拟的准确性和效率。这种方法可以生成2-15天的天气预报,比目前基于物理的黄金标准模型更准确,并且比传统大气模型更准确地再现了过去40年的大气温度。虽然尚未将NeuralGCM构建成完整的气候模型,但它标志着我们朝着开发更强大、更易用的气候模型迈出了重要一步。作者希望它最终能够让我们更准确、更切实地了解气候变化。

NeuralGCM 将传统的流体动力学求解器与用于小规模物理的神经网络相结合。这些组件由微分方程求解器组合,使系统按时间顺序向前推进。

与传统模型一样,NeuralGCM 将地球大气层划分成立方体,并对空气和水分运动等大规模过程的物理特性进行计算。但它并不依赖科学家制定的参数化来模拟云层形成等小规模方面,而是使用神经网络从现有天气数据中学习这些事件的物理特性。

NeuralGCM模拟了2019年12月26日至2020年1月8日14天内的湿度模式。湿度值越高,颜色越浅。

NeuralGCM 的一项关键创新是JAX中从头开始重写了大规模过程的数值求解器。这使得用户能够使用基于梯度的优化来“在线”调整耦合系统在许多时间步骤中的行为。相比之下,之前使用机器学习增强气候模型的尝试在数值稳定性方面遇到了很大困难,因为它们使用了“离线”训练,这忽略了随着时间的推移而积累的小规模和大规模过程之间的关键反馈。在 JAX 中编写整个模型的另一个好处是,它可以在TPU和GPU上高效运行,而传统的气候模型主要在CPU上运行。

比较NeuralGCM和AMIP在预测1980年至2020年期间1000hPa全球平均气温方面的表现。全球平均气温 (C) 来自 ECMWF ERA5数据集。

NeuralGCM预测了2020年全球热带气旋的路径。预测的风暴与ECMWF ERA5再分析数据集中显示的当年实际气旋的数量和强度相匹配。NeuralGCM的计算速度也比传统的基于物理的气候模型快几个数量级,计算成本也更低。分辨率为1.4°的NeuralGCM模型比NOAA X-SHiELD快 3500倍以上,这意味着如果研究人员使用X-SHiELD模拟一年的大气,需要20天,而使用NeuralGCM只需8分钟。科学家只需要一台带有单个TPU的计算机即可运行NeuralGCM,但他们却需要请求访问具有13000个 CPU的超级计算机才能运行X-SHiELD。总体而言,使用NeuralGCM进行气候模拟的计算成本比使用X-SHiELD低十万倍,速度的提升相当于高性能计算 25年的进步。

NeuralGCM目前仅模拟地球大气层。后续工作中,研究团队将会把地球气候系统的其他方面(例如海洋和碳循环)纳入到模型中,使我们能够探索诸如厄尔尼诺-南方涛动等现象,特别是其可预测性和可变性。同时,NeuralGCM也将能够进行更长时间尺度的预测,而不仅仅是预测几天和几周的天气,而是预测气候时间尺度的天气。

研究团队开源了NeuralGCM代码和训练出的模型权重参数。

论文地址:https://www.nature.com/articles/s41586-024-07744-y

开源代码:https://github.com/google-research/neuralgcm


本公众号相关内容推荐:


title: “Newsletter #1: 2022年人工智能领域重磅论文总结” published: 2022-12-26 description: “The new discoveries about artificial intelligence and data science in geoscience.” image: “/images/Newsletter-1-2022年人工智能领域重磅论文总结/img_e03e04ac.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#

1.  2022年人工智能和数据科学领域重磅论文总结这个页面收集了2022年人工智能和数据科学领域发表的重磅论文,每篇论文均配有油管视频讲解,部分论文还附有实现代码。https://github.com/louisfb01/best\_AI\_papers\_2022

2.  用于遥感图像理解的大规模、多任务数据集Satlas

Satlas是一个大规模、多任务的数据集,用于衡量和改进遥感图像理解模型。Satlas的目标是:对卫星图像中可见的一切进行标注。Satlas包含的图像像素比现有最大的数据集多10倍,并跨越了7种模式。它比现有最大的数据集多出2倍。该数据集将在2023年1月发布。

https://satlas.allenai.org/Paper:https://arxiv.org/abs/2211.15660

论文提出了一个统一的模型结构SatNet。该模型支持Satlas中所有标签模式的预测。

 

作者将SatNet与Satlas上的八个基线进行比较;并使用多种预训练方法对下游应用任务的性能进行评估。

3.  基于SAR的山体滑坡分类预训练模型

自然灾害发生后的快速评估是确定应急资源优先次序的关键。在山体滑坡的情况下,快速评估包括确定受影响地区的范围和测量单个山体滑坡的大小和位置。合成孔径雷达(SAR)是一种不受天气条件影响的主动遥感技术。深度学习算法可以应用于SAR数据,但训练它们需要大量的标记数据集。在山体滑坡的情况下,这些数据集的产生是很费力的,而且往往没有事件发生的特定区域的数据。作者研究了用于SAR产品上的山体滑坡分割的深度学习算法如何从一个更简单的任务和来自不同地区的数据的预训练中获益。

Paper:https://arxiv.org/abs/2211.09927Code:https://github.com/VMBoehm/SAR-landslide-detection-pretraining**4.****利用语言模型设计并生成全新蛋白质****(Language  models generalize  beyond  natural proteins)**

语言模型是一种机器学习模型,可以通过分析大量的数据来学习自然语言模式。在这篇研究论文中,作者对天然蛋白质的序列进行了语言模型的训练,并利用它们来生成自然界中没有的新蛋白质。作者专注于两项任务:固定骨架设计,即指定蛋白质的结构;以及无约束生成,即从模型中抽出结构。作者对生成的蛋白质进行了实验评估,发现他们在生成可溶性和单体蛋白质方面是成功的。

Paper:https://www.biorxiv.org/content/10.1101/2022.12.21.521521v1PDF:https://www.biorxiv.org/content/10.1101/2022.12.21.521521v1.full.pdf

5. 利用遥感数据预测强降雨(WeatherFusionNet: Predicting Precipitation from Satellite Data)

降水的短期预测在生活的许多领域都是至关重要的,有大量的工作致力于预测雷达反射率图像。雷达图像只有在有地面气象雷达的地区才能获得。因此,该方法是通过较低分辨率的卫星辐射率图像来预测高分辨率的降水。作者设计了名为WeatherFusionNet的神经网络被用来预测提前8小时的强降雨。WeatherFusionNet是一个U-Net架构,它融合了三种不同的方式来处理卫星数据。从当前帧(sat2rad)中提取雨水信息,预测未来的卫星帧(PhyDNet),以及直接结合输入序列来预测降雨(U-Net)。使用这种方法,WeatherFusionNet可以提前8小时预测强降雨。该模型在NeurIPS 2022 Weather4Cast challenge获得了第一名。这项挑战是让参与者从低分辨率的卫星数据中产生高分辨率的短期降雨预测。

Paper:https://arxiv.org/abs/2211.16824Code:https://github.com/Datalab-FIT-CTU/weather4cast-2022

6. 采用现场观测和机器学习建立的中国1公里每日土壤水分数据集

高质量的网格化土壤水分产品对于许多地球系统科学的应用是必不可少的,而最近的再分析和遥感土壤水分数据往往是粗略的分辨率,而且遥感数据只针对表层土壤。在此,我们提出了一个1公里分辨率的长期土壤水分数据集,该数据集是通过对中国境内1789个站点的原位测量数据进行机器学习训练后得出的,命名为SMCI1.0(中国原位数据土壤水分,1.0版)。基于随机森林方法,使用ERA5-Land时间序列、叶面积指数、土地覆盖类型、地形和土壤属性作为预测因子来预测土壤水分。SMCI1.0提供了2000-2020年期间每日分辨率的10层土壤湿度,间隔为10厘米,最深为100厘米。由于SMCI1.0是基于现场数据的,它可以作为现有基于模型和卫星的土壤水分数据集的有益补充,用于各种水文、气象和生态分析和模型。

Paper: https://essd.copernicus.org/articles/14/5267/2022/Datasets:https://data.tpdc.ac.cn/en/data/49b22de9-5d85-44f2-a7d5-a1ccd17086d2/**7. 一个用于神经网络和深度学习的并行Fortran框架neural-fortran**neural-fortran是一个用于神经网络和深度学习的并行Fortran框架。它有一个简单的界面来构建任意结构和大小的前馈神经网络,有几个激活函数,以及随机梯度下降作为默认优化算法。Neural-fortran还利用Fortran 2018标准的集体子程序,在共享或分布式内存机器上实现基于数据的并行性。易用性和计算性能与现有的流行机器学习框架相似,使neural-fortran成为进一步开发和生产中使用的可行的候选者。

Paper:https://arxiv.org/abs/1902.06714Code:https://github.com/modern-fortran/neural-fortran

8. 计算海洋近似中性表面的python工具包

海洋内部的运动主要是沿着而不是跨越中性切面发生的。这些平面不能连接在一起形成定义明确的表面,所以海洋学家使用近似中性表面。迄今为止,最准确的此类表面是ω-表面,但其实际效用有限,因为其数值实现速度慢,有时不稳定。这个python包可以在大约15秒内计算出1,440×720网格的海洋的ω-表面,而原来的软件大约需要11小时。

Python:https://github.com/geoffstanley/neutralocean

Matlab:https://github.com/geoffstanley/neutral-surfaces

9. “Machine Learning and Data Analysis in Oceanography” is now accepting abstract submissions! Deadline 27 January 2023

https://www.ocean-colloquium.uliege.be/cms/c\_14229949/en/international-liege-colloquium-on-ocean-dynamics

10.  用TensorFlow和Keras构建卷积神经网络

地址: https://www.kaggle.com/learn/computer-vision

“Science cannot tell us what we ought to do, only what we can do.”

  • Jean-Paul Sartre, Being and Nothingness====Newsletter-2-pip-install-2023.md====

title: “Newsletter #2: pip install 2023” published: 2023-01-05 description: “AI4GeoScience Newsletter #2” image: “/images/Newsletter-2-pip-install-2023/img_16659ddb.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#

1. Earthformer- A space-time Transformer for Earth system forecasting

传统的地球系统预测依赖于复杂物理模型的数值模拟,计算成本高,对领域的专业知识要求也高。随着过去十年中地球观测数据的爆炸性增长,应用深度学习的数据驱动模型在各种地球系统预测任务中显示出令人印象深刻的潜力。Transformer作为一种新兴的深度学习架构,在自然语言处理等领域取得了广泛的成功。Earthformer是一个用于地球系统预测的时空Transformer。它基于一个通用的、灵活的、高效的时空注意力模块,名为立方体注意力(Cuboid Attention)。其方法是将数据分解成立方体,然后并行运行这些立方体级的自注意(self-attention)模块,最后这些立方体进一步与全局向量的集合相连。

Paper:https://arxiv.org/abs/2207.05833Code: https://github.com/amazon-science/earth-forecasting-transformer**2. PDEBENCH: An Extensive Benchmark for Scientific Machine Learning**PDEBENCH(PDEs Differential Equations)是一个基于偏微分方程的时间相关模拟任务的机器学习模型评估基准套件,由代码和数据组成,以经典数值模拟和机器学习基线为基准,对新型机器学习模型的性能进行评估。PDEBench的特点是支持更多的偏微分方程,包括正向和反向问题,以及各种初始和边界条件以及PDE参数。

Datasets: https://doi.org/10.18419/darus-2986预训练模型: https://doi.org/10.18419/darus-2987Code:https://github.com/pdebench/PDEBenchPaper: https://openreview.net/pdf?id=dh\_MkX0QfrK**3. CloudSEN12 - a global dataset for semantic understanding of cloud and cloud shadow in Sentinel-2**
准确描述云层及其阴影是地球观测界的一个长期问题。CloudSEN12是利用哥白尼计划提供的可分析数据创建的一个新的多时空全球数据集,以促进云和云影探测方面的研究。CloudSEN12有49400个图像斑块,包括(1)Sentinel-2的1C级和2A级多光谱数据,(2)Sentinel-1的合成孔径雷达数据,(3)辅助的遥感产品,(4)不同的手工注释来标记厚云和薄云以及云影的存在,以及(5)八个最先进的云检测算法的结果。Datasets:https://cloudsen12.github.io/Paper:https://doi.org/10.5281/zenodo.7034410**4. SEN2VENµS: a Dataset for the Training of Sentinel-2 Super-Resolution Algorithms**SEN2VENμS是一个开放的数据集,由VENμS卫星在同一天获得的10米和20米无云Sentinel-2图像以及附带的5米分辨率的高分辨率参考资料组成。该数据集涵盖了29个地点,共有132,955个256×256像素的5米分辨率的斑块,可用于训练和比较超分辨率神经网络。

Paper: https://www.mdpi.com/2306-5729/7/7/96Datasets: https://doi.org/10.5281/zenodo.6514159**5.  MSNet: 遥感图像的多光谱语义分割网络-multispectral semantic segmentation network for remote sensing images**在遥感影像自动解译的研究中,基于深度卷积神经网络的语义分割得到了快速发展和应用,特征分割精度和网络模型泛化能力逐步提高。然而,大多数网络设计主要面向遥感影像的RGB三个可见光波段,目的是为了能够直接借用成熟的自然影像语义分割网络和预训练模型,但同时造成了遥感影像近红外(NIR)等不可见光波段的光谱信息的浪费和损失。结合多光谱数据在区分水和植被等典型特征方面的优势,我们提出了一种新型的深度神经网络结构,称为多光谱语义分割网络(MSNet),用于对多分类特征场景进行语义分割。将多光谱遥感图像波段分成可见光和不可见光两组,在两个编码阶段采用ResNet-50进行特征提取,在解码阶段采用级联上采样恢复特征图的分辨率,并利用特征金字塔结构将上采样过程中的多尺度图像特征和光谱特征逐层融合,最终得到语义分割结果。

Paper: https://doi.org/10.1080/15481603.2022.2101728Code:https://github.com/taochx/MSNet**6. 神经网络及相关算法的PyTorch实现**
这是一个关于神经网络和相关算法的简单PyTorch实现的集合,包括Transformer, GANS, Reinforcement Learning (ppo, dqn), Capsnet, Distillation等。

Code:https://github.com/labmlai/annotated\_deep\_learning\_paper\_implementations

Render Site:https://nn.labml.ai/

7.  NeurIPS论文数据可视化

1987至2022年NeurIPS发表的共计16623篇论文信息可视化。

Website:https://atlas.nomic.ai/map/neurips‍

8. 2022年地理空间领域常用Python工具包

9.  State of the Ocean Report 2022联合国教科文组织政府间海洋委员会(Intergovernmental Oceanographic Commission of UNESCO)发布的2022年海洋状况报告。

PDF link:https://unesdoc.unesco.org/ark:/48223/pf0000381921

10. 机器学习在遥感领域的应用教程

包括基本概念、神经网络、表征学习(Representation Learning)、卷积和循环神经网络等内容

油管链接:https://www.youtube.com/playlist?list=PLzvRrSe1\_bqjGthl2s\_FG6AnNYjihUlMS

11. TensorFlow相关学习资源

包括TensorFlow相关教程、论文、模型、软件、书籍等内容。

Website:https://github.com/jtoy/awesome-tensorflow

12.  JuliaEO Workshop on Earth Observation with Julia 2023

Website:https://aircentre.github.io/JuliaEO/

注册地址(google 表单):https://docs.google.com/forms/d/e/1FAIpQLSfjaSxqbp05bsemC9ZhI1kAWLvsmlXJuidetvPKg2E0jL6nKA/viewform

13.  Machine Learning for Earth System modeling

Abstract submission deadline: 10 January 2023

**Link:**https://meetingorganizer.copernicus.org/EGU23/session/46861

14. 轮船在水面留下的痕迹

====OceanSpy-一个提供海洋数值模式数据分析和可视化的Python包.md====#

title: “OceanSpy:一个提供海洋数值模式数据分析和可视化的Python包” published: 2025-02-01 description: "" image: “/images/OceanSpy-一个提供海洋数值模式数据分析和可视化的Python包/img_30136928.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#

****#

随着数值海洋环流模式的时间和空间分辨率不断提高以及物理过程刻画更加完善,模式计算输出的数据量呈现爆炸性增长,这给海洋科学研究人员在数据分析和知识提取方面带来了巨大挑战。

这些挑战主要体现在两个方面:首先,庞大的数据规模需要高性能计算基础设施来支持数据访问和处理;其次,原始模型输出通常需要复杂的后处理才能提取出有意义的海洋学信息。此外,为了验证数值模式的真实性和准确性,需要将模式计算结果与实际观测数据进行对比,这就要求分析技术必须与海洋观测学家使用的方法保持一致。

针对这些挑战,OceanSpy应运而生。这个开源的Python包集成了Xarray、Dask和Xgcm等强大的数据处理库,为海洋数值模式数据的分析和可视化提供了一个用户友好的解决方案。它不仅支持可扩展的数据分析和高效的海洋特性提取,还提供了强大的诊断计算能力和灵活的可视化功能。

1. OceanSpy主要特性#

OceanSpy被设计为一个易于使用且多功能的Python包,其核心功能可分为以下几类:

海洋特性数据提取#

  • 用户自定义点位:在4D空间(经度、纬度、深度、时间)的特定位置提取模型场数据(温度、盐度、速度等)。这对于将模型输出与点测量或拉格朗日仪器进行比较至关重要。
  • 合成船舶调查:通过提取连接用户定义”站点”的大圆路径上的垂直剖面来模拟水文调查。数据被插值到这些站点上,允许进行类似于观测调查的垂直剖面分析。
  • 合成锚系阵列:在固定位置提取数据,保持数据在原始模式网格上,便于精确计算物质通量。

这些提取功能使研究人员能够直接将模式模拟结果与各种类型的观测数据进行比较,包括拉格朗日漂流和水文调查。

诊断量计算#

除了简单提取原始模型变量外,OceanSpy还可以计算许多模式未直接输出的衍生海洋学诊断量。这些包括:

  • 矢量微积分运算:标量和矢量场的梯度、散度、旋度和拉普拉斯算子。
  • 海洋物理变量:Ertel potential vorticity, Brunt-Väisälä frequency, potential density anomaly, relative vorticity, kinetic energy (total and eddy), and various strain components (horizontal shear and normal strain).
  • 体积加权平均:计算特定体积的平均值。
  • 收支分析:在具备必要模型输出的情况下,可进行热量和盐分收支的精确计算

下表总结了OceanSpy可计算的部分诊断量,并提供了每个诊断量的数学定义。

简便的可视化#

OceanSpy与matplotlib和Xarray的绘图功能无缝集成,提供针对海洋数据可视化的定制函数。常见的可视化,如:温度-盐度(T/S)图、海表温度分布图、水文断面图等。

模式兼容性和可扩展性#

虽然OceanSpy主要是与MITgcm的输出一起开发和测试的,但它可以兼容任何结构化网格海洋通用环流模式。其架构具有灵活性,允许实现数值模式特定的特性,如不同的网格、数值方案、收支闭合和状态方程。

OceanSpy利用Dask实现了可扩展性,这对于处理现代高分辨率模拟产生的PB级数据集至关重要。它可以部署在各种环境中:

  • 独立包:用于本地分析模型输出。
  • 远程数据分析集群:基于云计算集群平台环境,直接在远程数据分析环境分析可视化大型数据集。

2. 安装#

OceanSpy可以使用conda轻松安装。推荐的安装过程涉及使用conda-forge通道创建专用conda环境,确保安装所有必要的依赖项。以下命令创建一个名为”oceanspy-env”的环境,其中包含OceanSpy及其依赖项:

conda create -n oceanspy-env -c conda-forge oceanspy xarray dask xgcm “cartopy<0.20” esmpy intake-xarray geopy xesmf esmf xgcm Ipython tqdm ffmpeg aiohttp pandas xmitgcm

3. 应用案例#

Kögur断面:分析水文断面#

Kögur断面是冰岛和格陵兰之间经常采样的水文断面,是OceanSpy应用的绝佳例子。使用OceanSpy,可以轻松:

  • 采样模型输出:沿Kögur断面提取数据,模仿观测调查和锚系部署。
  • 计算正交速度:计算并可视化垂直于断面的速度分量,揭示横断面流型。
  • 分析体积输运:计算通过断面的密水体积通量时间序列,量化重要的水团输运。
  • 探索T/S特性:生成按正交速度着色的T/S图,揭示水团特征与流向之间的关系。

这些功能允许将模型模拟与Kögur断面的观测数据直接比较,有助于模式验证和过程理解。

1# Import oceanspy
2import cartopy.crs as ccrs
3import matplotlib.pyplot as plt
4import oceanspy as ospy
5
6od = ospy.open_oceandataset.from_catalog(“EGshelfIIseas2km_ASR_full”)
7
8# Kögur information
9lats_Kogur = [68.68, 67.52, 66.49]
10lons_Kogur = [-26.28, -23.77, -22.99]
11depth_Kogur = [0, -1750]
12
13# Select time range:
14# September 2007, extracting one snapshot every 3 days
15timeRange = [“2007-09-01”, “2007-09-30T18”]
16timeFreq = “3D”
17
18# Extract mooring array and fields
19od_moor = od.subsample.mooring_array(
20 Xmoor=lons_Kogur,
21 Ymoor=lats_Kogur,
22 ZRange=depth_Kogur,
23 timeRange=timeRange,
24 timeFreq=timeFreq,
25 varList=[“Temp”, “S”, “U”, “V”, “dyG”, “dxG”, “drF”, “HFacS”, “HFacW”],
26)
27
28# Store the new mooring dataset
29filename = “Kogur_mooring.nc”
30od_moor.to_netcdf(filename)
31
32# The NetCDF can now be re-opened with oceanspy at any time,
33# and on any computer
34od_moor = ospy.open_oceandataset.from_netcdf(filename)
35
36# Plot map and mooring locations
37fig = plt.figure(figsize=(5, 5))
38ax = od.plot.horizontal_section(varName=“Depth”)
39XC = od_moor.dataset[“XC”].squeeze()
40YC = od_moor.dataset[“YC”].squeeze()
41line = ax.plot(XC, YC, “r.”, transform=ccrs.PlateCarree())
42

1# Plot time mean
2ax = od_moor.plot.vertical_section(
3 varName=“V”,
4 contourName=“Sigma0”,
5 meanAxes=“time”,
6 robust=True,
7 cmap=“coolwarm”,
8)

1# Plot all snapshots
2ax = od_moor.plot.vertical_section(
3 varName=“V”, contourName=“Sigma0”, robust=True, cmap=“coolwarm”, col_wrap=5
4)
5# Alternatively, use the following command to produce a movie:
6# anim = od_moor.animate.vertical_section(varName=‘V’, contourName=‘Sigma0’, …)

1ax = od_moor.plot.TS_diagram(
2 colorName=“V”,
3 meanAxes=“time”,
4 cmap_kwargs={“robust”: True, “cmap”: “coolwarm”},
5)

拉格朗日粒子轨迹#

在粒子跟踪用例中,OceanSpy可以沿预先计算的拉格朗日粒子轨迹对模型数据进行子采样。虽然OceanSpy本身目前不计算轨迹,但它可以沿现有粒子路径高效提取模型特性(如温度)。这使得能够分析模拟海洋中的粒子行为,模仿RAFOS浮标等拉格朗日仪器收集的数据。

1ods = [od_dense, od_mixed]
2colors = [“fuchsia”, “lime”]
3titles = [
4 r”Particles always denser than 27.8 kg m3^{-3}.”,
5 r”Particles ONLY initially denser than 27.8 kg m3^{-3}”,
6]
7for _, (od_i, col, tit) in enumerate(zip(ods, colors, titles)):
8 # Plot Depth
9 fig = plt.figure(figsize=(10, 5))
10 ax = od_eul.plot.horizontal_section(varName=“masked_Depth”, cmap=“bone_r”)
11 land_col = (253 / 255, 180 / 255, 108 / 255)
12 ax.patch.set_facecolor(land_col)
13 ax.set_extent([-40, -19, 63, 68])
14
15 # Plot trajectories
16 ax.plot(
17 od_i.dataset[“XC”],
18 od_i.dataset[“YC”],
19 color=col,
20 alpha=0.2,
21 linewidth=1,
22 transform=PlateCarree(),
23 )
24
25 # Plot initial positions
26 ax.plot(
27 od_i.dataset[“XC”].isel(time=0),
28 od_i.dataset[“YC”].isel(time=0),
29 “k.”,
30 markersize=5,
31 transform=PlateCarree(),
32 )
33
34 # Title
35 _ = ax.set_title(tit)
36 plt.show()

以下动画通过在丹麦海峡释放并随时间跟踪的粒子演示了这一功能,展示了沿其3D轨迹的温度演变。

References:#

本公众号相关内容推荐#


title: “One Planet, One Ocean” published: 2021-06-08 description: “One Planet, One Ocean” image: “/images/One-Planet-One-Ocean/img_c2aa2212.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#

Happy World Ocean Day!#

One Planet, One Ocean

介绍了海洋在影响气候和天气方面的作用,世界气象组织(WMO)在推进海洋科学、研究、服务、培训和能力发展方面的作用,并开展广泛合作,共同推进认识海洋。

| | |====OpenResearcher-一个开源科学研究AI助理.md====#

title: “OpenResearcher:一个开源科学研究AI助理” published: 2024-08-22 description: “基于大语言模型RAG技术,通过访问arXiv论文数据集,可以理解用户问题并从科学文献中找到最相关的答案,并总结最新研究成果。准确性、丰富性和相关性方面性能出色,可媲美Perplexity AI” image: “/images/OpenResearcher-一个开源科学研究AI助理/img_8a9c276b.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#


1. OpenResearcher基于大语言模型RAG技术,通过访问arXiv论文数据集,可以理解用户问题并从科学文献中找到最相关的答案,并总结最新研究成果。准确性、丰富性和相关性方面性能出色,可媲美Perplexity AI。

  • 支持查找并总结论文内容,比较不同论文观点,提供相关研究领域的其他资源。
  • 支持OpenAI、Deepseek、阿里云等API模型,以及vllm支持的大多数huggingface模型,并提供Web界面。
  • 人类专家评估各种RAG系统的答案。如果一个答案明显优于另一个答案,则判定前者获胜,后者失败。如果两个答案相似,则视为平局。

https://github.com/GAIR-NLP/OpenResearcher**2. Anthropic的提示工程教程**AnthropicAI发布的用于在Anthropic API上进行Prompt Engineering教程资源。本教程分为9个章节,并附有练习,以及更高级方法的附录。

OpenAI的头号竞争对手Anthropic的大模型Claude 3,在多项性能基准的比较中,全面领先于包括GPT-4、Gemini等在内的同类模型,成为AI基准测试中当之无愧的“最强模型”。近期,Claude 3.5 Sonnet的发布在多个领域均带来了显著的改进,其运行速度比Claude 3 Opus快两倍,在图像视觉处理方面表现出色,各项表现比 GPT-4o 更智能,尤其是在图表解读方面,它可以准确转录有缺陷的图片中的文本。

https://github.com/anthropics/courses/blob/master/prompt\_engineering\_interactive\_tutorial/README.md

3. Zed AI代码编辑器

这个代码编辑器集成了AI功能,登录后还可以免费使用Claude 3.5 Sonnet及其Prompt caching能力。

Assistant Panel是Zed接入大语言模型后的界面模块的统称,开发者可以使用编辑器内写prompts和与文件或者代码片段对话,来与LLM交互。

Inline Transformations通过自然语言提示激活,允许用户在编辑器中直接转换和生成代码。这种功能的特点是精确和响应迅速,通过自定义的流式 diff 协议和 Zed 的 CRDT 缓冲区实现,用户可以看到模型输出的令牌逐个出现,实时阅读和处理LLM的代码建议。

Slash Commands提供一系列命令如 /tab, /file, /terminal, /diagnostics, /fetch 等,用于插入和操作代码库中的内容。这些命令可以通过 WebAssembly 或 JSON 基础的上下文服务器协议进行扩展,支持自定义命令,增强工作流程的灵活性。

下载地址:https://zed.dev/

4. 开源AI一键影视解说+自动化视频剪辑工具

NarratoAI 是一个自动化影视解说工具,基于LLM实现文案撰写、自动化视频剪辑、配音和字幕生成的一站式流程,助力高效内容创作。

https://github.com/linyqh/NarratoAI

5. 一站式开源高质量数据提取工具

MinerU是一款支持将PDF转换为机器可读格式(例如 markdown、JSON)的工具,最好的开源PDF数据抽取工具之一,能够解决科学文献中的符号转换问题。

MinerU 诞生于上海AI Lab 的@intern_lm模型预训练过程,转为构建大模型数据准备工作服务,支持CPU/GPU环境,支持提取表格、图片、Latex 公式 并转为AI友好的数据格式。

https://opendatalab.com/OpenSourceTools

https://github.com/opendatalab/MinerU

6. 欧盟环境数据服务WEkEO教程资源

WEkEO是欧盟为了促进哥白尼观测数据的有效访问并使其标准化,于2017年启动的“哥白尼数据和信息访问服务”(DIAS)计划中的基于云计算的一站式数据服务平台。该教程资源的Jupyter Notebooks集合提供了全面的教程和指南,旨在为研究人员、科学家、开发人员提供所需的工具,以提高其在地球观测和卫星数据分析方面的熟练程度。

https://www.wekeo.eu/


本公众号相关内容推荐:


title: “Plotly Dash数据可视化” published: 2018-03-29 description: “本文介绍7个在Dash公众社区开发的Dash应用程序。每个case都附有App 链接和Github 代码链接,可借鉴、可模仿、可启发、可举一反三,只看你脑洞了。” image: “/images/Plotly-Dash数据可视化/img_9cab80b6.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#

Plotly Dash是一个基于Web浏览器的应用程序、用于数据分析的Python库。最初,Plotly在GitHub上公布了Dash的概念模型,经过长时间持续的开发,Plotly发布了作为企业级解决方案和开源工具的Dash。Dash项目可用于数据分析、数据挖掘、数据可视化、数据建模、仪器控制和报告。这是一个轻量级的项目,只有短短的40行Python代码,并且提供了一个用于操作UI控件的界面,包含可拖动的滑块,下拉列表和带代码的图形等等。最重要的是Dash是完全可定制化开发的开源工具库。

用户可以在本地无限制的使用开源版本,也可以通过Heroku或Digital Ocean等平台进行Dash应用程序的部署和管理。

本文介绍7个在Dash公众社区开发的Dash应用程序。每个case都附有App 链接和Github 代码链接,可借鉴、可模仿、可启发、可举一反三,只看你脑洞了。

  1. 美国NASA流星体火球坠落事件- Great Balls of Fire

  使用1988年至2017年的流星体坠落事件记录的数据,来源于NASA喷气推进实验室的近地小天体实验室(NASA’s Jet PropulsionLaboratory)

Dash App link: https://great-balls-of-fire.herokuapp.com/

  1. 寨卡病毒爆发事件全览Zika Outbreak Explorer

对全球范围内2015年底到2016年爆发的寨卡病毒感染数量进行了可视化。

Dash App Link:https://zika-crossfilter.herokuapp.com/

Github code :https://github.com/charleyferrari/zika-crossfilter/

3. 寻找大脚怪/北美野人- Finding Bigfoot

  基于于1920年至2017年在北美发现疑似大脚怪/北美野人的数据,主要是发现的时间、地点和描述信息等。

Dash App Link:https://bigfoot-sightings-dash.herokuapp.com/

Github code:https://github.com/timothyrenner/bigfoot-dash-app

4. 气候变化与一生的重大事件关联- Climate change and lifeevents

展示你未来人生中重大事件比如孩子出生、入学等与温度变化之间关系的情况。

Dash App Link:https://climate-life-events.herokuapp.com/7

Github code:https://github.com/gschivley/climate-life-events

5.  全球地震浏览 EarthquakeExplorer

展示全球地震数据,来源于美国地质调查局USGS**(US Geological Survey****)。**

Dash App Link:https://belle-croissant-54211.herokuapp.com/

Github code:https://github.com/jackdbd/dash-earthquakes

  1. 城市道路质量识别数据可视化 Street QualityIdentification Device

在美国的Syracuse城,市政人员在汽车上安装一种低成本的数据采集装置,在车辆运行过程中每隔1秒时间,拍摄道路路面情况,并采集汽车加速度计和减震传感器数据,来收集道路是否平坦或者坑洼,以更快的对道路进行维护,这实际上属于智慧城市的领域。

Dash App Link:https://belle-croissant-54211.herokuapp.com/

Github code:https://github.com/jackdbd/dash-earthquakes

7. 功能性磁共振成像数据可视化 VisualizingMRI Data

该作品获得了TransIP VPS competition****第一名

  功能性磁共振成像(fMRI,functionalMagnetic Resonance Imaging)是一种神经影像学技术。其原理是利用磁振造影来测量神经元活动所引发之血液动力的改变。由于fMRI的非侵入性和其较少的辐射暴露量,从1990年代开始其就在脑部功能定位领域占有了重要地位。目前,fMRI主要被运用于对人及动物的脑或脊髓之研究中**。**

Dash App Link:http://teaching.lukas-snoek.com/

Github code:https://github.com/lukassnoek/VoxelViz====Samudra-一个用于气候研究的全球海洋AI模拟器.md====#

title: “Samudra: 一个用于气候研究的全球海洋AI模拟器” published: 2024-12-26 description: "" image: “/images/Samudra-一个用于气候研究的全球海洋AI模拟器/img_af303d99.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#

****#

海洋作为气候系统的重要组成部分,其动力学和热力学过程对全球气候具有深远的影响。为了理解和预测海洋在气候变化中的作用,科学家们依赖于复杂的海洋数值模式计算模拟。然而,运行这些数值模式通常需要大量的计算资源,并且运行时间长,这使得大规模模拟和参数研究变得十分困难。

近年来,人工智能(AI)和机器学习(ML)技术在气候系统建模领域展现出巨大的潜力。特别是,AI模拟器在模拟气候系统中的各个组成部分(尤其是大气)方面取得了显著的成功。例如,AI模型在天气预报、极端天气事件预测以及大气环流模拟等领域都表现出了优异的性能。这些AI模拟器能够显著加速计算过程,并为大规模气候研究提供了新的可能。

GRAPHDOP: TOWARDS SKILFUL DATA-DRIVEN MEDIUM-RANGE

WEATHER FORECASTS LEARNT AND INITIALISED DIRECTLY

FROM OBSERVATIONS

然而,构建能够处理长期气候模拟且在时空尺度上都具备高精度的海洋模拟器仍然是一项挑战。目前,传统的海洋数值模式,如OM4,虽然在模拟海洋环流和热力学方面具有较高的准确性,但其计算成本高昂,限制了其在长期气候模拟和参数敏感性研究中的应用。此外,许多现有的海洋AI模拟器往往只关注海洋表层或浅层区域,而忽略了深海对气候变化的潜在影响。部分模拟器还面临着长期稳定性不足的问题,难以进行长时间尺度(如数十年甚至数百年)的模拟。

本文介绍一种能够模拟整个海洋深度的全球海洋模拟器Samudra,并展示其在长期稳定性、气候学特征再现和计算效率方面的性能。

训练数据#

Samudra 模拟器的训练数据来自海洋环流模式OM4的模拟结果,该模型是耦合气候模型CM4的海洋组成部分。OM4模型运行了65年(1958-2022),并提供了一系列海洋要素变量数据,包括:

  • 三维变量: 温度(θ₀)、盐度(S)、海洋水平(东西向)速度(u)和海洋垂直(南北向)速度(v)。这些变量在垂直方向上被离散化为 19 个深度层。
  • 二维变量: 海表面高度(SSH)。
  • 大气边界条件: 包括海洋表面东西向应力(Tu)、海洋表面南北向应力(Tv)、通过海洋表面的净热通量(Q)及其异常(Qanom)。

在数据预处理阶段,研究人员 将原始数据在时间和空间上进行粗化,并使用高斯滤波器进行平滑处理,然后将其插值到一个 1°×1° 的全球经纬度网格上。

模型组成#

Samudra 模拟器是一个自回归模型,其目标是根据之前的海洋状态和大气边界条件,预测未来的海洋状态。具体来说,他们 使用了两种模型配置:

  • 完整模型 (Fthermo+dynamic): 使用所有变量(θ₀、S、SSH、u、v)作为输入和输出。
  • 热力学模型 (Fthermo): 仅使用热力学变量(θ₀、S、SSH)作为输入和输出。

模型在训练过程中,会接收当前海洋状态、之前海洋状态和大气边界条件作为输入,输出未来两个时间步长的预测结果。这种多步输入输出配置有助于模拟海洋过程的时间依赖性。

模型架构#

Samudra 模拟器的核心架构是改进的 ConvNeXt UNet,该架构采用了ConNeXt块来提高特征提取能力,同时利用了 UNet 的下采样和上采样结构来实现多尺度特征学习。该架构还包含扩张卷积和反向瓶颈通道来提高计算效率。

模型训练和评估#

研究团队 使用 1975 年至 2014 年的OM4数据训练和验证模拟器,其中 1975 年至 2012 年的数据用于训练,2012 年至 2014 年的数据用于验证。为了避免因模型从初始状态调整而引起的冷却偏差,他们 忽略了 1958 年至 1975 年的数据。研究人员 使用 Adam 优化器和余弦学习率调度器来训练模型。

为了评估模拟器的性能,研究团队使用2014年的初始状态和2014年至2022年的大气边界条件进行8年的模拟,并将模拟结果与OM4的保留数据进行比较。

结果#

1. 全深度全球海洋模拟器

Samudra 模拟器能够精确地再现海洋变量的全深度气候学剖面,包括潜在温度的深度结构、副热带环流和北极深水形成的区域等关键特征。同时,模拟器在再现热跃层结构方面表现出良好的能力。

此外,该模拟器还能够再现关键的年际变率模式,例如厄尔尼诺-南方涛动 (ENSO),并能模拟不同时期厄尔尼诺事件的特征,包括热带地区表层温度的异常变化和赤道温跃层的加深和变浅。

在灵敏度测试中,研究人员 发现模拟器的性能对训练模型的随机种子和初始条件的改变具有鲁棒性,这表明了该模型具有较强的泛化能力。

2. 长期稳定性

为了评估 Samudra 模拟器的长期稳定性,研究团队进行了长达 100 年的控制实验,并重复使用 1990 年至 2000 年的大气边界条件。结果表明,模拟器能够保持长期稳定性,并且能够收敛到接近于 OM4 模型的全局平均潜在温度。这表明该模拟器具备运行长期气候模拟的潜力。

值得注意的是,Fthermo 模拟器在长时间尺度上表现出更显著的非周期性变化,这可能是由于其模型结构不依赖于动态变量而导致的。

讨论#

Samudra模拟器是一种计算效率高、性能强大的海洋模拟器,与传统的 OM4 模型相比,它在计算效率方面取得了巨大的突破,并且能够精确地再现海洋变量的气候学特征和年际变率。例如,Samudra 的热力学模型 (Fthermo) 的计算效率极高,比传统海洋模型快 150 倍。使用单个 40GB A100 GPU 运行 100 年的模拟仅需约 1.3 小时,而 OM4 模型则需要 4671 个 CPU 核心运行约 8 天的时间。 这种巨大的速度提升为大规模气候模拟和参数敏感性研究提供了前所未有的便利。

然而,Samudra 模拟器在捕捉气候变化趋势方面仍然存在不足,这可能与训练数据的限制、大气边界条件的简化、模型结构的局限性以及训练数据的固有偏差有关。未来的研究将致力于解决这些问题,并提高模拟器在预测未来气候变化趋势方面的能力。

相关链接#

本公众号相关内容推荐#


title: “SciSpace:一个科研论文AI辅助理解平台” published: 2022-12-14 description: “SciSpace Copilot是一个基于OpenAI GPT-3 语言模型构建的科研论文辅助阅读理解平台,已收录多个学科领域2亿篇学术论文摘要信息,可以帮助科研人员快速阅读和理解相关数据论文。” image: “/images/SciSpace-一个科研论文AI辅助理解平台/img_482d6854.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#

SciSpace Copilot(https://typeset.io/)是一个基于OpenAI GPT-3 (Generative Pre-trained Transformer-3 — a third-generation machine-learning model) 语言模型构建的科研论文辅助阅读理解平台,已收录多个学科领域2亿篇学术论文摘要信息,可以帮助科研人员快速阅读和理解相关数据论文。

该平台支持的功能包括:

  1. 基于其庞大的论文库进行在线查询或者上传在本地的pdf格式的论文文件

  2. 可以通过框选文字、数学公式和图表,实时获取所选择内容的解释

  3. 可以向它提问题并快速获得回答,如:文章采用了哪些方法?文章的技术路线什么?使用的数据?结果怎么样?

4. 不需指定关键词就可以快速关联检索到相关论文信息

  1. 支持包括中文、英文在内的10种语言

平台左侧为论文全文界面,右侧为Copilot问答界面,右上角可以选择切换至不同的语言,点击右下角“Clip math & tables”后可以框选数学公式或者图表。

以下是本文作者录制的部分使用视频,供参考。

1. 框选文字内容或者输入问题获取AI提供的解释

2. 框选数学公式、图表获得AI提供的解释

3. 使用中文语言模式获得AI提供的解释

4. 快速进行关联论文查询

**经过测试,平台对中文的支持还有一些问题,本文作者已反馈给平台,等待修复。**目前,提供类似服务的平台还有:

References:

  1. https://www.mdpi.com/2072-4292/12/24/4123
  2. https://twitter.com/scispace\_
  3. https://typeset.io/
  4. https://www.producthunt.com/products/typeset#scispace====Segment-geospatial-地理空间图像分割开源Python工具包.md====

title: “Segment-geospatial: 地理空间图像分割开源Python工具包” published: 2025-01-30 description: "" image: “/images/Segment-geospatial-地理空间图像分割开源Python工具包/img_095bf544.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#

****#

在地理空间分析领域,图像分割是一项至关重要的任务。它使我们能够从卫星或航空影像中识别和提取关键特征,进而获取关于空间分布、地物类型以及各类目标物体的详细信息。这些信息对于支持广泛领域的决策至关重要,例如农业、林业、环境监测等场景。

传统的图像分割方法主要依赖手动或半自动处理,这些方法既耗时又费力。近年来,深度学习模型的发展推动了分割过程的自动化。然而,这些模型通常需要大量的训练数据,并且计算成本高昂,这使得它们在许多应用场景中难以实际应用。

Meta AI研发的Segment Anything Model (SAM) 改变了这一现状。SAM是一种可提示的分割模型,具备卓越的零样本泛化能力,无需额外的训练即可应用于未知的物体和图像。该模型在包含1100万张图像和超过10亿个掩膜的数据集上进行了训练。用户可以使用现有的模型检查点分割任何图像中的任何物体,而无需进行额外的训练。自2023年4月发布以来,SAM已在包括医学影像在内的多个领域得到广泛应用。

然而,在地理空间领域,缺少基于SAM的Python包。segment-geospatial Python包就是为了填补这一空白而开发,并为地理空间数据分割提供低代码甚至无代码的解决方案。

segment-geospatial‍‍#

segment-geospatial是一个旨在简化使用Segment Anything Model (SAM)分割地理空间数据的流程的开源Python包。该软件包充分利用了地理空间数据分析相关的的Python库,例如leafmap、ipywidgets、rasterio、geopandas和segment-anything-py,为用户提供了一个易于操作使用的图形化界面,用于分割遥感影像并将结果导出为包括矢量和栅格数据等各种格式。

1. 分割模式和主要功能#

segment-geospatial提供以下分割模式:

  • 自动分割:无需任何用户输入,即可对图像进行自动分割。
  • 交互式GUI分割:通过图形用户界面 (GUI) 进行交互式分割,用户可以通过点击或绘制等方式引导分割。
  • 文本提示分割:基于文本提示 (由Grounding DINO模型驱动) 进行分割,用户可以通过自然语言描述来指定要分割的目标。

该软件包提供以下实用功能:

  • 遥感影像下载:支持从Tile Map Service (TMS) 服务器下载地图瓦片并创建GeoTIFF文件
  • GeoTIFF文件分割:使用Segment Anything Model (SAM) 和HQ-SAM分割GeoTIFF格式的地理空间影像文件。HQ-SAM是SAM的高质量版本,可以提供更精细的分割结果。
  • 文本提示分割遥感影像:通过文本提示,例如 “汽车”、“树木”、“建筑物” 等,引导 SAM 分割遥感影像中的特定地物目标。
  • **交互式前景和背景标记:**在GUI界面中,用户可以通过交互式地添加前景和背景标记,来更精确地引导SAM进行分割。
  • **从矢量数据集加载现有标记:**支持从常见的矢量数据集 (例如Shapefile, GeoJSON) 中加载已有的标记点或区域,并将其作为SAM的分割提示。
  • **保存分割结果为矢量格式:**可以将分割结果保存为常见的矢量格式,例如 GeoPackage、Shapefile和GeoJSON,方便后续的GIS分析和应用。
  • 保存输入提示为GeoJSON文件:用户可以将输入的分割提示 (例如点、框、文本) 保存为GeoJSON文件,以便复用和共享。
  • **可视化交互式分割结果:**在Jupyter环境中,可以交互式地可视化分割结果,方便用户评估分割效果和进行调整。
  • 时序遥感影像目标分割:支持对时序遥感影像进行目标分割,例如监测地物随时间的变化。

2. 安装方法#

segment-geospatial软件包可以通过两种方式安装:PyPI和conda-forge。

  • 使用PyPI安装

如果你的 Python 环境中已经安装了 pip 包管理器,可以直接在终端中运行以下命令进行安装:

1pip install segment-geospatial

  • 使用conda-forge安装

如果你使用Anaconda或Miniconda管理Python环境,建议使用conda安装,以获得更好的依赖管理和兼容性。

首先,创建一个新的 conda 环境(推荐):

1conda create -n geo python
2conda activate geo

然后,使用conda-forge和mamba (更快速的conda包管理器) 安装segment-geospatial及其依赖项:

1conda install -c conda-forge mamba
2mamba install -c conda-forge segment-geospatial

GPU 支持 (可选)

如果你的系统配备了NVIDIA GPU,并且希望利用GPU加速分割过程,可能需要手动安装支持CUDA的PyTorch版本。可以使用以下命令强制安装GPU版本的PyTorch:

1mamba install -c conda-forge segment-geospatial “pytorch==cuda

其他依赖项

segment-geospatial还有一些可选的依赖项,用于支持更高级的功能,例如文本提示分割。 如果需要使用这些功能,可以运行以下命令安装这些依赖项:

1mamba install -c conda-forge groundingdino-py segment-anything-fast

3. 使用案例#

segment-geospatial提供了丰富的示例和演示,帮助用户快速上手和了解软件包的功能。以下是一些典型的使用案例:

  • 遥感影像自动分割: 使用自动掩膜生成器,无需任何提示,即可快速分割遥感影像中的所有物体。

  • 基于文本提示的图像分割(text prompts): 输入文本提示分割卫星影像中的物体(如树木、游泳池)

  • 交互式图像分割: 通过在GUI界面中点击某类目标,交互式地分割图像中的目标

  • 批量文本提示分割: 批量处理多张遥感影像,并使用文本提示分割特定地物。

  • 结合ArcGIS Pro: 在ArcGIS Pro环境中使用segment-geospatial进行图像分割。

  • 1import os
    2import leafmap
    3from samgeo import SamGeo
    4
    5workspace = os.path.dirname(arcpy.env.workspace)
    6os.chdir(workspace)
    7arcpy.env.overwriteOutput = True
    8
    9sam = SamGeo(
    10 model_type=“vit_h”,
    11 sam_kwargs=None,
    12)
    13
    14image = “water.tif”
    15sam.generate(image, output=“water_masks.tif”, foreground=True, unique=True)
    16sam.show_masks(cmap=“binary_r”)
    17sam.show_anns(axis=“off”, alpha=1, output=“water_annotations.tif”)
    18m.addDataFromPath(os.path.join(workspace, “water.tif”))
    19m.addDataFromPath(os.path.join(workspace, “water_annotations.tif”))
    20in_raster = os.path.join(workspace, “water_masks.tif”)
    21out_shp = os.path.join(workspace, “water_masks.shp”)
    22arcpy.conversion.RasterToPolygon(in_raster, out_shp)

  • 卫星影像变化检测: 使用时序卫星影像,检测地物随时间的变化情况。

更多详细的使用案例和代码示例,请参考官方文档和示例 notebooks。

4. 与其他GIS软件集成#

segment-geospatial软件包还可以与桌面GIS软件集成,例如QGIS和ArcGIS,扩展其在地理空间分析领域的应用范围。

  • QGIS: 可以结合QGIS的Geometric Attributes插件,实现更强大的地理空间分析功能。
  • ArcGIS: ArcGIS提供了Segment Anything Model (SAM) Toolbox和Resources for Unlocking the Power of Deep Learning Applications Using ArcGIS工具箱,方便用户在 ArcGIS环境中使用SAM进行图像分割。

5. 计算资源支持#

Segment Anything Model (SAM)本身是一个计算密集型的模型,建议使用配备高性能GPU的计算机运行,以获得更流畅的体验和更快的处理速度。推荐至少配备8GB GPU显存的GPU。

如果你没有高性能GPU,也可以考虑以下方案:

  • Google Colab:利用Google Colab提供的免费GPU资源。
  • AWS Cloud Credit for Research::申请亚马逊AWS提供的科研云平台,利用AWS云平台上的GPU资源进行计算。

未来,segment-geospatial软件包将继续完善和发展,例如:

  • 支持更多类型的遥感数据:例如多光谱、高光谱数据。
  • 集成更多先进的分割算法:例如针对遥感影像特点优化的SAM变体。
  • 提供更丰富的地理空间分析功能:例如变化检测、目标追踪等。

segment-geospatial软件包的发布,为地理空间数据分割领域带来了新的可能性。它凭借用户友好的界面、高效的分割性能、灵活的分割模式和强大的扩展性,有望成为地理空间分析人员进行图像分割的得力助手。

References:#

  • Wu, Q., & Osco, L. P. (2023). samgeo: A Python package for segmenting geospatial data with the Segment Anything Model (SAM). Journal of Open Source Software, 8(89), 5663. https://doi.org/10.21105/joss.05663
  • Osco, L. P., Wu, Q., de Lemos, E. L., Gonçalves, W. N., Ramos, A. P. M., Li, J., & Junior, J. M. (2023). The Segment Anything Model (SAM) for remote sensing applications: From zero to one shot. International Journal of Applied Earth Observation and Geoinformation, 124, 103540. https://doi.org/10.1016/j.jag.2023.103540

本公众号相关内容推荐#


title: “​State of AI Report 2021” published: 2022-01-14 description: “State of AI Report 2021总结和分析了2021年人工智能领域的发展情况。该报告分为五个类别,包括人工智能研究进展、人才、行业发展、政治和预测等。” image: “/images/State-of-AI-Report-2021/img_1b16ea67.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#

State of AI Report 2021总结和分析了2021年人工智能领域的发展情况。该报告分为五个类别:

研究—技术突破。

人才—人工智能人才的供应、需求和焦点。

行业—人工智能的商业应用领域及其商业影响。

政治—人工智能的监管,其经济影响和人工智能的新兴地缘政治。

预测—作者认为未来会发生什么,以及对过去预测的业绩回顾。

如需PPT版本请点击“阅读原文”或者留言。

====The-Well-可用于机器学习研究的15TB-物理模拟数据集.md====#

title: “The Well:可用于机器学习研究的15TB 物理模拟数据集” published: 2024-12-05 description: "" image: “/images/The-Well-可用于机器学习研究的15TB-物理模拟数据集/img_611ba8f4.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#

****#

在当今机器学习领域,大规模数据集对解决复杂问题起着至关重要的作用。例如,用于训练大型语言模型的 FineWeb 数据集就达到了44TB 的规模。然而,在科学数据领域,特别是物理数值模拟方面,数据的收集、过滤和解释都面临着独特的挑战。为了解决这一问题,研究人员推出了一个名为 “The Well” 的数据集。

与自然数据集不同,科学数据的收集和解释都极其困难。例如,评估一个湍流天体物理过程的合理性,与判断一张猫咪照片的质量有着本质的区别。这需要深厚的专业知识和丰富的领域经验。正是认识到这一挑战,The Well 项目致力于将复杂的科学数据集标准化,使机器学习研究者能够专注于最重要的任务:预测物理现象。

The Well 数据集概述#

The Well 是一个大规模机器学习数据集合,包含了各种时空物理系统的数值模拟。该项目汇集了来自领域科学家和数值软件开发者的贡献。数据集包含 16 个子数据集,数据总量超过 15TB,单个子数据集的大小从 6.9GB 到 5.1TB 不等。数据集涵盖了广泛的领域,包括:

  • 生物系统
  • 流体动力学
  • 声学散射
  • 河外流体的磁流体动力学模拟
  • 超新星爆发模拟

研究者可以单独使用这些数据集,也可以将其作为更广泛的基准测试套件的一部分,用于加速机器学习和计算科学领域的研究。该数据集具有以下特点:

  1. 标准化格式:所有数据都在统一的空间网格上采样,具有恒定的时间间隔,并以 HDF5 格式存储,确保了简单性、可访问性和与科学工作流程的兼容性。

  2. 易用性:提供了 PyTorch 接口,可以无缝集成到机器学习模型中。

  3. 专业性:与领域专家密切合作生成和策划数据集,确保数据的质量和科学价值。

The Well 为机器学习研究者提供了独特的研究机会:

  1. 创新的基准测试
  • 空间-时间模式与自然视频有本质区别
  • 提供了全新的评估标准和挑战
  1. 丰富的知识迁移任务
  • 跨物理参数的泛化能力研究
  • 不同分辨率之间的知识迁移
  • 多尺度物理现象的建模
  1. 时间变化处理
  • 处理不同时间间隔的数据采样
  • 保持预测的时间连续性和物理一致性
  1. 物理参数泛化
  • 探索模型在未见参数空间的表现
  • 研究物理规律的隐式学习能力

数据集下载、工具安装与使用#

项目提供处理和使用该数据集的 python 工具包,可以通过 pip 安装该工具包。

pip install the_well

或者直接从源码安装:

git clone https://github.com/PolymathicAI/the_well
cd the_well
pip install .

如果在GPU硬件环境安装,可以通过指定参数—extra-index-url

pip install . —extra-index-url https://download.pytorch.org/whl/cu121

安装benchmark:

pip install the_well[benchmark]

python工具包安装完成后,可以使用以下命令来下载需要的数据集:

the-well-download —base-path path/to/base —dataset active_matter —split train

也可以直接访问存储在HugginFace上的数据集:

1from the_well.data import WellDataset
2from torch.utils.data import DataLoader
3
4# The following line may take a couple of minutes to instantiate the datamodule
5trainset = WellDataset(
6 well_base_path=“hf://datasets/polymathic-ai/”, # access from HF hub
7 well_dataset_name=“active_matter”,
8 well_split_name=“train”,
9)
10train_loader = DataLoader(trainset)
11
12for batch in train_loader:
13 …

References:#

本公众号相关内容推荐#


title: “Transformer Explainer:文本生成模型交互式可视化工具” published: 2024-08-19 description: “Transformer Explainer是一款交互式可视化学习工具,旨在帮助非专家通过GPT-2模型了解Transformer网络架构。” image: “/images/Transformer-Explainer-文本生成模型交互式可视化工具/img_89ffc0ec.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#

1. 文本生成模型的交互式可视化工具Transformer彻底改变了机器学习,但其内部工作原理对许多人来说仍然晦涩难懂。Transformer Explainer是一款交互式可视化学习工具,旨在帮助非专家通过GPT-2模型了解Transformer架构。该工具通过集成模型概述并实现数学运算和模型结构抽象级别的平滑过渡,帮助用户理解复杂的 Transformer 概念。它可以在Web浏览器中本地运行实时 GPT-2 实例,使用户能够尝试自己的输入并实时观察Transformer的内部组件和参数如何协同工作以预测下一个标记。该工具无需安装或特殊硬件,扩大了普通用户对现代生成式AI技术的教育渠道。

工具地址:https://poloclub.github.io/transformer-explainer/论文地址:https://huggingface.co/papers/2408.04619

2. 视频自动翻译成多语言并进行AI配音的工具

Linly-Dubbing 是一个智能视频多语言AI配音和翻译工具,它融合了YouDub-webui的灵感,并在此基础上进行了拓展和优化。我们致力于提供更加多样化和高质量的配音选择,通过集成Linly-Talker的数字人对口型技术,为用户带来更加自然的多语言视频体验。通过整合最新的AI技术,Linly-Dubbing 在多语言配音的自然性和准确性方面达到了新的高度,适用于国际教育、全球娱乐内容本地化等多种场景,帮助团队将优质内容传播到全球各地。

主要特点包括:

  • 多语言支持: 支持中文及多种其他语言的配音和字幕翻译,满足国际化需求。
  • AI 智能语音识别: 使用先进的AI技术进行语音识别,提供精确的语音到文本转换和说话者识别。
  • 大型语言模型翻译: 结合领先的本地化大型语言模型(如GPT),快速且准确地进行翻译,确保专业性和自然性。
  • AI 声音克隆: 利用尖端的声音克隆技术,生成与原视频配音高度相似的语音,保持情感和语调的连贯性。
  • 数字人对口型技术: 通过对口型技术,使配音与视频画面高度契合,提升真实性和互动性。
  • 灵活上传与翻译: 用户可以上传视频,自主选择翻译语言和标准,确保个性化和灵活性。
  • 定期更新: 持续引入最新模型,保持配音和翻译的领先地位。

https://github.com/Kedreamix/Linly-Dubbing

3. 从零开始构建一个卷积神经网络

近期介绍CNN的最好动画教程之一,教程从原理到实践,帮助学习者理解神经网络每一层的核心原理,通过动画演绎卷积过程、解决问题与应用场景。

https://www.analyticsvidhya.com/blog/2021/08/a-hands-on-guide-to-build-your-first-convolutional-neural-network-model/

4. 开源远程桌面工具-RustDesk

RustDesk是一个用Rust编写的开源远程桌面工具,官方宣称它是TeamViewer的开源替代品,可以自主部署,支持点对点连接,隐私安全和全平台客户端。可以使用安卓手机远程控制Windows或Linux操作系统,操作比较流畅。

https://github.com/rustdesk/rustdesk

5. 麻省理工700页《决策算法》免费下载

麻省理工出品的这本 《决策算法》详细讲解可以用于学习,工作生活决策场景的经典数学原理和概率算法,理解世界本质,帮助形成科学决策,内容包括序列问题,概率推理,模型/状态不确定性,多Agent系统等。

下载地址:https://algorithmsbook.com

6. 《李宏毅深度学习教程》免费下载

李宏毅老师的《机器学习》是深度学习领域经典的中文视频之一。李老师幽默风趣的授课风格深受大家喜爱,让晦涩难懂的深度学习理论变得轻松易懂,他会通过很多动漫相关的有趣例子来讲解深度学习理论。李老师的课程内容很全面,覆盖了到深度学习必须掌握的常见理论,能让学生对于深度学习的绝大多数领域都有一定了解,从而可以进一步选择想要深入的方向进行学习,培养深度学习的直觉,对于想入门深度学习又想看中文讲解的同学是非常推荐的。本教程主要内容源于《机器学习》(2021年春),并在其基础上进行了一定的原创。比如,为了尽可能地降低阅读门槛,笔者对这门公开课的精华内容进行选取并优化,对所涉及的公式都给出详细的推导过程,对较难理解的知识点进行了重点讲解和强化,以方便读者较为轻松地入门。此外,为了丰富内容,笔者在教程中选取了《机器学习》(2017年春) 的部分内容,并补充了不少除这门公开课之外的深度学习相关知识。

https://github.com/datawhalechina/leedl-tutorial

7. 整合GraphRAG到Neo4j

将微软GraphRAG输出存储到Neo4j中,并使用LangChain或LlamaIndex实现本地和全局检索器。主要内容包括图谱构建、分析、数据清洗、图谱实体和关系分布分析、全局检索和智能问答的全流程实战教程,并基于LangChainAI实现了此流程并开源代码。

教程:https://neo4j.com/developer-blog/microsoft-graphrag-neo4j/

代码:https://github.com/tomasonjo/blogs/tree/master/msft\_graphrag

8. NASA发布TROPICS数据集

NASA的GESDISC发布了来自CubeSats 3、5、6、7 等卫星的最新的时间分辨降水结构和风暴强度观测数据。该任务使用 TROPICS 毫米波探测器 (TMS) 来观测热带气旋的热力学和结构特征。TMS 有12个通道,涵盖W波段、F波段(温度剖面)和G波段(湿度剖面)微波波段。此版本包括2023年 5月发射的四颗立方体卫星的两个临时数据产品成熟度版本(版本0.2)和两个经过验证的数据产品成熟度版本(版本 1.0)。

https://go.nasa.gov/4dLKbGt

9. 牛津大学发布世界首个用于自动研究和开放式发现的AI科学家

AI科学家实现了从构思、写代码、运行实验、总结结果、撰写整篇论文再到同行评审的端到端流程。

通用人工智能面临的一大挑战是开发能够进行科学研究和发现新知识的智能体。虽然前沿模型已经被用作人类科学家的助手,例如用于集思广益、编写代码或预测任务,但它们仍然只完成了科学过程的一小部分。论文提出了第一个全自动科学发现的综合框架,使前沿大型语言模型能够独立进行研究并传达其发现。作者介绍了AI科学家,它可以产生新颖的研究想法、编写代码、执行实验、可视化结果、通过撰写完整的科学论文描述其发现,然后运行模拟审查过程进行评估。原则上,这个过程可以重复进行,以开放式的方式迭代开发想法,就像人类科学家一样。作者通过将其应用于机器学习的三个不同子领域来展示它的多功能性:扩散建模、基于Transformer的语言建模和学习动力学。每个想法都以不到15美元的成本实施并开发成一篇完整的论文。为了评估生成的论文,作者设计并验证了一个自动审阅器,发现它在评估论文分数方面的表现接近人类。AI科学家可以制作出超过顶级机器学习会议接受门槛的论文,这些论文由自动审阅器评判。这种方法标志着机器学习科学发现新时代的开始:将人工智能代理的变革性优势带入人工智能本身的整个研究过程,并让我们更接近一个可以释放无尽的、负担得起的创造力和创新来解决世界上最具挑战性的问题的世界。论文地址:https://arxiv.org/abs/2408.06292

开源地址:https://github.com/SakanaAI/AI-Scientist


本公众号相关内容推荐:


title: “WebGIS技术栈推荐” published: 2024-09-30 description: “WebGIS是一种允许通过互联网展示、分析和共享空间数据的技术。它结合了Web的优势,例如远程访问和协作,以及地理信息系统(GIS)的功能。传统的GIS软件通常具有大量用于执行各种分析的工具,并且通常不需要互联网连接。” image: “/images/WebGIS技术栈推荐/img_397b1d66.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#


随着互联网、云计算和人工智能等新技术的发展,地理信息系统(GIS)在制图、分析和地理空间数据可视化方面已成为重要工具之一。GIS变得比以往任何时候都更易于访问,并且不断开发出新工具,使其更加用户友好、强大和多功能。

WebGIS是一种允许通过互联网展示、分析和共享空间数据的技术。它结合了Web的优势,例如远程访问和协作,以及地理信息系统(GIS)的功能。传统的GIS软件通常具有大量用于执行各种分析的工具,并且通常不需要互联网连接。而WebGIS则需要通过网络协议(如HTTP)进行访问。

WebGIS的优点包括:

  • 可访问性:不需要高计算能力,只需互联网连接即可访问。
  • 易用性:工具使用简单直观,无需复杂的培训。
  • 共享:在某些情况下,用户可以通过链接与他人分享信息。
  • 快速分析:用户只需点击几下,即可查看和收集特定位置的信息。

WebGIS技术架构#

WebGIS技术架构通常由多个核心组件构成,以支持地理信息的存储、处理和展示。

  • 数据层
  • 空间数据存储:使用关系型(如PostgreSQL/PostGIS)或非关系型数据库(如MongoDB)存储地理信息数据,包括矢量数据、栅格数据和文本数据。
  • 业务数据库:存储与业务应用相关的业务数据。
  • 服务层
  • 地图服务发布:提供WMS(Web Map Service)、WFS(Web Feature Service)、WCS(Web Coverage Service)等服务,支持地图数据的发布和访问。常用的GIS服务器包括GeoServer和MapServer。
  • 数据处理与接口服务:通过Python+FastAPI/Flask或Java SpringBoot根据业务需求,实现接口调用服务,处理用户请求,调用GIS服务,进行地理空间数据处理,并将结果返回给前端。
  • **Web服务器:**例如。使用Apache发布地图瓦片服务,使用Nginx进行反向代理跨域接口和服务,使用Tomcat发布后端JAVA应用服务程序等。
  • 前端层
  • 用户界面:使用现代Web技术(如HTML5、JavaScript框架)构建用户交互界面。常用的地图库包括Leaflet、OpenLayers和Mapbox GL JS。
  • 数据展示:通过可视化工具展示地图、图表等信息,支持用户交互和实时更新。

WebGIS技术栈#

WebGIS技术架构通常由多个核心组件构成,以支持地理信息的存储、处理和展示。

前端#

前端是用户可以查看和与地图进行交互的部分,是WebGIS项目中最重要的部分,因为它直接影响用户的使用体验。它通常使用JavaScript、HTML和CSS构建,并利用像Leaflet或OpenLayers这样的Javascript库。一些常用的前端框架包括ReactJS、Vue和Angular。

  • Leaflet.js#

一个轻量级的JavaScript库,用于创建交互式二维地图。因其简单和灵活而闻名,使开发者能够轻松构建可定制的地图。

适合需要基本交互式地图、空间可视化和简单地理空间数据叠加的Web应用程序。

社区开发了非常丰富的插件。https://leafletjs.com/plugins.html

https://github.com/Leaflet/Leaflet

  • OpenLayers#

支持大规模地图和复杂空间数据。它提供了处理矢量和栅格数据的高级功能。

适合高性能应用。适合需要广泛地图自定义、多层可视化和与多种地理空间数据源集成的应用程序。

https://github.com/openlayers/openlayers

  • Mapbox GL JS#

支持使用矢量切片渲染交互式和自定义样式的地图。它提供动态渲染能力和高度的可定制性。

适合需要动态地图样式、数据驱动可视化和处理大数据集的实时WebGIS应用程序。

https://github.com/mapbox/mapbox-gl-js

  • CesiumJS#

一个专门用于三维地球和地图可视化的JavaScript库。它在渲染三维地理空间数据和提供交互式三维体验方面表现出色。

适合需要三维可视化的应用程序,如城市规划模拟、环境监测和地理空间应用。

https://cesium.com/

  • ArcGIS API for JavaScript#

Esri提供的全面API,用于构建交互式地图和地理空间数据可视化。它支持高级功能,如三维可视化和空间分析。

适合需要与Esri生态系统集成及高级空间分析能力的企业级WebGIS应用程序。

https://developers.arcgis.com/javascript

  • #

    kepler.gl#

Kepler.gl是一个开源地理空间数据交互式可视化工具库,允许用户创建交互式地图、地理空间数据可视化和分析。它基于WebGL平台构建,并利用deck.gl和react-map-gl的强大功能,提供高效流畅的渲染能力。

这个工具由Uber开源,目前是创建数据驱动地图的最佳工具之一。与OpenLayers和Leaflet相比,它在处理稍大规模的矢量数据方面表现更优。

https://kepler.gl/

  • Turf.js#

Turf.js是一个开源的JavaScript库,用于对地理空间数据进行空间分析。它旨在处理GeoJSON格式的地理空间数据。该库提供了广泛的空间数据分析功能,如缓冲、合并和地理空间数据的交集,以及高级空间分析功能,如空间插值、聚类和数据分类。

https://turfjs.org/

后端#

在WebGIS应用中,后端指的是地理空间数据存储、处理和管理等任务的服务器端组件。这些是支持前端应用所必需的模块,前端负责用户交互式操作和可视化界面。后端负责处理来自前端的请求,例如查询数据库、执行空间分析和生成地图。它还提供前端可以用来访问和操作数据的API。后端可以使用不同的编程语言进行开发,但对于地理空间应用,常用的有Java、Python、JavaScript、R、Go等。本文仅介绍部分后端应用,大部分情况下,后端服务需根据项目业务场景需求进行定制化设计开发。

Java#

  • Geotools

一个开源地理空间数据处理工具库,提供一系列工具和API,支持空间数据的读取、写入、处理和分析。

http://www.geotools.org/

  • Geonetwork

一个开源地理空间资源管理和共享应用程序,主要用于管理和访问具有空间特征的元数据。它支持标准化的分布式空间信息管理,能够处理来自不同来源的数据。

http://geonetwork-opensource.org/

  • Apache SIS

支持地理空间应用程序开发的Java库,提供包括元数据管理、坐标参考系统、数据存储和处理等。

http://sis.apache.org/

  • GeoWave

一个开源的地理空间数据处理框架,目标是简化和优化大规模地理空间数据的管理,特别是在处理时空数据时提供高效的解决方案。它通过将数据存储在分布式数据库中(如Apache Accumulo、HBase等)来实现这一目标。主要使用Java编写,能够与多种大数据技术集成。可与Apache Spark等大数据处理框架结合使用,以实现更复杂的数据分析任务。

https://locationtech.github.io/geowave/

Python#

  • GeoDjango

是Django框架的一个扩展模块,专门用于开发GIS应用程序。它将Django转变为一个强大的地理Web框架,旨在简化基于位置的服务和地理Web应用程序的开发。

扩展的ORM: GeoDjango扩展了Django的对象关系映射(ORM),支持空间数据的查询和操作。例如,可以使用空间查询来查找特定区域内的对象。

几何字段: 支持多种几何数据类型,如点、线、多边形等,用户可以在模型中直接定义这些字段。

管理界面集成: 允许在Django管理界面中编辑几何字段,增强了用户体验。

空间数据库支持: 支持PostGIS等空间数据库,便于存储和处理地理数据。

http://geodjango.org/

  • BlenderGIS

BlenderGIS是一个用于Blender的开源插件,旨在简化地理信息系统(GIS)数据的导入和处理。允许用户在Blender中直接导入卫星地图、地形数据(如数字高程模型)和建筑物几何体,支持地理数据的可视化和3D建模。

https://github.com/domlysz/BlenderGIS

  • Cartopy

Cartopy是一个用于地理数据处理和可视化的Python库,专门设计用于创建地图和进行地理空间分析。允许用户利用Python的标准绘图库Matplotlib创建投影感知的地理空间图形。它是Basemap库的继承者,旨在简化地图制作和地理数据可视化的过程。

http://scitools.org.uk/cartopy/

  • geemap

Geemap是一个用于与Google Earth Engine(GEE)进行交互式地理空间分析和可视化的Python包。使用户能够在Jupyter环境中分析和可视化GEE数据集,填补了GEE Python API在文档和交互可视化功能方面的空白。允许用户以交互方式探索和展示大规模的卫星影像和地理空间数据。

https://github.com/giswqs/geemap

  • OWSLib

OWSLib是一个用于与开放地理空间联盟(OGC)标准的Web服务进行交互的Python库。允许开发者访问和操作OGC Web服务,如Web地图服务(WMS)、Web特征服务(WFS)和Web处理服务(WPS)。它旨在简化与这些服务的交互过程。

https://geopython.github.io/OWSLib/

  • pydeck

Pydeck是一个用于创建交互式地理空间可视化的Python库,特别优化用于Jupyter环境。允许用户在Python中轻松创建复杂的地理数据可视化。它支持多种图层类型,如散点图、热图和多边形图等。它与Jupyter Notebook紧密集成,支持交互式地图和数据可视化。

https://github.com/visgl/deck.gl/tree/master/bindings/pydeck

  • pyroSAR

pyroSAR是一个用于大规模合成孔径雷达(SAR)卫星数据处理的Python框架。主要用于高效组织和处理SAR卫星数据。它支持从多种卫星任务读取数据,并处理相关的获取元数据。该框架提供了对SNAP和GAMMA遥感软件处理工具的便捷访问,简化了数据处理流程。

https://github.com/johntruckenbrodt/pyroSAR

数据库#

GIS的核心是数据,任何地理空间应用程序中最关键的部分就是数据库。数据库是存储数据和从后端执行查询的必要工具。目前有多种用于存储地理空间数据的数据库,最常用的数据库有PostgreSQL、Oracle、MySQL、MongoDB等,它们都具有空间扩展功能;例如,PostgreSQL使用PostGIS。其理念是创建一个可以组织数据、关联信息并控制访问的环境。当我们谈论数据库时,使用一种称为SQL的查询语言,这种语言允许选择表中的列、计算行数以及在表之间创建关系。

PostGIS是一个用于扩展PostgreSQL关系数据库的开源插件,专门支持存储、索引和查询地理空间数据。

  • 空间索引: 提供快速搜索和检索空间数据的能力,基于其位置进行高效查询。
  • 空间函数: 包含广泛的空间函数,允许用户过滤和分析空间数据,例如测量距离和面积、几何体交集、缓冲区等。
  • 几何处理: 提供处理和操作几何数据的工具,如简化、转换和概括。
  • 光栅数据支持: 支持光栅数据的存储和处理,例如高程数据和气象数据。
  • 地理编码与反向地理编码: 提供地理编码和反向地理编码功能。
  • 集成能力: 可以与QGIS、GeoServer、MapServer、ArcGIS、Tableau等第三方工具集成,方便用户访问和处理PostGIS数据。

地图服务#

  • GeoServer#

GeoServer支持用户查看和编辑地理空间数据,并与地图进行交互。它提供地理空间数据和相关服务给客户端应用程序,使用户能够实时查看、查询和分析地图。常用的服务包括:

  • Web地图服务(WMS):用于生成地图图像。
  • Web覆盖服务(WCS):用于处理栅格数据。
  • Web特征服务(WFS):用于访问地理特征数据。
  • Web处理服务(WPS):用于执行地理空间处理和分析。

GeoServer基于Java开发,遵循开放地理空间联盟(OGC)标准,提供灵活的地图创建和数据共享功能。它支持多种空间数据源,并允许用户通过标准协议共享和编辑数据。GeoServer的模块化设计使得用户可以通过扩展添加额外功能,促进了开放数据的透明性和可用性。

其它地图服务器:

数据处理软件工具#

  • QGIS#

QGIS(Quantum GIS)是一个开源的地理信息系统(GIS)软件,广泛用于查看、编辑和分析地理数据。

  • 功能: QGIS提供了丰富的GIS功能,包括矢量分析、栅格分析、采样、地理处理、几何和数据库管理工具。用户可以通过友好的图形用户界面(GUI)进行互动,轻松操作空间数据。

支持格式: QGIS支持多种数据格式,包括GeoJSON、Shapefile、KML等,用户可以在不同投影下查看和叠加数据,无需转换为内部格式。

http://qgis.org

  • Whitebox#

一个开源的地理空间数据分析软件。

  • 功能: Whitebox提供超过550种工具,支持多种类型的地理空间数据处理,包括栅格、矢量和LiDAR数据。它主要用于执行GIS和遥感分析任务,尤其在空间水文分析和LiDAR数据处理方面表现突出。
  • 平台兼容性: Whitebox是跨平台的,能够在Windows、Linux和MacOS上运行。
  • https://www.whiteboxgeo.com/

  • DIVA-GIS#

一个免费的开源地理信息系统(GIS),专门用于制作物种分布数据的地图和分析这些数据。以下是对DIVA-GIS的详细介绍:

  • 功能: DIVA-GIS允许用户创建世界或特定区域的地图,支持使用州界、河流、卫星图像等地理要素。它特别适用于生物多样性数据的映射和分析,如物种分布。

  • 工具集: DIVA-GIS提供多种实用工具,包括栅格计算器(用于加法和乘法运算)、邻域分析(改变栅格分辨率)和图像地理参考工具。此外,它还具备生态位建模工具,支持使用BIOCLIM和DOMAIN算法进行预测建模。

  • https://www.gbif.org/tool/81420/diva-gis

  • GRASS GIS#

GRASS GIS(Geographic Resources Analysis Support System)是一个功能强大的开源地理信息系统,专注于地理空间数据的管理、分析和可视化。

  • 功能: GRASS GIS提供了一整套工具,用于处理栅格和矢量数据,支持空间建模、数据管理和图像处理。它适用于环境监测、土地利用规划和科学研究等多个领域。
  • 平台兼容性: GRASS GIS可以在Windows、Linux和Mac OS上运行,具有良好的跨平台支持。
  • 多种数据处理能力:
  • 栅格和矢量数据处理: 提供超过400种工具,支持复杂的空间分析。
  • 3D可视化: 允许用户在三维环境中查看和分析数据。
  • 地统计学与水文建模: 包括对水文过程的模拟和分析工具。
  • 时间序列分析: 内置的时间框架支持对时间序列数据的高级分析。
  • Python API: 提供Python接口,方便用户进行快速编程和自动化任务。
  • https://grass.osgeo.org/

  • Global Mapper#

Global Mapper是一个功能强大的地理信息系统(GIS)软件,专为处理和分析地理空间数据而设计。以下是对Global Mapper的详细介绍:

  • 功能: 该软件能够处理多种类型的地理数据,包括矢量、栅格和高程数据,用户可以轻松查看、合并、导入和导出这些数据。
  • 广泛的文件格式支持: Global Mapper支持超过300种文件格式,用户无需额外许可证即可使用所有功能。
  • 数据导入与导出: 用户可以从本地文件、连接的数据库或在线数据源加载数据,并能够将其导出为多种格式。
  • 强大的分析工具: 包括距离和面积计算、视域分析、流域划分、切填方体积计算等功能。
  • LiDAR编辑: 提供专门的工具来处理LiDAR数据,适合进行高精度的地形分析。
  • https://www.bluemarblegeo.com/global-mapper/

  • FME(Feature Manipulation Engine)#

FME(Feature Manipulation Engine)是一款强大的地理空间数据集成和转换软件。

  • 功能: FME是一种空间ETL(提取、转换和加载)工具,支持多种数据格式的转换和集成。它允许用户从多个数据源读取数据,进行处理和转换,然后将其输出到所需的格式。

  • 平台兼容性: FME支持Windows、MacOS和Linux操作系统。

  • 多种格式支持: FME能够处理超过355种数据格式,包括CAD、BIM、GIS、LiDAR等,适合多种行业需求。

  • 图形化界面: 用户可以通过图形界面创建工作流,无需编写代码,简化了数据处理过程。

  • 强大的转换功能: 提供多种“变换器”工具,用于数据清洗、分析和格式转换。

  • 实时数据处理: FME支持实时数据流,适用于动态数据集成场景。

  • https://fme.safe.com/

  • Google Earth Engine#

Google Earth Engine是一个强大的云基础地理空间分析平台,允许用户访问和分析大规模的卫星影像和地理数据。

  • 功能: Google Earth Engine结合了多达数PB的卫星影像和地理数据集,提供行星级别的分析能力。科学家、研究人员和开发者使用该平台来检测变化、绘制趋势和量化地球表面的差异。

  • 数据访问: 提供超过30年的历史影像和科学数据,更新频繁,用户可以即时访问超过80PB的地理数据进行分析。

  • 强大API: Earth Engine API支持Python和JavaScript,方便用户进行自定义的地理空间分析。

  • 代码编辑器: 提供基于Web的代码编辑器,支持快速、交互式算法开发,并即时访问海量数据。

  • 公共数据集: 包含丰富的公共数据集,适合进行环境监测、资源管理等多种应用。

  • https://earthengine.google.com/

  • GDAL#

GDAL(Geospatial Data Abstraction Library)是一个用于处理栅格和矢量地理空间数据的开源工具库。

  • 功能: GDAL提供了一套统一的API,支持不同格式的地理空间数据读取、写入和转换。它是许多GIS应用程序和工具的基础,广泛用于数据处理和转换。
  • 支持格式: GDAL支持超过200种栅格和矢量数据格式,包括GeoTIFF、Shapefile、KML、PostGIS等。
  • 数据转换: GDAL能够在不同格式之间进行高效的数据转换,支持批量处理。
  • 空间分析: 提供多种空间分析功能,如重投影、裁剪、合并等。
  • 命令行工具: 除了API,GDAL还提供一系列命令行工具(如**gdal_translateogr2ogr**),方便用户进行快速操作。
  • 跨平台支持: GDAL可以在Windows、Linux和Mac OS上运行,具有良好的兼容性。
  • GDAL基于C++开发,提供多种编程语言的封装和绑定,包括Python、Java和C#,使得在各种上下文中使用变得更加方便。GDAL的Python绑定非常流行,用户通常选择使用它,因为它与GeoDjango等框架无缝集成。通过Python接口,用户可以轻松地进行数据读取、写入和转换,同时利用NumPy等库进行数值计算。
  • http://www.gdal.org/

  • Rasterio#

Rasterio是一个用于处理栅格数据的Python库,基于GDAL构建,旨在简化地理空间数据的读取和写入。

  • 功能: Rasterio提供了一个简单且高效的接口,用于读取、写入和处理栅格数据。它支持多种栅格数据格式,包括GeoTIFF等。
  • 集成GDAL: 作为GDAL的Python封装,Rasterio利用GDAL的强大功能,同时提供了更友好的Python接口。
  • 易用性: Rasterio的API设计直观,用户可以轻松进行栅格数据操作,如打开文件、读取波段、获取元数据等。
  • 地理参考支持: 提供对地理参考信息的全面支持,使得用户可以方便地处理空间数据。
  • 与NumPy集成: Rasterio与NumPy紧密集成,允许用户将栅格数据直接转换为NumPy数组,便于进行数值计算和分析。
  • https://github.com/mapbox/rasterio

未来发展趋势#

随着WebGIS技术的不断发展,几个趋势正在塑造地理空间应用的未来:

  • 人工智能和机器学习的集成

人工智能和机器学习正越来越多地集成到WebGIS中,以增强空间数据分析、自动化数据处理和改进预测建模。

这种集成提高了决策能力,改善了空间预测的准确性,并自动化了复杂的地理空间任务。机器学习技术可以对土地使用进行分类、预测房产价值,并识别大型数据集中的模式,使GIS更加高效和深入。

  • 增强现实(AR)和虚拟现实(VR)的广泛应用

AR和VR技术正在被纳入WebGIS,以实现沉浸式数据可视化和互动空间体验。

这些技术提供了更具吸引力和直观的方式来探索和与地理空间数据互动,特别是在城市规划和环境监测方面。用户可以在三维环境中可视化数据,从而增强对复杂空间信息的理解和参与感。

  • 云基础GIS解决方案的采用

基于云的平台变得越来越普遍,如Google Earth Engine、AWS等,为WebGIS应用提供可扩展的存储和处理能力。

这一趋势使得访问大型数据集变得更加容易,支持协作工作流程,并能够进行实时数据处理和分析。用户可以更有效地共享资源,并在任何有互联网连接的地方进行项目工作。

  • 实时数据集成的扩展

越来越强调将实时数据流集成到WebGIS应用中,包括物联网传感器和实时卫星图像。

这一能力增强了监测和应对动态地理空间条件的能力,如交通管理和环境变化。实时集成使基于当前数据进行及时决策的数字孪生成为可能。

  • 通过先进的UI/UX设计改善用户体验

专注于开发更直观、用户友好的WebGIS应用界面,以改善可访问性。

改进的UI/UX设计使用户更容易导航复杂的数据集和工具,从而促进非专家对GIS技术的广泛采用。改进的设计可以显著提升用户满意度和与地理空间应用的参与度。

这些趋势表明,地理空间应用正在向更智能、互动和用户友好的方向发展,利用现代技术满足各个行业用户不断变化的需求。

总  结#

WebGIS技术架构通常由多个核心组件构成,以支持地理信息的存储、处理和展

选择合适的WebGIS框架取决于项目的具体需求。无论项目需要轻量级的前端地图、强大的后端数据处理还是全栈集成,目前的框架和工具都提供了多样的功能,以满足各种WebGIS要求。通过利用这些资源,开发者可以创建强大、互动且可扩展的WebGIS应用程序,有效管理和可视化地理空间数据。

本公众号相关内容推荐#


title: “WorldStrat:应用超分辨率技术生成的开放高分辨率卫星图像数据集” published: 2022-07-20 description: “WorldStrat数据集涵盖世界上近10,000平方公理的4,000个不同的地点,每个地点包括1张来源于Airbus SPOT 6/7的高分辨卫星图像(1.5米/像素),以及该地点多张时空匹配的低分辨率卫星图像。” image: “/images/WorldStrat-应用超分辨率技术生成的开放高分辨率卫星图像数据集/img_463c08e8.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#

WorldStrat数据集涵盖世界上近10,000平方公理的4,000个不同的地点,每个地点包括1张来源于Airbus SPOT 6/7的高分辨卫星图像(1.5米/像素),以及该地点多张时空匹配的低分辨率卫星图像,这些图像来自可免费获取的低分辨率Sentinel-2卫星(10米/像素)。

     作者通过训练一个超分辨率模型,使用低分辨率Sentinel-2图像作为输入,通过模型运行推理,生成开放免费的高分辨率图像。

Multi-frame super-resolution architectures. Left: Multi-Frame SRCNN. Right: HighResNet. Single-frame SRCCN is achieved by using Multi-Frame SRCNN with a single revisit.

     作者为这个数据集提供了一个开源的Python软件包,用于重建或扩展WorldStrat数据集,训练和推断基线算法。

        

  1. 数据集下载地址:

      https://zenodo.org/record/6810792

  2. 论文:https://arxiv.org/abs/2207.06418

 3. 代码:https://github.com/worldstrat/worldstrat====YOLO26-实时目标检测进入端到端时代.md====#

title: “YOLO26:实时目标检测进入端到端时代” published: 2026-03-02 description: "" image: “/images/YOLO26-实时目标检测进入端到端时代/img_375d07c1.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#

Ultralytics于2026年1月发布了YOLO26,这是YOLO系列首个原生端到端模型,完全移除了 NMS(非极大值抑制)后处理步骤。CPU推理速度最高提升43%,单次前向传递最多输出300个检测结果。一个延续了近十年的目标检测「补丁」,终于被从架构层面彻底删除了。

 

十年进化:从 YOLOv1 到 YOLO26#

YOLO(You Only Look Once)是过去十年实时目标检测领域最具影响力的算法系列。2015 年,Joseph Redmon 等人提出了一个激进的想法:把目标检测从「先找候选区域再分类」的两阶段流水线,压缩成一次前向传递完成全部工作。 这个想法彻底改变了目标检测的速度上限。

奠基期(2015-2018):从概念到可用#

版本年份作者核心突破
YOLOv12015Joseph Redmon首创单阶段检测——将图像分成 7×7 网格,每个网格直接预测边界框和类别概率
YOLOv22016Joseph Redmon引入 Darknet-19 骨干网络、锚框(Anchor Box)机制和批归一化,大幅提升精度
YOLOv32018Joseph Redmon升级 Darknet-53 骨干,引入多尺度检测(三个不同分辨率的特征图),首次在小目标上表现良好

YOLOv3 是一个里程碑,它在COCO数据集上达到了当时的实时检测最佳水平,且Redmon的开源策略让YOLO迅速成为工业界的标准选择。2020年,Redmon因伦理顾虑退出计算机视觉研究,但 YOLO的开源生态已经不可逆转。

社区接力期(2020-2022):百花齐放#

Redmon 退出后,YOLO 进入了多团队并行发展的阶段:

版本年份团队核心突破
YOLOv42020Alexey BochkovskiyCSPDarknet-53 骨干 + PANet 颈部网络 + Mosaic 数据增强 + 大量训练技巧(BoF/BoS)
YOLOv52020UltralyticsPyTorch 原生实现——告别 Darknet C 框架,引入自动锚框计算和模型缩放(n/s/m/l/x 五档)
YOLOv62022美团针对工业部署优化,RepVGG 重参数化骨干,硬件友好设计
YOLOv72022Chien-Yao WangE-ELAN 高效聚合网络 + 模型重参数化 + 辅助头训练策略

这个阶段的关键转折是 YOLOv5。它不是论文驱动的学术模型,而是工程驱动的开源项目。Ultralytics用PyTorch重写了整个框架,降低了使用门槛,让YOLO从研究工具变成了真正的生产工具。至今 YOLOv5仍是很多工业项目的首选。

Tip

版本号争议YOLO 的版本编号并非由单一组织控制。YOLOv5没有正式论文,YOLOv6是美团的独立工作,不同版本之间并不是严格的「上一代改进」关系,更像是多个团队在同一框架下的并行演进。

统一与突破期(2023-2026):走向端到端#

版本年份团队核心突破
YOLOv82023Ultralytics无锚框检测(Anchor-free)+ 解耦头(分类和回归分开)+ 统一多任务框架
YOLOv92024Chien-Yao WangPGI(可编程梯度信息)+ GELAN 通用高效聚合网络,解决深度网络信息丢失问题
YOLOv102024清华大学首次探索无 NMS 训练引入一致双分配策略,但仍保留 NMS 作为可选项
YOLO112024UltralyticsC3k2 模块 + C2PSA 注意力机制,参数比 YOLOv8 少 22% 但精度更高
YOLO262026Ultralytics完全移除 NMS原生端到端推理,MuSGD 优化器,STAL 小目标策略

这个阶段有两条主线并行。

1. Ultralytics 的统一路线:YOLOv8 → YOLO11 → YOLO26,逐步构建统一的多任务框架(检测、分割、分类、姿态估计、旋转框),同时不断简化部署流程。

2. 学术界的端到端探索:YOLOv10率先尝试了无NMS训练,证明了可行性。YOLO26在此基础上彻底完成了端到端化,不是「可以不用 NMS」,而是「架构上根本不需要 NMS」。

每一次关键跃迁都在做同一件事:**减少人工设计的规则,让模型自己学更多。**从手动设计锚框到自动锚框,从锚框到无锚框,从NMS后处理到完全端到端。YOLO26 是这条路径的自然终点。


 

NMS 是什么,为什么它是个问题#

要理解YOLO26的突破,先要理解它解决了什么问题。

所有传统 YOLO 模型(从 YOLOv1 到 YOLO11)都面临一个相同的问题:模型会为同一个物体生成多个重叠的检测框。NMS 就是用来去除这些重复框的后处理算法——保留置信度最高的那个,抑制其他的。

听起来很合理,但 NMS 带来了三个严重问题:

问题影响
速度瓶颈NMS 是串行操作,无法被 GPU 有效加速,成为推理管线的瓶颈
部署复杂NMS 需要额外的算子支持,不同硬件平台(TensorRT、CoreML、TFLite)实现不一致
行为不确定NMS 的 IoU 阈值是超参数,不同场景需要手动调整,密集场景下容易误删正确检测

换句话说,NMS 不是模型学到的东西,而是人类强加的规则补丁。YOLO26 的核心突破就是:让模型自己学会只输出一个框,而不是先输出一堆框再靠规则去重。

传统 YOLO vs YOLO26 检测流程


YOLO26 如何做到无 NMS#

YOLO26 采用了双头(Dual-Head)架构,引入三项关键创新:

1. One-to-One Head:一个物体一个框#

默认使用 One-to-One 检测头,每个物体只产生一个预测框,输出维度为 (N, 300, 6)。最多 300 个检测,每个检测包含坐标和置信度。

对比传统方式:

架构输出后处理
YOLO118,400 个候选框需要 NMS 去重
YOLO26 (One-to-One)最多 300 个检测无需任何后处理

训练时仍然使用 One-to-Many 头来保证学习信号充足,推理时只用 One-to-One 头。这意味着:训练和部署使用的模型完全一致

2. MuSGD 优化器:借鉴 LLM 训练技术#

将 SGD 与 Muon 优化算法结合,借鉴了大语言模型训练中的优化技术。这对于稳定小型骨干网络的训练尤为关键——小模型在去掉 NMS 后更容易训练不稳定,MuSGD 解决了这个问题。

3. STAL + ProgLoss:针对小目标和动态监督#

  • • STAL(Small-Target-Aware Label Assignment):改进了小目标的标签分配策略
  • • ProgLoss(Progressive Loss):动态调整监督信号强度

这两项技术确保在移除 NMS 的同时,不牺牲密集小目标场景的检测精度。

YOLO26 双头架构


性能数据:不只是更快#

YOLO26 在 COCO 数据集上的表现:

模型参数量mAP₅₀₋₉₅CPU 延迟适用场景
YOLO26n2.4M40.938.9ms嵌入式/手机
YOLO26s9.2M48.379.4ms边缘设备
YOLO26m18.2M53.1220ms平衡精度与速度
YOLO26l26.8M54.9328ms高精度需求
YOLO26x55.7M57.5525.8ms最高精度

关键对比:

  • • YOLO26n vs YOLO11n:CPU 推理速度提升 43%,同时精度更高
  • • 建立新的帕累托前沿:在推理速度和检测精度两个维度上,同时超越 RTMDet、DAMO-YOLO 等竞品

YOLO26 性能帕累托前沿


支持的任务远不止检测#

YOLO26 不只是一个检测模型,而是一个多任务统一框架:

任务说明
目标检测核心能力,NMS-free 端到端推理
实例分割像素级物体分割
图像分类ImageNet 预训练分类器
姿态估计人体关键点检测,使用残差对数似然估计(RLLE)
旋转目标检测(OBB)适用于遥感、文档等需要旋转框的场景

此外,YOLOE-26 扩展支持开放词汇实例分割——通过文本或视觉 Prompt 检测任意类别的物体。


对部署的实际影响#

移除 NMS 不只是速度提升,它从根本上简化了部署管线:

之前的部署流程

模型导出 → ONNX → 平台特定 NMS 算子 → 调参 → 部署

YOLO26 的部署流程

模型导出 → ONNX/TensorRT/CoreML/TFLite → 部署
  • • 不再需要平台特定的 NMS 实现
  • • 导出即部署,训练模型和推理模型完全一致
  • • **适配更多边缘设备:**很多低端硬件不支持 NMS 算子,现在不需要了

部署流程简化


快速上手#

pip install ultralytics
# 推理
yolo detect predict model=yolo26n.pt source="image.jpg"
# 训练
yolo detect train model=yolo26n.pt data=coco.yaml epochs=100
# 导出
yolo export model=yolo26n.pt format=onnx

模型权重在首次使用时自动下载。支持 Python API 和 CLI 两种使用方式。

Tip

从旧版本迁移如果你之前使用 YOLO11,迁移几乎零成本——API 完全兼容,只需替换模型名称。但注意:YOLO26 默认使用 One-to-One 头,如果你的场景需要密集候选框(如级联检测),可以手动切换到 One-to-Many 头。


为什么这件事很重要#

NMS是目标检测领域延续了近十年的「必要之恶」。它不是模型的一部分,而是对模型缺陷的补偿。每一代YOLO都试图减少对NMS的依赖,但直到YOLO26才真正从架构层面消除了它。

这个突破的意义不仅在于速度和精度:

  1. 1. 端到端可微分:整个检测管线可以作为更大系统的一部分进行端到端训练
  2. 2. 部署简易:更多低端硬件可以直接运行,不需要复杂的后处理支持
  3. 3. 行为确定性:同一模型在所有平台上的行为完全一致,不再有 NMS 阈值带来的不确定性

实时目标检测,正式进入端到端时代。====geemap-一个支持交互式地理空间分析与可视化的Python包.md====#

title: “geemap:一个支持交互式地理空间分析与可视化的Python包” published: 2025-04-03 description: "" image: “https://mmbiz.qpic.cn/mmbiz_jpg/4XThbicfconD99PZqbNDL6icH0cyvicLRnDvBonWGV4fF4bgeMvqfrNXrWnzINcPRyNPI8XSx1MmYvcsTAaf4573A/0?wx_fmt=jpeg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#

随着云计算和大数据技术在地理空间领域的广泛应用,Google Earth Engine (GEE) 凭借其集成的海量卫星遥感影像和地理空间数据集以及强大的算力资源,已成为处理和分析海量遥感与地理空间数据的强大平台,为全球范围内的环境监测、资源管理、灾害响应等应用提供了前所未有的数据分析能力。

然而,GEE原生支持的JavaScript API虽然功能全面,但对于习惯Python生态系统的研究人员和开发者而言,存在一定的学习曲线和整合难度。为了弥合这一差距,开源Python软件包geemap 应运而生,它建立在 ipyleaflet 和 folium 等库之上,成为连接Python与GEE的桥梁,支持在Jupyter环境中交互式地操作、分析和可视化GEE数据,极大地简化了地理空间数据的交互式分析与可视化过程。

本文将详细介绍 geemap 的安装使用、核心功能及典型应用案例,旨在帮助地理空间领域的专业人士快速上手并掌握这一工具。

基本情况介绍#

geemap 是由美国田纳西大学教授吴秋生博士开发并维护的一个开源Python包,旨在简化Google Earth Engine Python API使用流程。该软件包专为与Google Earth Engine进行交互式地图绘制而设计,用户能够像使用本地GIS软件一样,在熟悉的Python环境(尤其是 Jupyter Notebook 和 JupyterLab)中,通过简单的代码调用,实现复杂的地理空间数据处理和交互式地图可视化。

自2020年首次发布以来,geemap迅速在地理空间社区中获得了广泛的认可和应用。其GitHub仓库
(https://github.com/giswqs/geemap))已获得超过1000个星标,并被OSGeo(开源地理空间基金会)等权威机构推荐。

主要特点:

  • • 低代码/无代码交互: geemap 提供了丰富的图形用户界面(GUI)工具,允许用户通过点击、绘制等方式进行地图交互、区域选择、图层管理等操作,大大降低了GEE的使用门槛。
  • • **与Python生态无缝集成:**可以轻松地将GEE的数据对象(如 ee.Imageee.FeatureCollection)与 NumPy, Pandas, Geopandas, Rasterio, Xarray 等常用 Python 库结合使用,便于进行更深入的数据分析和处理。
  • • **增强的可视化能力:**基于 ipyleaflet 和 folium,提供了比GEE Code Editor更灵活、更丰富的地图可视化选项,支持多种底图切换、动态图层控制、颜色条(Colorbar)添加、分屏对比等。
  • • **简化数据转换与导出:**提供了便捷的函数,用于将 GEE 数据导出为常见的地理空间数据格式(如 GeoTIFF, Shapefile, GeoJSON),或将本地数据上传至GEE Assets。
  • • **活跃的社区与文档:**拥有详细的官方文档、丰富的示例教程和活跃的社区支持。

安装与配置#

geemap的安装相对简单,支持通过pip和conda两种主流的Python包管理器进行安装。在安装之前,用户需要确保已经注册并激活了Google Earth Engine账户,并安装了Python 3.8或更高版本。

使用pip安装:

pip install geemap

使用 conda/mamba:
推荐使用 mamba 以获得更快的安装速度。

conda create -n gee python=3.9 # 建议创建一个独立的环境
conda activate gee
conda install -c conda-forge mamba
mamba install -c conda-forge geemap

GEE认证:
geemap 依赖于 Google Earth Engine Python API (earthengine-api)。首次使用 GEE Python API 前,需要进行身份验证。在Python环境或终端运行以下命令,并按照提示完成浏览器认证流程:

import ee
ee.Authenticate() # 会引导至浏览器进行谷歌账号授权
ee.Initialize()   # 初始化 GEE Python API

或者在终端执行:

earthengine authenticate

根据提示输入Google账号,进行授权,然后将token字符串复制到Python环境或终端中即可完成认证。

完成认证后,geemap就可以正常调用GEE的服务了。

此外,用户可能需要配置网络代理以访问GEE服务,特别是在网络受限的环境中。geemap提供了set_proxy函数来设置代理端口。

使用方法#

在 Jupyter Notebook 或 JupyterLab 中使用 geemap 的基本流程如下:

# 1. 导入库
import ee
import geemap
# 2. 初始化 GEE (如果尚未完成认证,请先执行 ee.Authenticate())
try:
    ee.Initialize()
    print("Google Earth Engine 已成功初始化。")
except Exception as e:
    print(f"GEE 初始化失败: {e}")
    print("请确保已运行 'ee.Authenticate()' 并授权。")
    # 如果需要,可以在这里重新尝试 ee.Authenticate() 和 ee.Initialize()
# 3. 创建交互式地图实例
# center: 地图中心点 [纬度, 经度]
# zoom: 缩放级别
Map = geemap.Map(center=[40, -100], zoom=4)
# 4. 添加 GEE 数据图层
# 示例:添加 SRTM 数字高程模型 (DEM)
dem = ee.Image('USGS/SRTMGL1_003')
vis_params_dem = {
    'min': 0,
    'max': 4000,
    'palette': ['006633', 'E5FFCC', '662A00', 'D8D8D8', 'F5F5F5']
}
Map.addLayer(dem, vis_params_dem, 'SRTM DEM')
# 示例:添加 Landsat 8 影像 (取一景,计算 NDVI)
l8 = ee.ImageCollection('LANDSAT/LC08/C02/T1_SR') \
    .filterBounds(ee.Geometry.Point(-122.26, 37.77)) \
    .filterDate('2021-01-01', '2021-12-31') \
    .sort('CLOUD_COVER') \
    .first()
vis_params_l8 = {'bands': ['SR_B4', 'SR_B3', 'SR_B2'], 'min': 0, 'max': 3000}
Map.addLayer(l8, vis_params_l8, 'Landsat 8 True Color')
ndvi = l8.normalizedDifference(['SR_B5', 'SR_B4']).rename('NDVI')
vis_params_ndvi = {'min': 0, 'max': 1, 'palette': ['blue', 'white', 'green']}
Map.addLayer(ndvi, vis_params_ndvi, 'NDVI')
# 5. 添加图层控制器 (可选,方便切换图层和调整透明度)
Map.addLayerControl()
# 6. 显示地图
Map # 在 Jupyter 环境中,这会自动渲染地图

上述代码展示了导入库、初始化GEE、创建地图、添加不同类型的GEE数据(高程、卫星影像、NDVI计算)并设置可视化参数、添加图层管理控件的基本流程。通过以上步骤,用户可以在Jupyter环境中看到一个交互式地图,支持缩放、平移和图层切换等操作。

核心功能#

geemap 的功能十分丰富,以下列举一些核心功能:

1. 交互式地图

  • • 创建支持缩放、平移、多种底图(如 OpenStreetMap, Google Satellite, Terrain 等)切换的地图。
  • • 支持添加GEE数据图层 (Map.addLayer),并能方便地控制图层显隐、顺序和透明度。
  • • 内置绘图工具,允许用户在地图上绘制点、线、面,获取绘制图形的几何信息 (Map.user_roiMap.user_rois),常用于定义感兴趣区域 (AOI)。
  • • 支持分屏对比功能 (Map.split_map),方便比较不同时间或不同数据的地图。
  • • 集成IPyleaflet和Folium的特性,如标记(Marker)、热力图(Heatmap)、聚类(Marker Cluster)等。

2. GEE 数据处理与可视化

  • • 提供自动计算和添加颜色条的功能。
  • • 支持对影像集合进行时序分析并生成图表或GIF动图 (geemap.create_timelapse)。
  • • 提供便捷的函数进行GEE对象属性的查询和展示。

3. 数据导入/导出

  • • 支持将结果导出到Google Drive, Google Cloud Storage或本地(通过 GEE 计算后下载)。
  • • 支持导出为Shapefile, GeoJSON, KML 等格式到Google Drive或GCS。
  • • 支持将小范围的影像直接转换为NumPy数组或Xarray Dataset。

4. 用户界面组件 (Widgets)
提供一系列Jupyter Widgets,如日期选择器、下拉菜单、滑块、按钮等,可以方便地构建简单的交互式GEE应用界面,无需编写复杂的前端代码。

5. 集成分析功能
虽然核心分析能力依赖GEE本身,但 geemap 封装了许多常用分析流程,如计算多种遥感指数(NDVI, EVI, NDWI 等)、执行监督/非监督分类后的结果可视化、进行简单的像元统计等。

使用示例#

1. 创建分割地图进行数据对比

2. 绘制交互式图表

3. 创建选定区域的时间序列变化动图

4. 使用时间轴可视化影像数据

5. 加载本地栅格数据

6. 三维地形数据可视化

7. 计算每个网格的平均温度

8. 使用Landsat和sentinel-1影像可视化分析洪水灾害情况

9. 可视化全球土地覆盖数据集

10. 结合Leafmap和Mapbox进行三维数据可视化

geemap 可广泛应用于各种地理空间分析场景:

  • • **土地覆盖/利用变化监测:**利用Landsat, Sentinel 等卫星影像集合,结合 geemap 的时序分析和可视化功能,快速查看区域地表覆盖随时间的变化情况。

  • • **植被指数(如 NDVI)时序分析:**绘制 AOI,提取该区域 NDVI 的时间序列,并通过 geemap 集成的绘图库(如 Matplotlib)生成变化曲线图。

  • • **水体资源监测:**使用 NDWI 等水体指数,结合 JRC Global Surface Water 等数据集,通过 geemap 可视化地表水体的范围变化。

  • • **灾害应急响应 (如洪水、火灾):**快速加载灾前灾后影像,利用分屏对比功能直观评估灾害影响范围。

  • • 城市热岛效应分析: 加载热红外波段数据,计算地表温度,并进行可视化展示。

  • • **农业估产与长势监测:**结合作物分布图和多光谱影像,分析作物长势,评估产量。

  • • 教学与快速原型开发: geemap 的易用性使其成为地理空间分析教学的理想工具,同时也能帮助研究人员快速验证想法、开发应用原型。

  • 教程与示例资源#

    • **官方教程集合:**geemap项目的GitHub仓库提供了丰富的教程,包括视频教程、GIF动画和Jupyter notebook示例,涵盖了从基础操作到高级应用的各个方面。每个示例都提供了视频、动画和可执行代码三种形式,方便用户按照自己的需求学习。• **geemap官方网站教程:**提供了系统化的教程,包括如何使用Earth Engine进行地图可视化、数据分析、时间序列处理等。内容包括从Earth Engine JavaScript代码转换到Python、添加动画文本到GIF图像、创建Landsat时间序列动画等。• **Python Earth Engine示例集:**一个包含300多个使用Earth Engine和geemap Python包的示例仓库,这些示例涵盖了NDVI符号化、NDWI符号化、Landsat符号化、湿地符号化、属性着色和随机颜色可视化等多种应用。

References#

扫描添加作者微信,获取更多资源

本公众号相关内容推荐#


title: “xgcm-通用环流模式后处理Python工具包” published: 2024-12-24 description: "" image: “/images/xgcm-通用环流模式后处理Python工具包/img_8c126016.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#

****#

在海洋和大气科学研究领域,通用环流模式 (General Circulation Models, GCMs) 是研究地球系统的重要工具。这些数值模式产生的数据集规模庞大,且数据网格结构复杂多样。为了有效分析和比较不同数值模式的计算结果,我们需要一个不仅能处理不同模型的原生网格,还能避免插值操作带来的误差的软件工具。 xgcm就是这样一个Python包,它为GCMs及类似网格化数据集提供了强大的后处理分析能力。本文将介绍xgcm的设计理念、核心功能、应用案例以及未来开发计划。

设计目标#

xgcm的诞生源于对 GCMs 数据分析的迫切需求。在诸如 CMIP6 (Coupled Model Intercomparison Project Phase 6) 这样的大型项目中,不同模式所提供的计算输出数据,无论是在水平方向还是垂直方向上,往往具有不同的网格结构。为了分析不同数值模式之间的计算结果差异,研究人员需要一个能够在模型原生网格上进行计算以及减小插值带来的误差的软件工具。

xgcm的设计目标是提供一个通用的数据处理分析工具,即使用户不了解底层网格的细节,也能像处理分析方程一样,轻松应用诸如梯度和散度等常见算子来进行数据处理。该工具能够自动识别速度变量所在的网格类型(例如 B 或 C 网格),并尽可能接近模型内部代码的方式执行数值计算。

xgcm基于xarray数据结构,这是一种坐标和元数据丰富的多维数组数据表示,非常适合于GCMs数据的分析。xarray提供了便捷的数据索引和分组、支持坐标的数据转换,以及基于dask的并行、核外数组计算能力。在这些功能基础上,xgcm增加了对有限体积Arakawa网格的支持,并提供了适用于此类网格的微分和积分算子。

xgcm的另一个主要动机源于海洋、大气和气候模型分辨率的快速提升。虽然现代超级计算机可以轻松生成TB甚至PB级的数据集,但常用的后处理工作流程在处理这些海量数据时显得力不从心。因此,一个灵活的、开源的、基于Python的GCM分析框架势在必行,xgcm旨在提升该领域的整体生产力,并加速海洋与大气领域的科学发现。

核心功能#

xgcm旨在提供一组核心的、通用的后处理功能,主要包括:

  1. 网格拓扑 (Grid Topology):xgcm能够处理常见的Arakawa网格类型(如 A、B、C 网格),并能自动识别变量所在的网格位置。这些网格通常用于海洋、大气模型中,其特点在于变量(如速度、压力、温度)在网格上的不同位置定义。理解网格拓扑是进行正确数值计算模拟的前提。

  2. 网格度量 (Grid Metrics):xgcm可以计算网格单元的距离、面积和体积等度量信息。这些度量信息对于正确计算诸如梯度、散度、通量等物理量至关重要。

  3. 网格通用函数 (Grid Ufuncs):xgcm提供了基于网格的通用函数,如差分和插值。这些函数能够自动处理不同网格类型的变量,从而简化了用户操作。xgcm 提供的 diff 和 interp 函数,用户无需考虑网格的细节,就可以实现变量在网格上的微分和插值运算。

  4. 边界条件 (Boundary Conditions):xgcm允许用户指定模型的边界条件,从而确保计算结果的准确性。

  5. 垂直坐标转换 (Transforming Vertical Coordinates):xgcm正在开发用于垂直网格转换的功能,例如将变量从几何坐标转换为密度坐标。

  6. 矢量微积分算子:xgcm计划实现常见的矢量微积分算子,如梯度 (grad)、散度 (div) 和旋度 (curl)。这些算子的实现将进一步提高xgcm的功能,使得用户可以更加轻松地进行矢量场的分析。

xgcm的核心理念在于保持功能的简洁性和通用性。该工具避免添加过于专业化的功能,如Okubo-Weiss参数或剪切和应变场,而是鼓励用户在其他软件包中基于xgcm构建这些功能。这种方法使得xgcm专注于提供基础、通用的网格处理工具,同时保证了其灵活性和可扩展性。

应用案例#

1. MITgcm数值模式计算结果分析处理

1import xarray as xr
2import numpy as np
3import xgcm
4from matplotlib import pyplot as plt
5%matplotlib inline
6plt.rcParams[‘figure.figsize’] = (10,6)
7
8# download the data
9import urllib.request
10import shutil
11
12url = ‘https://zenodo.org/record/4421428/files/
13file_name = ‘mitgcm_example_dataset_v2.nc’
14with urllib.request.urlopen(url + file_name) as response, open(file_name, ‘wb’) as out_file:
15 shutil.copyfileobj(response, out_file)
16
17# open the data
18ds = xr.open_dataset(file_name)
19ds

1u_transport = ds.UVEL * ds.dyG * ds.hFacW * ds.drF
2v_transport = ds.VVEL * ds.dxG * ds.hFacS * ds.drF
3div_uv = (grid.diff(u_transport, ‘X’) + grid.diff(v_transport, ‘Y’)) / ds.rA
4div_uv[0, 0].plot()

1zeta = (-grid.diff(ds.UVEL * ds.dxC, ‘Y’) + grid.diff(ds.VVEL * ds.dyC, ‘X’))/ds.rAz
2zeta_bt = (zeta * ds.drF).sum(dim=‘Z’)
3zeta_bt.plot(vmax=2e-4)

1ke = 0.5*(grid.interp((ds.UVELds.hFacW)**2, ‘X’) + grid.interp((ds.VVELds.hFacS)**2, ‘Y’))
2ke[0,0].where(ds.maskC[0]).plot()

2. MITgcm ECCOv4r3数据分析处理

1from matplotlib import pyplot as plt
2import cartopy as cart
3import pyresample
4
5class LLCMapper:
6
7 def init(self, ds, dx=0.25, dy=0.25):
8 # Extract LLC 2D coordinates
9 lons_1d = ds.XC.values.ravel()
10 lats_1d = ds.YC.values.ravel()
11
12 # Define original grid
13 self.orig_grid = pyresample.geometry.SwathDefinition(lons=lons_1d, lats=lats_1d)
14
15 # Longitudes latitudes to which we will we interpolate
16 lon_tmp = np.arange(-180, 180, dx) + dx/2
17 lat_tmp = np.arange(-90, 90, dy) + dy/2
18
19 # Define the lat lon points of the two parts.
20 self.new_grid_lon, self.new_grid_lat = np.meshgrid(lon_tmp, lat_tmp)
21 self.new_grid = pyresample.geometry.GridDefinition(lons=self.new_grid_lon,
22 lats=self.new_grid_lat)
23
24 def call(self, da, ax=None, projection=cart.crs.Robinson(), lon_0=-60, **plt_kwargs):
25
26 assert set(da.dims) == set([‘face’, ‘j’, ‘i’]), “da must have dimensions [‘face’, ‘j’, ‘i’]“
27
28 if ax is None:
29 fig, ax = plt.subplots(figsize=(12, 6), subplot_kw={‘projection’: projection})
30 else:
31 m = plt.axes(projection=projection)
32
33 field = pyresample.kd_tree.resample_nearest(self.orig_grid, da.values,
34 self.new_grid,
35 radius_of_influence=100000,
36 fill_value=None)
37
38 vmax = plt_kwargs.pop(‘vmax’, field.max())
39 vmin = plt_kwargs.pop(‘vmin’, field.min())
40
41
42 x,y = self.new_grid_lon, self.new_grid_lat
43
44 # Find index where data is splitted for mapping
45 split_lon_idx = round(x.shape[1]/(360/(lon_0 if lon_0>0 else lon_0+360)))
46
47
48 p = ax.pcolormesh(x[:,], y[:,], field[:,],
49 vmax=vmax, vmin=vmin, transform=cart.crs.PlateCarree(), zorder=1, **plt_kwargs)
50 p = ax.pcolormesh(x[:,split_lon_idx:], y[:,split_lon_idx:], field[:,split_lon_idx:],
51 vmax=vmax, vmin=vmin, transform=cart.crs.PlateCarree(), zorder=2, **plt_kwargs)
52
53 ax.add_feature(cart.feature.LAND, facecolor=‘0.5’, zorder=3)
54 label = ”
55 if da.name is not None:
56 label = da.name
57 if ‘units’ in da.attrs:
58 label += ’ [%s]’ % da.attrs[‘units’]
59 cb = plt.colorbar(p, shrink=0.4, label=label)
60 return ax

1sst = ds.THETA.sel(time=‘2000-01-15’, k=0)
2mapper(sst, cmap=‘RdBu_r’)

未来开发计划

xgcm的未来开发路线计划主要集中在以下几个方面:

  1. 矢量微积分算子: 实现梯度、散度、旋度等矢量微积分算子,并使其能像分析方程一样被轻松使用。
  2. 自动网格度量处理: 进一步完善自动网格度量处理,提高用户操作的便捷性,并避免因网格不匹配导致的计算错误。
  3. 垂直坐标转换: 实现通用的垂直坐标转换功能,从而使用户可以更灵活地处理和分析数据。
  4. 更好的文档和示例: 提供更详尽的文档和示例,从而帮助用户更好地理解和使用 xgcm。
  5. 与其他软件包的集成: 加强与其他 Python 科学计算软件包(如 scipy、numpy 等)的集成,从而进一步扩展 xgcm 的功能。

相关链接

本公众号相关内容推荐#


title: “一个交互式地理空间数据可视化python工具包” published: 2025-03-08 description: "" image: “/images/一个交互式地理空间数据可视化python工具包/img_aed42cad.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#

****#

Leafmap是一个专为交互式地图和地理空间分析设计的Python包,旨在让用户能够在Jupyter环境中以最少的代码进行地理空间数据的分析和可视化。

Leafmap构建于多个开源包之上,包括:

  • Folium:基于Leaflet.js的交互式地图库
  • ipyleaflet:用于Jupyter环境的交互式地图小部件
  • WhiteboxTools和whiteboxgui:用于分析地理空间数据
  • ipywidgets:用于设计交互式图形用户界面(GUI)
  • GeoPandas:用于矢量数据操作
  • Rasterio:用于栅格数据处理

Leafmap允许用户无需编码即可将矢量和栅格数据加载到地图上。此外,用户可以利用强大的分析后端(即WhiteboxTools)直接在Leafmap用户界面中执行地理空间分析,而无需编写任何代码。WhiteboxTools库目前包含500多个用于高级地理空间分析的工具,如GIS分析、地貌分析、水文分析、LiDAR数据分析、数学和统计分析以及流网络分析。

安装方法#

Leafmap的安装过程简单,建议使用干净的环境以避免依赖冲突。

前提条件:

  • • Python 3.7或更高版本
  • • Jupyter 环境(如Jupyter Notebook或Google Colab)
  • • Conda包管理器

安装步骤:

创建新Conda环境

conda create -n geo python=3.9
conda activate geo

安装Leafmap及依赖

conda install -c conda-forge mamba
mamba install -c conda-forge leafmap geopandas localtileserver

核心功能#

1. 一键创建交互式地图

import leafmap
m = leafmap.Map()
m  # 在 Jupyter 中显示地图`

2. 多后端支持 (以kepler.gl为例)

import leafmap
import geopandas as gpd
# 创建一个 GeoDataFrame (示例数据)
data = {
    'City': ['New York', 'London', 'Tokyo'],
    'Latitude': [40.7128, 51.5074, 35.6895],
    'Longitude': [-74.0060, -0.1278, 139.6917]
}
gdf = gpd.GeoDataFrame(data, geometry=gpd.points_from_xy(data['Longitude'], data['Latitude']))
m = leafmap.Map(center=[0, 0], zoom=2, backend='kepler')  # 指定使用 kepler.gl
m.add_gdf(gdf, layer_name="Cities")
m

3. 交互式底图切换

import leafmap
m = leafmap.Map()
m.add_basemap("Stamen.Terrain") #添加Stamen.Terrain底图
m

4. 矢量和栅格数据支持 (以Shapefile和GeoTIFF为例)

import leafmap
m = leafmap.Map()
# 添加 Shapefile (你需要替换成你的 Shapefile 路径)
shapefile_path = "path/to/your/shapefile.shp"
m.add_shp(shapefile_path, layer_name="My Shapefile")
# 添加 GeoTIFF (你需要替换成你的 GeoTIFF 路径)
geotiff_path = "path/to/your/geotiff.tif"
m.add_raster(geotiff_path, layer_name="My Raster", colormap='terrain')
m

5. 自定义图例和颜色条

import leafmap
import matplotlib.pyplot as plt
m = leafmap.Map()
# 添加栅格数据 (使用示例数据, 或替换成你的栅格文件路径)
url = 'https://github.com/giswqs/data/raw/main/raster/srtm90.tif'
m.add_raster(url, layer_name='srtm', colormap='terrain')
# 添加自定义颜色条, 自定义范围和标签
colors = ['#006633', '#E5FFCC', '#662A00', '#D8D8D8', '#F5F5F5']  # 颜色列表
labels = ['Low', 'Medium', 'High', 'Very High', 'Extremely High']
m.add_colorbar(colors=colors, labels=labels, vmin=0, vmax=4000) #指定最小值和最大值.
m

6. 分屏和联动地图

import leafmap
# 创建两个地图
m1 = leafmap.Map(center=[40, -100], zoom=4, height="450px") #美国中心
m2 = leafmap.Map(center=[40, -100], zoom=4, height="450px")
# 添加不同的底图
m1.add_basemap("OpenStreetMap")
m2.add_basemap("Esri.WorldImagery")
#创建分割面板
leafmap.linked_maps([m1, m2]) #进行地图联动`

7. OpenStreetMap数据集成

import leafmap
m = leafmap.Map(center=[40.7128, -74.0060], zoom=14)  # New York City
#通过城市名称下载, 并添加到地图
m.add_osm_from_geocode("Manhattan, New York", layer_name="Manhattan")
m

8. 交互式矢量数据编辑

此功能需要在Jupyter中与地图进行交互操作, 以下代码仅为启动编辑功能的示例

import leafmap
m = leafmap.Map()
m.add_draw_control() #添加绘制工具, 允许用户在地图上进行交互式绘制
m

9. 地理空间数据搜索 (以 STAC 为例)

(此功能需要在Jupyter中使用搜索工具与地图进行交互操作)

import leafmap
m = leafmap.Map()
m.add_stac_layer(
   url="https://raw.githubusercontent.com/SpatialTemporalAssetCatalogs/stac-browser/main/examples/stac-load/catalog.json"
)
m

10. 栅格像素值交互式检查

import leafmap
m = leafmap.Map()
# 添加栅格数据 (使用示例数据, 或替换成你的栅格文件路径)
url = 'https://github.com/giswqs/data/raw/main/raster/srtm90.tif'
m.add_raster(url, layer_name="Elevation")
m

11. 专题地图和热力图 (以Choropleth map为例):

import leafmap
import geopandas as gpd
m = leafmap.Map()
url = "https://raw.githubusercontent.com/giswqs/leafmap/master/examples/data/us_states.json"
gdf = gpd.read_file(url)
m.add_gdf(gdf, "pop_est", layer_name="US States Population")
m

12. PostGIS 数据库集成:

假设已经有一个PostGIS数据库并配置好连接

import leafmap
import psycopg2
m = leafmap.Map()
# 数据库连接参数 (替换成你的实际参数)
db_params = {
    'host': 'your_host',
    'database': 'your_database',
    'user': 'your_user',
    'password': 'your_password',
    'port': 'your_port'
}
# SQL 查询 (替换成你的查询)
sql = "SELECT * FROM your_table"
m.add_postgis_layer(db_params, sql, layer_name="PostGIS Layer")
m

13. 时间序列动画 (以Raster为例):

import leafmap
import glob
import os
m = leafmap.Map(center=[40, -100], zoom=4)
# 假设你有一系列按时间顺序命名的 GeoTIFF 文件 (例如: image_2020.tif, image_2021.tif, ...)
# 你需要将这些文件放在一个文件夹中
image_folder = "path/to/your/image/folder" #文件路径
# 使用 glob 获取文件列表
images = glob.glob(os.path.join(image_folder, "*.tif"))
images.sort()  # 确保按时间顺序排列
# 创建时间序列
m.add_time_slider(images, time_interval=1) #每一张图片之间的时间间隔为1, 单位是秒.
m

14. 地理空间分析 (以WhiteboxTools为例, 计算坡度):

import leafmap
import whitebox
wbt = whitebox.WhiteboxTools() #实例化
# 设置 WhiteboxTools 工作目录 (可选, 如果已在环境变量中设置)
wbt.set_whitebox_dir("path/to/your/whitebox/directory")  # 替换成你的 WhiteboxTools 安装目录
# 输入和输出文件路径 (你需要替换成你的文件路径)
input_dem = "path/to/your/dem.tif"
output_slope = "path/to/output/slope.tif"
# 计算坡度
wbt.slope(input_dem, output_slope)
# 将结果添加到地图
m = leafmap.Map()
m.add_raster(output_slope, layer_name="Slope", colormap="gist_earth")
m

15. 遥感影像分割和分类 (需要segment-geospatial 包):

由于涉及到深度学习模型, 示例代码会比较长, 且需要预训练模型, 这里给出一个简化版的流程示意。

import leafmap
from samgeo import SamGeo, tms_to_geotiff #需要另外安装samgeo
# 下载示例图像
image = "satellite_image.tif"  # 替换成你的遥感影像文件
tms_to_geotiff(output=image, bbox=[-71.2255, 42.3425, -71.1996, 42.3592], zoom=17)
#  创建 SamGeo 对象
sam = SamGeo(
    model_type="vit_h",
    checkpoint="sam_vit_h_4b8939.pth",
    device=torch.device("cuda" if torch.cuda.is_available() else "cpu"),
)
# 设置影像
sam.set_image(image)
# 进行分割 (需要交互式指定种子点, 或使用自动生成的网格)
#    例如, 自动生成网格:
sam.generate_masks(foreground=True, erosion_kernel=(3, 3), mask_multiplier=255)
# 将结果转换为矢量
sam.masks_to_polygons(output="segmented_polygons.shp")
# 在 Leafmap 中显示
m = leafmap.Map()
m.add_raster(image, layer_name="Satellite Image")
m.add_vector("segmented_polygons.shp", layer_name="Segments")
m

16. 构建交互式Web应用 (以 Streamlit 为例):

import streamlit as st
import leafmap.foliumap as leafmap #使用folium
# 创建一个简单的 Streamlit 应用
st.title("Leafmap in Streamlit")
m = leafmap.Map()
m.add_basemap("OpenStreetMap")
# 将 Leafmap 地图添加到 Streamlit
m.to_streamlit(height=700)`

 

应用案例#

  • • 基于Leafmap的粒子动态可视化

  • • 三维可视化海底地形数据
  • • 加载数万个自定义样式的点数据
  • • 加载全球建筑物轮廓数据
  • • 三维可视化展示全球建筑物数据
  • • 使用MapLibre和Leafmap实现三维数据可视化
  • • 基于MapBox实现全球土地覆盖数据可视化
  • • 可视化农田边界数据

 

• 可视化云平台优化的Geotiff格式数据

 

References#

 

本公众号相关内容推荐#


title: “一个快速检索和下载NASA地球科学数据的Python软件包” published: 2024-01-30 description: “这个Python库的目标是简化对NASA地球科学数据的访问方式,使科学家们能够更轻松、更高效地利用这些丰富的数据资源进行研究和分析。” image: “/images/一个快速检索和下载NASA地球科学数据的Python软件包/img_b7328185.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#

NASA是世界领先的航空航天机构之一,致力于推动科学研究和探索。作为其开放数据政策的一部分,NASA为研究人员、开发者和公众提供丰富而庞大的数据资源。截至2023年10月,NASA的地球观测系统数据和信息系统(EOSDIS)中的数据总量已经超过了100PB,相当于约5000亿页的标准印刷文本。

NASA的数据可通过多种途径进行访问。Earthdata Search是由NASA的地球科学数据系统(ESDS)计划创建和管理的资源之一,提供亚秒级的数据检索和发现功能。此外,通过NASA的分布式活动存档中心(DAACs)提供的工具,以及在Earthdata Forum上直接向NASA专家提问问题,用户可以更便捷地发现所需数据。

地球科学数据系统(ESDS)

阿拉斯加卫星设施数据归档中心

物理海洋数据归档中心

为了让使用者更加方便地访问数据,NASA还提供了代码和应用程序编程接口(APIs),使开发人员能够搜索、转换和访问数据。本文介绍一个由美国国家冰雪数据归档中心(NSIDC DAAC)、阿拉斯加卫星设施数据归档中心(ASF DAAC)、海洋生物学数据归档中心(OB.DAAC)和大气科学数据归档中心(ASDC)联合用户社区共同开发的一个快速检索和获取NASA地球科学数据资源的Python API库-earthaccess。这个Python库的目标是简化对NASA地球科学数据的访问方式,使科学家们能够更轻松、更高效地利用这些丰富的数据资源进行研究和分析。

  • 安装

安装earthaccess需要python3.8或以上版本。

使用anaconda安装:

conda install -c conda-forge earthacces

或使用pip安装:

pip install earthaccess
  • 使用

使用earthaccess仅需三个步骤。

import earthaccessearthaccess.login()

第二步,在代码中配置数据检索条件参数,如数据名称、时间范围、空间范围、下载文件个数等。

#输入查询条件results = earthaccess.search_data( short_name='SEA_SURFACE_HEIGHT_ALT_GRIDS_L4_2SATS_5DAY_6THDEG_V_JPL2205', bounding_box=(-10, 20, 10, 50), temporal=("2018-02", "2019-03"), count=20)

第三步,下载数据文件到本地文件系统:

earthaccess.download(results, "./local_folder")
  • 应用案例

    1. 在Jupyter环境使用:

下载数据文件到本地

   2. 使用集成earthaccess的图形界面:

    3. 使用earthaccess获取数据后形成数据应用可视化软件

References:

欢迎关注****小红书账号“科学数据之美”观看本文视频内容!


本公众号关于数据可视化相关内容:


title: “一个提供超过50PB地理空间数据的云平台” published: 2025-02-24 description: "" image: “/images/一个提供超过50PB地理空间数据的云平台/img_a99f9467.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#

****#

随着气候变化、生物多样性丧失和资源管理等全球性挑战日益严峻,技术创新成为应对这些问题的关键驱动力。微软的Planetary Computer(行星计算机) 是其AI for Earth计划的重要组成部分,旨在通过云计算、人工智能和地理空间数据,为科学研究和可持续发展提供强大支持。该平台整合了超过50PB的地理空间和环境数据,提供了直观的API接口和可扩展的计算环境,使研究人员、开发者能够以前所未有的规模监测、建模和管理地球生态系统。

本文将介绍Planetary Computer的技术架构、数据目录、API功能及其应用场景。

什么是Planetary Computer#

Planetary Computer是一个基于微软Azure云计算基础设施的云原生平台,专为处理地理空间和环境数据的时空复杂性而设计。它通过整合PB级的数据目录、直观的AP 和强大的计算能力,将原始数据转化为可操作的洞察。例如,用户可以利用它分析卫星影像以追踪森林砍伐,或结合气候模型预测水资源可用性。平台于2020年发布,面向全球科研社区提供开放资源访问。

其核心组件包括:

  • •**数据目录:**超过50PB 的分析就绪地理空间数据。
  • •**STAC API:**基于 REST 的时空查询接口。
  • •**云计算环境:**支持分布式计算(JupyterHub于2024年6月停止服务,但数据和API仍可用)。
  • •**应用生态:**与合作伙伴开发数据应用软件工具,应用于实际场景。

主要功能组成#

Planetary Computer的架构充分利用了Azure的云计算基础设施,结合地理空间数据的特性,提供了高效、可扩展的数据分析云平台环境。

1. 数据目录与存储#

数据目录是Planetary Computer的基础,存储在Azure Blob Storage中,总量超过50PB,涵盖卫星影像、气候模型和生物多样性记录等。数据采用云优化格式,确保高效访问:

  • •**COG(云优化 GeoTIFF):**分块存储的栅格格式,支持 HTTP 范围请求,适用于 Sentinel-2 和 Landsat 等影像数据。
  • •**Zarr:**分片多维数组,适合时间序列数据,如 ECMWF ERA5 气候再分析。
  • •**Parquet/GeoParquet:**列式存储格式,用于表格数据(如 GBIF 生物多样性记录)或矢量数据(如 Open Buildings)。

数据遵循STAC(时空资产目录)标准,以JSON格式组织元数据。每个STAC Item代表一个独立资产,例如:

{
  "id":"S2A_MSIL2A_20250101T123456",
"bbox":[-55,-15,-50,-10],
"properties":{"datetime":"2025-01-01T12:34:56Z","eo:cloud_cover":10},
"assets":{"B04":{"href":"https://.../B04.tif","type":"image/tiff"}}
}

Collection则聚合相关Item(如所有 Sentinel-2 L2A 数据),由Azure Cosmos DB索引支持快速查询。

数据汇聚流程包括:

  • •**采集:**从数据提供者(如 USGS、ESA)获取原始数据。
  • •**预处理:**通过Azure Data Factory进行投影、切片和格式转换等预处理。
  • •**存储:**以云优化格式写入Blob Storage,资产URL附带SAS令牌(24小时有效)。

2. STAC API:数据访问接口#

STAC API是Planetary Computer的动态查询接口,部署在Azure App Service上,使用FastAPI实现,地址为:
https://planetarycomputer.microsoft.com/api/stac/v1。它将静态 STAC 目录转化为可编程服务,支持以下主要端点:

  • •**根路径 (/):**返回目录概览和链接。
  • •**集合 (/collections):**列出数据集,如sentinel-2-l2a、landsat-c2-l2。
  • •**搜索 (/search):**支持时空和属性过滤,接受 GET 或 POST 请求。

**搜索示例:**查询2025年亚马逊地区云覆盖低于20%的Sentinel-2数据:

from pystac_client import Client
client = Client.open("https://planetarycomputer.microsoft.com/api/stac/v1")
search = client.search(
    collections=["sentinel-2-l2a"],
    bbox=[-55, -15, -50, -10],
    datetime="2025-01-01/2025-02-23",
    query={"eo:cloud_cover": {"lt": 20}}
)
items = list(search.items())

返回GeoJSON FeatureCollection,包含匹配的STAC Items。

3. 云计算分析环境#

在2024年6月之前,Planetary Computer Hub提供基于JupyterHub的计算环境,运行在Azure Kubernetes Service (AKS) 上,使用Standard_D4s_v5虚拟机(4 vCPU,16 GB RAM),预装 pystac-client、dask和xarray等工具。JupyterHub停止服务后,用户需要自行配置计算资源,例如:

  • • Azure Machine Learning:支持 GPU 加速的模型训练。
  • • Dask 集群:通过 dask_cloudprovider 在 Azure VM Scale Sets 上部署:
from dask_cloudprovider.azure import AzureVMCluster
cluster = AzureVMCluster(vm_size="Standard_D4s_v5", n_workers=4)

性能优化:

  • •**分块:**COG 和 Zarr 数据预分片(如 256x256 像素),减少 I/O 开销。
  • •**协同定位:**存储和计算在同一Azure区域(如East US),延迟低于10ms。
  • •**并行处理:**Dask 调度任务至多核或多节点。

4. 平台使用示例#

以下示例展示如何使用Planetary Computer计算亚马逊地区的归一化植被指数(NDVI):

  • 查询数据
from pystac_client import Client
client = Client.open("https://planetarycomputer.microsoft.com/api/stac/v1")
search = client.search(
    collections=["sentinel-2-l2a"],
    bbox=[-55, -15, -50, -10],
    datetime="2025-01-01/2025-02-23",
    query={"eo:cloud_cover": {"lt": 20}}
)
items = list(search.items())
  • 加载数据
    使用stackstac将STAC Items转为Dask支持的xarray.DataArray:
import stackstac
stack = stackstac.stack(items, bounds_latlon=[-55, -15, -50, -10])
  • 计算NDVI
    NDVI = (NIR - Red) / (NIR + Red),其中NIR为B08波段,Red为B04波段:
nir = stack.sel(band="B08")
red = stack.sel(band="B04")
ndvi = (nir - red) / (nir + red)
  • 并行执行
mean_ndvi = ndvi.mean(dim=["x", "y"]).compute()

对每个时间点或区域,计算其所有空间像素的NDVI平均值。

.compute()方法触发实际的分布式计算。在Dask中,大多数操作都是”懒惰执行”的,意味着它们只是定义了计算,而不是立即执行。只有当调用.compute()时,计算才会在分布式工作节点集群上实际执行。

整个计算过程被分配到多个计算节点上并行执行,大大提高了处理效率。

这种方式结合了Azure Blob Storage的高吞吐量I/O能力和Dask的任务调度功能,能够在几分钟内处理TB级别的大规模地理空间数据。

部分数据目录列表

References#

 

本公众号相关内容推荐#


title: “一种基于图神经网络的三维建筑模型重建方法” published: 2024-10-15 description: "" image: “/images/一种基于图神经网络的三维建筑模型重建方法/img_9e30c53d.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#


三维(3D)建筑模型构成了塑造数字孪生城市的重要基础设施,促进了广泛的应用,包括城市规划、能源需求估算和环境分析。因此,高效重建高质量的3D建筑模型对于理解城市环境至关重要,这一直是一个长期存在的挑战。 

大多数重建方法致力于由密集三角形表示的详细表面,而不考虑建筑环境中普遍存在的分段平面性。另一方面,具有稀疏参数的紧凑多边形表示可以充分捕捉城市建筑的几何形状。为了重建紧凑的多边形建筑模型,实践中通常采用三类方法。约束重建方法使用预定义的模板或特定拓扑来表示建筑。然而,可用模板或拓扑的有限种类限制了这些方法的表达能力。几何简化方法旨在通过简化密集三角形表面来获得紧凑表面。然而,这些技术需要在几何和拓扑上都精确的输入模型,以确保忠实的近似。图元组装方法通过追求几何图元集合的最优组装来生成多边形表面模型。然而,这些方法往往需要使用手工制作的特征,因此具有有限的表示能力。 

来自慕尼黑工业大学和代尔夫特理工大学的研究人员开发了一种名为PolyGNN的新方法,用于从点云数据重建3D建筑模型。这种基于图神经网络的方法旨在高效地大规模生成紧凑、封闭的多边形模型。

主要创新点#

  1. 基于多面体的表示:PolyGNN不是学习连续的隐式函数,而是学习由3D空间多面体分解得到的分段平面占用函数。这减少了计算复杂性和解决方案的模糊性。
  2. 基于骨架的采样:为了在神经网络中一致地表示任意多面体,研究人员提出沿每个多面体的骨架(顶点和主轴)采样代表性点。这有效地捕获了关键的几何信息。
  3. 端到端图神经网络:PolyGNN将建筑重建框定为图节点分类问题,其中多面体是图节点。它以端到端的方式学习组装多面体以实现紧凑重建。
  4. 自适应批处理:该网络使用基于索引的批处理技术来适应可变大小的输入(点、多面体、查询),实现高效处理。

主要方法流程#

PolyGNN流程包括两个主要阶段:

  • 多面体图编码:从多面体分解构建图,并通过在学习到的形状潜在编码上调节多面体查询来编码节点特征。
  • 图节点分类:将多面体(图节点)分类为内部或外部以估计建筑占用,同时利用节点特征和多面体间的邻接关系。

上图为PolyGNN的架构。给定输入点云,通过多面体分解构建图拓扑,其中多面体作为图节点。节点特征通过在形状潜在编码上调节多面体查询来形成。利用编码的节点特征和多面体间的邻接关系,对图节点进行分类以估计建筑占用。空间分割和表面提取是两个外部求解器。

结论#

  • 与最先进方法相比,效率更高,尤其是在大规模重建方面
  • 几何精度与现有方法相当或更好
  • 在不同城市区域测试时表现出强大的跨城市迁移能力
  • 对点云密度变化和缺失数据具有鲁棒性

研究人员在合成和真实世界的LiDAR点云数据集上验证了PolyGNN,证明了它在高效大规模城市建模方面的有效性。该方法在城市规划、能源需求估算和环境分析等应用中显示出潜力。

虽然PolyGNN推进了3D建筑重建的最新技术,但在处理非常复杂的建筑结构以及缩小合成训练数据与真实世界点云之间的差距方面仍然存在挑战。未来的工作可能会集中在集成语义属性和将平面提取纳入神经架构中,以进一步增强重建能力。

References:


本公众号相关内容推荐#


title: “三维可视化Python库-PyVista” published: 2024-01-03 description: “本文介绍一个常用的Python三维可视化工具库PyVista,已被1400多个开源项目集成使用,可用于计算机辅助工程、地球物理模型数据交互式可视化和数字艺术品可视化等领域。” image: “/images/三维可视化Python库-PyVista/img_6566f04b.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#

Python提供了多种三维可视化工具,主要基于图形处理库WebGL、OpenGL或者VTK。这些工具主要用于大规模空间标量数据、向量场数据、张量场数据等的可视化,实际应用场景包括海洋大气建模、飞机模型设计、桥梁设计、电磁场分析等。本文介绍一个常用的Python三维可视化工具库PyVista,已被1400多个开源项目集成使用,可用于计算机辅助工程、地球物理模型数据交互式可视化和数字艺术品可视化等领域。PyVista 是可视化工具包(VTK)的辅助模块,它通过NumPy封装 VTK 库,并通过各种方法和类直接访问数组。该软件包提供了一个Pythonic的、文档齐全的接口,用于公开VTK强大的可视化后端,以促进空间引用数据集的快速原型设计、分析和可视化集成,能够实现基于Python的网格分析和三维图的绘制。目前,越来越多的用户使用PyVista来实现三维数据/模型的可视化,生成出版物质量的插图,自动化分析工作流程,并利用PyVista的三维功能构建自定义应用程序。PyVista 可在Python3.8及以上版本使用pip从PyPI安装:

pip install pyvista

也可以通过Anaconda安装:

conda install -c conda-forge pyvista

以下是使用PyVista进行数据三维可视化的Demo。

1.基于CMIP6数据的氧气最小区(Oxygen Minimum Zone)可视化

2.基于MITGCM数据的粗粒度通道模拟(Coarse-Grained Channel Simulation)

3. 在40 秒内渲染完成40天的热带环流通道数据(Cyclic Tropical Channel)

4. 栅格数据三维可视化

5. 物理模型数据三维可视化

6. 大脑活动数据三维可视化

7. 基于Jupyter Notebook/Lab的数据三维可视化

以上,供参考。更多Demo可联系作者获取。

Reference:

Sullivan and Kaszynski, (2019). PyVista: 3D plotting and mesh analysis through a streamlined interface for the Visualization Toolkit (VTK). Journal of Open Source Software, 4(37), 1450, https://doi.org/10.21105/joss.01450====三维海洋温度可视化.md====


title: “三维海洋温度可视化” published: 2022-02-12 description: “该可视化通过渲染冷暖色调的海洋温度来描述这些活跃的上层海洋湍流环流。蓝色代表较冷(密度大)的水,主要存在于较深或高纬度的海洋中。红色代表在海洋上层发现的较温暖的海水。” image: “/images/三维海洋温度可视化/img_03687673.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#

海洋是湍动的,在上层海洋的最初几百米,活跃的中小尺度(<~100公里)海洋环流可以在海面和深海之间输送热量、碳和营养物质等。这些垂直交换为全球海洋通风,支持海洋生态系统,并调节地球的气候。

该可视化通过渲染冷暖色调的海洋温度来描述这些活跃的上层海洋湍流环流。蓝色代表较冷(密度大)的水,主要存在于较深或高纬度的海洋中。红色代表在海洋上层发现的较温暖的海水。海洋锋面,类似于大气层中产生强风和天气的锋面,是在海洋上层的冷水和暖水侧向相遇时形成的。这些锋面及其演变与强烈的垂直混合和输送有关。该可视化的数据来源于1/48度分辨率的全球海洋数值模拟结果-ECCO Project’s 1/48° MITgcm Simulation (aka llc4320),时间范围为2012年7月1日至9月13日。====中科院青岛科教园实拍.md====#

title: “中科院青岛科教园实拍” published: 2021-07-25 description: “中国科学院青岛科教园由中国科学院和青岛市人民政府共同建设,中国科学院海洋研究所等相关涉海研究所为承建单位。园区位于青岛西海岸新区古镇口军民融合示范区,占地2000亩。” image: “/images/中科院青岛科教园实拍/img_296f6a2a.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#

建议横屏观看。

中国科学院青岛科教园由中国科学院和青岛市人民政府共同建设,中国科学院海洋研究所等相关涉海研究所为承建单位。园区位于青岛西海岸新区古镇口军民融合示范区,占地2000亩。

青岛科教园将建设“一集群两院三中心”。“一集群”即中国科学院海洋研究所等13家涉海研究所交叉研究集群。 “两院”即中国科学院大学海洋学院和先进技术学院。“三中心”即青岛科教园发展中心、海洋创客中心和产业研发中心。

中国科学院大学海洋学院依托海洋大科学研究中心核心单元和交叉集群科研力量和人才队伍,建设了海洋基础学科和特色领域方向并举的教研室,将遴选海洋所与中科院涉海单位最优秀的一线科技专家,通过深度的科教融合和国际化发展,打造海洋科学高等教育国际品牌,带动我国海洋科技事业和海洋领域高等教育事业高质量发展。 

青岛科教园将通过科教融合新机制,依托中国科学院在海洋科学领域集群优势,联合科研攻关和技术研发,引领海洋科学发展;创新多元培养模式,为我国海洋事业培养高层次科研和技术人才;促进科技成果转移转化,推动我国海洋产业创新发展。====主流大气海洋数值模式.md====#

title: “主流大气海洋数值模式” published: 2025-12-22 description: "" image: “/images/主流大气海洋数值模式/img_6b134aec.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#

数值模式是现代气象海洋预报业务的核心技术支撑,经过数十年的发展,国际国内已形成了较为完善的数值预报模式体系。本文系统梳理了大气海洋领域主流数值模式的技术现状,涵盖全球大气模式、区域大气模式、全球海洋环流模式、美国海军海洋预报系统、区域海洋模式、海浪模式、海气耦合模式,从模式简介、预报要素、预报能力、技术路线等维度进行全面分析,为相关领域的科研与业务应用提供参考。


一、全球大气数值预报模式#

1.1 ECMWF IFS(欧洲中期天气预报中心综合预报系统)#

ECMWF IFS(Integrated Forecasting System)是由欧洲中期天气预报中心开发和运行的全球大气数值预报系统,被国际气象界公认为当前最先进、最准确的全球数值天气预报模式。该系统自1979年开始业务运行,历经多次重大升级,目前已发展成为集确定性预报、集合预报、再分析于一体的综合预报平台。

预报要素#

  • • 三维大气场:温度、湿度、风场、位势高度、垂直速度
  • • 地面要素:2米温度、10米风、海平面气压、降水、云量
  • • 辐射要素:短波辐射、长波辐射
  • • 土壤变量:土壤温度、土壤湿度
  • • 海洋表面:海表温度、海冰覆盖

预报能力#

预报类型水平分辨率垂直层数预报时效更新频次
高分辨率确定性预报9 km (TCo1279)137层10天每日2次
集合预报18 km91层15天每日2次
延伸期预报36 km91层46天每周2次
季节预报36 km91层7个月每月1次

技术特点#

  • • 动力框架:采用谱变换方法,使用三次八面体高斯网格(TCo)
  • • 垂直坐标:混合σ-p坐标系统
  • • 物理过程参数化:包含完整的辐射传输、对流参数化、边界层、云微物理、重力波拖曳等方案
  • • 资料同化:采用四维变分同化(4D-Var),同化窗口12小时
  • • 耦合系统:与NEMO海洋模式、海冰模式实现耦合

1.2 NCEP GFS(美国全球预报系统)#

GFS(Global Forecast System)是美国国家环境预报中心(NCEP)运行的全球数值天气预报系统,是美国国家气象局业务预报的核心工具。GFS的预报数据完全免费公开,被全球气象机构和研究人员广泛使用,是国际上应用最广泛的全球预报数据源之一。

预报要素#

  • • 大气变量:温度、比湿、风分量、位势高度、垂直速度、臭氧混合比
  • • 地面变量:2米温度/湿度、10米风、海平面气压、总降水、积雪
  • • 云和辐射:云水/云冰含量、短波/长波辐射通量
  • • 土壤变量:多层土壤温度和湿度

预报能力#

预报类型水平分辨率垂直层数预报时效更新频次
确定性预报13 km127层16天每日4次
集合预报(GEFS)25 km64层16天每日4次

技术特点#

  • • 动力框架:有限体积立方球(FV3)动力核心
  • • 垂直坐标:混合σ-p坐标
  • • 物理过程:采用NOAA环境建模系统(NEMS)物理包
  • • 资料同化:混合集合-变分同化系统(Hybrid EnKF-3DVar)
  • • 发展方向:正向统一预报系统(UFS)框架过渡

1.3 DWD ICON(德国气象局全球数值预报系统)#

ICON(ICOsahedral Nonhydrostatic)是德国气象局(DWD)与马克斯·普朗克气象研究所联合开发的新一代全球数值天气预报和气候模拟系统。ICON采用创新的二十面体三角形网格,可实现从全球到区域的无缝嵌套预报,代表了数值预报模式发展的新方向。

预报要素#

  • • 三维大气场:温度、风、湿度、云水、云冰、雨水、雪
  • • 地面变量:气压、降水、辐射、地表通量
  • • 土壤变量:多层土壤温度和水分
  • • 特殊要素:雷暴指数、积雪深度、雾

预报能力#

预报类型水平分辨率垂直层数预报时效覆盖范围
ICON全球13 km90层7.5天全球
ICON-EU6.5 km60层5天欧洲
ICON-D22.2 km65层48小时德国

技术特点#

  • • 网格系统:二十面体三角形网格,支持局部加密
  • • 动力框架:非静力平衡方程组,适用于高分辨率模拟
  • • 垂直坐标:地形追随高度坐标(SLEVE坐标)
  • • 物理过程:全套物理参数化方案,针对不同分辨率可调
  • • 并行计算:高效MPI并行化,正在推进GPU加速

1.4 CMA GRAPES(中国气象局全球/区域同化预报系统)#

GRAPES(Global/Regional Assimilation and PrEdiction System)是中国气象局自主研发的新一代数值天气预报系统,包括全球模式和区域模式两个版本。GRAPES是中国数值预报业务的核心系统,在台风路径预报、东亚季风区降水预报等方面具有独特优势。

预报要素#

  • • 基本气象要素:温度、湿度、风、气压、位势高度
  • • 降水要素:总降水、对流降水、大尺度降水
  • • 云和辐射:云量、云水、辐射通量
  • • 地面要素:2米温度/湿度、10米风、地表温度
  • • 特色产品:台风路径强度预报、暴雨落区预报

预报能力#

预报类型水平分辨率垂直层数预报时效更新频次
GRAPES_GFS全球25 km60层10天每日2次
GRAPES_MESO区域3 km50层84小时每日8次
GRAPES_TYM台风9 km45层126小时每日4次

技术特点#

  • • 动力框架:半隐式半拉格朗日差分格式
  • • 网格系统:全球采用经纬度网格,区域采用兰伯特投影
  • • 物理过程:自主发展的物理参数化方案体系
  • • 资料同化:三维变分同化(3D-Var)和四维变分同化(4D-Var)
  • • 发展目标:实现公里级全国精细化预报

1.5 其他主要全球大气模式#

1.5.1 JMA GSM(日本气象厅全球谱模式)#

  • • 简介:日本气象厅运行的全球谱模式,在西太平洋台风预报方面具有优势
  • • 分辨率:约20 km,100垂直层
  • • 预报时效:11天
  • • 特点:对东亚地区天气系统有较好的预报能力

1.5.2 UKMO UM(英国气象局统一模式)#

  • • 简介:英国气象局开发的统一模式系统,可用于天气预报和气候模拟
  • • 分辨率:全球约10 km,区域1.5 km
  • • 特点:在欧洲和北大西洋地区预报表现优异

1.5.3 ECCC GEM(加拿大环境与气候变化部全球环境多尺度模式)#

  • • 简介:加拿大气象部门的业务预报模式
  • • 分辨率:全球25 km,区域2.5 km
  • • 特点:在北美地区,特别是极地天气预报方面有独特优势

1.5.4 Météo-France ARPEGE(法国气象局全球模式)#

  • • 简介:法国气象局的全球谱模式
  • • 特点:采用拉伸网格技术,在欧洲地区分辨率更高

二、区域大气数值预报模式#

2.1 WRF(天气研究与预报模式)#

WRF(Weather Research and Forecasting Model)是由美国国家大气研究中心(NCAR)、NOAA、美国空军等多家机构联合开发的中尺度数值天气预报系统。WRF是目前国际上应用最广泛的开源区域大气模式,被全球数百家研究机构和业务部门使用。

预报要素#

  • • 三维大气变量:温度、风、湿度、气压、各类水凝物
  • • 地面变量:2米温度/湿度、10米风、降水、辐射
  • • 边界层变量:边界层高度、湍流动能
  • • 扩展应用:空气质量(WRF-Chem)、水文(WRF-Hydro)、太阳能(WRF-Solar)

预报能力#

应用尺度典型分辨率预报时效应用场景
中尺度10-30 km3-5天区域天气预报
对流尺度1-4 km24-72小时强对流天气预报
精细尺度100-500 m12-24小时城市气象、风能评估

技术特点#

  • • 动力框架:完全可压缩非静力方程组
  • • 网格系统:Arakawa C网格,支持多重嵌套
  • • 垂直坐标:地形追随质量坐标
  • • 物理过程:模块化设计,提供多种参数化方案可选
  • • 资料同化:配套WRFDA系统,支持3D-Var、4D-Var、混合同化
  • • 并行计算:基于MPI的分布式并行

2.2 HRRR(高分辨率快速更新模式)#

HRRR(High-Resolution Rapid Refresh)是NOAA运行的美国本土高分辨率业务预报模式,专门针对对流尺度天气现象的短临预报。

预报能力#

  • • 水平分辨率:3 km
  • • 垂直层数:50层
  • • 预报时效:18-48小时
  • • 更新频次:每小时更新
  • • 覆盖范围:美国本土

技术特点#

  • • 基于WRF-ARW动力核心
  • • 采用雷达资料同化技术
  • • 专注于对流天气的短临预报

三、全球海洋环流数值模式#

3.1 HYCOM(混合坐标海洋模式)#

HYCOM(HYbrid Coordinate Ocean Model)是由美国迈阿密大学、海军研究实验室等机构联合开发的全球海洋环流模式。HYCOM的核心创新在于采用混合垂直坐标系统,能够在不同海域自适应选择最优的垂直坐标类型,是美国海军实时海洋预报系统(RTOFS)的核心模式。

预报要素#

  • • 三维海洋场:温度、盐度、海流(u、v、w分量)
  • • 海面要素:海表温度(SST)、海表盐度(SSS)、海面高度(SSH)
  • • 混合层变量:混合层深度、混合层温度
  • • 中尺度特征:涡旋、锋面、海流边界

预报能力#

系统名称水平分辨率垂直层数预报时效覆盖范围
GLBv0.081/12° (~9 km)41层7天全球
RTOFS1/12°41层8天全球
GoM HYCOM1/25° (~4 km)40层5天墨西哥湾

技术特点#

  • • 垂直坐标:混合坐标系统(Hybrid)
  • • 深海:等密度面坐标(有利于保持水团特性)
  • • 近岸浅水:z坐标或σ坐标
  • • 混合层:固定深度坐标
  • • 水平网格:Arakawa C网格
  • • 数值方法:有限差分法,二阶精度
  • • 资料同化:Navy Coupled Ocean Data Assimilation(NCODA)
  • • 耦合能力:可与大气模式(如COAMPS)、海浪模式耦合

3.2 MOM6(模块化海洋模式第6版)#

MOM6(Modular Ocean Model version 6)是美国NOAA地球流体动力学实验室(GFDL)开发的新一代模块化海洋环流模式。MOM6已被选定为美国下一代统一预报系统(UFS)的海洋分量模式,代表了海洋数值模式的发展趋势。

3.2.1 预报要素#

  • • 三维物理场:位温、盐度、三维流速
  • • 海面变量:SSH、SST、SSS、海面热通量
  • • 混合过程:垂直混合系数、边界层深度
  • • 示踪物:支持任意数量的被动示踪物

3.2.2 预报能力#

应用系统水平分辨率垂直层数预报时效用途
CFSv3(规划)1/4°75层季节尺度气候预测
涡旋分辨1/12°75层中期中尺度过程研究
高分辨率1/48°75层研究亚中尺度过程

技术特点#

  • • 垂直坐标:任意拉格朗日-欧拉(ALE)方法
  • • 支持z*坐标、等密度面坐标、σ坐标及其混合
  • • 可动态调整垂直网格
  • • 水平网格:C网格离散
  • • 数值方法:有限体积法,保证守恒性
  • • 物理过程:完整的混合参数化、涡旋参数化
  • • 代码架构:现代化Fortran,高度模块化

3.3 NEMO(欧洲海洋模式)#

NEMO(Nucleus for European Modelling of the Ocean)是欧洲多国联合开发的海洋模式框架,由法国国家科研中心(CNRS)牵头。NEMO是ECMWF业务耦合系统和哥白尼海洋服务(CMEMS)的核心海洋模式。

3.3.1 预报要素#

  • • 海洋物理:温度、盐度、流速、海面高度
  • • 海冰变量:海冰浓度、厚度、漂移速度
  • • 生物地球化学:营养盐、浮游生物、溶解氧(通过PISCES模块)
  • • 波浪相互作用:Stokes漂流、波浪混合

3.3.2 预报能力#

应用系统分辨率预报时效运行机构
ECMWF耦合系统1/4°季节ECMWF
CMEMS全球1/12°10天Mercator Ocean
CMEMS区域1/36°7天各区域中心

技术特点#

  • • 模块组成
  • • OPA:海洋物理引擎
  • • SI³:海冰模块
  • • TOP:示踪物和生态模块
  • • 网格系统:支持ORCA全球网格、区域网格
  • • 资料同化:与NEMOVAR系统集成
  • • 并行化:MPI并行,正在推进GPU移植(PSyclone)

3.4 MITgcm(MIT通用环流模式)#

MITgcm(MIT General Circulation Model)是由美国麻省理工学院(MIT)开发的通用流体环流数值模式。该模式的独特之处在于采用”流体同构”(fluid isomorphisms)设计理念,使用同一套流体动力学核心既可以模拟大气环流,也可以模拟海洋环流。MITgcm是国际上最早实现非静力海洋模拟的模式之一,其自动生成的伴随模式使其成为海洋资料同化研究的重要工具。模式代码采用Fortran语言编写,完全开源,在GitHub上公开维护。

预报要素#

  • • 三维物理场:温度、盐度、三维流速(u、v、w)
  • • 海面变量:海表高度、海表温度、海表盐度
  • • 示踪物:支持任意数量的被动和主动示踪物
  • • 海冰变量:海冰浓度、厚度(通过海冰模块)
  • • 生物地球化学:通过耦合模块实现营养盐、浮游生物等模拟

预报能力#

应用类型典型分辨率垂直层数应用场景
全球涡旋分辨1/12°-1/48°50-90层全球环流、中尺度涡旋
区域高分辨率1-5 km35-100层近岸环流、内波模拟
非静力模拟10-100 m可变对流、混合过程研究
ECCO同化系统50层全球海洋状态估计

技术特点#

  • • 动力框架
  • • 基于不可压缩Navier-Stokes方程
  • • 支持静力和非静力模式切换
  • • 通过高度-压力坐标同构,同一核心可用于大气和海洋
  • • 数值方法
  • • 有限体积法离散,保证局部和全局守恒
  • • Arakawa C网格水平离散
  • • z坐标垂直离散(支持部分格子处理地形)
  • • 网格系统
  • • 支持球面极坐标网格
  • • 支持立方球面网格(cube-sphere grid),避免极点奇异性
  • • 支持正交曲线坐标
  • • 上边界处理
  • • 刚盖近似
  • • 线性自由面
  • • 非线性自由面(精确处理)
  • • 伴随模式
  • • 通过自动微分技术(TAF/OpenAD)自动生成伴随代码
  • • 广泛应用于ECCO(Estimating the Circulation and Climate of the Ocean)项目
  • • 并行计算:高效MPI并行化,已在多种超算平台(包括GPU)上运行

主要应用#

  • • ECCO项目:全球海洋状态估计,提供1992年至今的海洋再分析产品
  • • LLC4320模拟:1/48°全球高分辨率模拟,用于亚中尺度过程研究
  • • 内波研究:利用非静力能力模拟内孤立波生成和传播
  • • 海气相互作用:大气-海洋耦合模拟

3.5 LICOM(中科院大气物理所气候系统海洋环流模式)#

LICOM(LASG/IAP Climate system Ocean Model)是中国科学院大气物理研究所大气科学和地球流体力学数值模拟国家重点实验室(LASG)自主研发的全球海洋环流模式。自20世纪80年代末开始发展,历经五代更新,目前最新版本为LICOM3.0。LICOM是我国唯一自主发展的全球海洋环流模式,是中国地球系统模式(CAS-ESM)和气候系统模式(CAS-FGOALS)的海洋分量模式,已广泛参与国际耦合模式比较计划(CMIP6)和海洋模式比较计划(OMIP)。

预报要素#

  • • 三维物理场:位温、盐度、纬向流速、经向流速
  • • 海面变量:海表温度、海表盐度、海面高度
  • • 混合层变量:混合层深度、混合层热含量
  • • 示踪物:支持被动示踪物模拟(如氚、14C等)
  • • 中尺度特征:涡旋、西边界流(黑潮、湾流)

预报能力#

模式版本/配置水平分辨率垂直层数覆盖范围主要用途
LICOM3.0低分辨率30层全球气候模拟、长期积分
LICOM3.0涡分辨1/10° (~10 km)55层准全球中尺度涡旋研究
LICOM3.0超高分辨率3-5 km55层全球次中尺度过程研究
LICOM变分辨率0.02°-0.1°55层全球(区域加密)区域精细化模拟
LFS预报系统1/10°55层全球1-15天海洋环境预报

技术特点#

  • • 动力框架
  • • 基于Boussinesq近似的原始方程组
  • • 采用二阶精度有限差分格式
  • • 半隐式时间积分方案
  • • 网格系统
  • • 早期版本采用经纬度网格
  • • 最新版本采用三极网格(Tripolar Grid),将北极点一分为二置于北美和欧亚大陆
  • • 支持变分辨率网格技术,可实现区域加密
  • • 垂直坐标:z坐标,表层5米等间距,向深海逐渐加厚
  • • 物理过程参数化
  • • KPP垂直混合方案
  • • GM涡旋参数化(低分辨率版本)
  • • Redi等密度面扩散
  • • 并行计算
  • • 高效MPI并行化
  • • 已实现GPU异构计算移植(LICOM3-HIP),在国产超算上运行
  • • 2020年获中科院先导杯并行计算大奖赛一等奖

主要应用#

  • • CMIP6贡献:作为CAS-ESM和CAS-FGOALS的海洋分量参与CMIP6多项试验
  • • OMIP比较:整体模拟性能达到国际同等分辨率模式水平
  • • LFS预报系统:国内首个自主的全球高分辨海洋环境预报系统,提供1-15天预报
  • • 黑潮模拟:高分辨率版本能够重现黑潮大弯曲现象及其年际变化
  • • 地球系统数值模拟装置:作为核心海洋模式支撑国家重大科技基础设施

3.6 OFES(地球模拟器海洋模式)#

OFES(OGCM for the Earth Simulator)是日本海洋研究开发机构(JAMSTEC)基于美国GFDL开发的MOM3模式,专门针对日本”地球模拟器”超级计算机优化的全球涡旋分辨海洋环流模式。OFES项目自2002年地球模拟器启用后开始运行,是国际上最早开展多年代际涡旋分辨全球海洋模拟的项目之一。目前已发展到OFES2版本,模拟数据免费向全球科研人员开放。

3.6.1 预报要素#

  • • 三维物理场:温度、盐度、流速(u、v、w分量)
  • • 海面变量:海表温度(SST)、海表盐度(SSS)、海面高度(SSH)
  • • 海冰变量:海冰浓度、厚度(OFES2新增)
  • • 混合过程:垂直扩散系数、潮汐混合(OFES2新增)

3.6.2 预报能力#

模式版本水平分辨率垂直层数模拟时段主要改进
OFES ver.11/10° (~10 km)54层1950-至今首个长期涡旋分辨模拟
OFES21/10° (~10 km)105层1958-至今海冰模式、潮汐混合
OFES2 Ensemble1/10°105层1965-至今10成员集合模拟

技术特点#

  • • 动力框架
  • • 基于MOM3,针对大规模并行计算优化
  • • Boussinesq近似、静力平衡假设
  • • 网格系统
  • • 准全球经纬度网格(不含极地海冰覆盖区)
  • • 水平分辨率均匀1/10°
  • • 垂直坐标
  • • z坐标
  • • OFES2共105层,上层100米内每层5米厚度
  • • 采用部分底格子(partial bottom cells)处理地形
  • • 物理过程改进(OFES2)
  • • 新增海冰模式,改善鄂霍次克海等高纬海域模拟
  • • 引入潮汐混合参数化方案
  • • 采用JRA55-do大气强迫数据集
  • • 并行计算:针对地球模拟器向量并行架构深度优化
  • • 数据服务:通过GrADS Data Server提供在线数据访问

3.6.3 主要应用#

  • • 长期后报模拟:提供1950/1958年至今的涡旋分辨海洋后报数据
  • • ENSO与IOD研究:OFES2对厄尔尼诺和印度洋偶极子事件的模拟显著改善
  • • 黑潮变异:广泛用于黑潮及其延伸体的中尺度变异研究
  • • 集合模拟:OFES2 Ensemble提供10成员集合,用于研究海洋内部变率
  • • 国际合作:数据被全球数百个研究团队使用,相关论文超过500篇
  • • 研讨会平台:自2006年起定期举办OFES Workshop(现更名为”海洋与大气模拟研讨会”)

3.6.4 模式局限性#

  • • 黑潮和湾流路径模拟仍存在偏差
  • • 地中海溢流水盐度扩散不够真实
  • • 极地海域模拟能力有限(不含完整北极)

四、美国海军海洋预报系统#

4.1 系统概述#

美国海军建立了全球最完善的军事海洋预报体系,由以下核心机构组成:

  • • NAVOCEANO(Naval Oceanographic Office,海军海洋局):位于密西西比州斯坦尼斯航天中心,负责海洋产品生产与业务预报
  • • FNMOC(Fleet Numerical Meteorology and Oceanography Center,舰队数值气象海洋学中心):位于加州蒙特雷,负责气象海洋数值模式运行
  • • NRL(Naval Research Laboratory,海军研究实验室):负责海洋模式研发与技术转化
  • • OAML(Oceanographic and Atmospheric Master Library,海洋大气主库):负责维护和分发标准化的环境数据库与模式

该系统提供每日全球、区域和近岸海洋预报,支持美国海军及国防部各军种的作战需求。


4.2 OAML(海洋大气主数据库)#

4.2.1 系统简介#

OAML(Oceanographic and Atmospheric Master Library)是美国海军维护的权威性海洋大气环境数据库体系,由海军海洋局(NAVOCEANO)负责管理和更新。OAML为美国海军所有海洋预报系统、声学模型、作战规划系统提供标准化的环境背景数据,是美国海军海洋环境保障能力的基础数据支撑。

4.2.2 核心数据库组成#

4.2.2.1 DBDB(数字水深数据库)#

DBDB(Digital Bathymetric Data Base)是OAML体系中的水深地形数据库系列:

数据库版本分辨率覆盖范围主要用途
DBDB-V5弧分(~9 km)全球大尺度海洋模式边界
DBDB22弧分(~3.7 km)全球区域海洋模式
DBDB11弧分(~1.8 km)全球高分辨率模拟
DBDB-HRH30弧秒-3弧秒重点海域近岸声学、潮汐模拟

技术特点:#

  • • 融合多源测深数据(多波束、单波束、卫星测高反演)
  • • 提供水深不确定性估计
  • • 支持多种网格格式输出
  • • 与SRTM30+、GEBCO等国际数据集兼容
4.2.2.2 GDEM(通用数字环境模式)#

GDEM(Generalized Digital Environmental Model)是OAML的海洋气候态数据库,提供温度、盐度的月平均三维分布:

版本分辨率深度范围数据基础
GDEM-V 3.01/4°0-6600 mWOD数据
GDEM-V 4.01/8°0-6600 mWOD+Argo
GDEM-V 4.11/8°0-6600 m更新至2020年

主要应用:#

  • • 海洋模式初始场和边界条件
  • • 声速剖面气候态计算
  • • 海洋环境异常检测的参考基准
  • • 缺测区域环境场插补
4.2.2.3 MODAS(模块化海洋资料同化系统)#

MODAS(Modular Ocean Data Assimilation System)是基于统计方法的海洋环境分析系统:

核心功能:

  • • 合成剖面生成:利用卫星SSH和SST数据,结合历史EOF模态,估算三维温盐结构
  • • 实时场分析:融合Argo、XBT、漂流浮标等现场观测
  • • 气候态异常计算:相对于GDEM的温盐异常诊断
  • • 声速剖面诊断:基于温盐场实时计算声速剖面

技术特点:

  • • 采用经验正交函数(EOF)展开
  • • 区域分块处理,适应不同海域特征
  • • 与NCODA形成互补(MODAS侧重统计方法,NCODA侧重动力同化)
4.2.2.4 NAVO海岸线数据库(NDB)#

NDB(NAVO Digital Bathymetric/coastline database)提供多分辨率全球海岸线:

分辨率等级精度应用场景
全分辨率~200 m近岸高精度模拟
高分辨率~1 km区域模式
中分辨率~5 km全球模式
低分辨率~25 km气候模式
4.2.2.5 底质数据库(HFEVA/BST)#

HFEVA(High Frequency Environmental Acoustics)和BST(Bottom Sediment Type)数据库提供海底沉积物特性:

主要参数:

  • • 沉积物类型(砂、泥、砾石等)
  • • 声学阻抗
  • • 反射损失
  • • 散射强度
  • • 地声学参数(密度、声速、衰减)

覆盖范围:全球大陆架及重点海域

4.2.2.6 海洋光学数据库#

提供海水光学特性参数:

  • • Jerlov水体类型分布
  • • 衰减系数
  • • 透明度/能见度
  • • 叶绿素浓度气候态

4.2.3 数据更新与分发机制#

  • • 更新周期
  • • 气候态数据库(GDEM):每2-3年更新
  • • 水深数据库(DBDB):持续滚动更新
  • • 实时分析(MODAS):每日更新
  • • 分发渠道
  • • 军事用户:通过NIPRNet/SIPRNet分发
  • • 民用合作:部分产品通过NOAA/NCEI共享
  • • 国际伙伴:通过双边协议提供
  • • 数据格式:NetCDF、HDF5、二进制格式,支持GrADS、MATLAB等工具

4.2.4 OAML在海军系统中的作用#

OAML数据库体系
    ├── GOFS/HYCOM → 初始场、气候态边界
    ├── NCOM → 区域模式边界、水深
    ├── NCODA → 背景场、第一猜测场
    ├── 声学模型 → 声速剖面、底质参数
    ├── 战术决策辅助系统 → 环境背景信息
    └── 搜救/反潜规划 → 漂流预测、声传播

4.3 GOFS(全球海洋预报系统)#

GOFS(Global Ocean Forecast System)是美国海军的全球业务海洋预报系统,基于HYCOM模式运行。

4.3.1 预报要素#

  • • 三维物理场:温度、盐度、流速(u、v、w分量)
  • • 海面变量:海表温度、海表盐度、海面高度
  • • 海冰变量:海冰浓度、厚度、漂移速度
  • • 声学相关:声速剖面、声道深度、声学陷波

4.3.2 预报能力#

系统版本水平分辨率垂直层数预报时效主要特点
GOFS 3.01/12° (~9 km)32层5天早期业务版本
GOFS 3.11/12° (~9 km)41层7天增加表层垂直分辨率、CICE海冰耦合
GOFS 3.5(规划)1/25° (~4 km)41层7天潮汐强迫、更高分辨率

4.3.3 技术路线#

  • • 核心模式:HYCOM(HYbrid Coordinate Ocean Model,混合坐标海洋模式)
  • • 垂直坐标:混合等密度-σ-z坐标,根据水深和层化自适应选择最优坐标
  • • 资料同化:NCODA三维变分同化(3DVAR),同化卫星高度计、SST、Argo剖面等
  • • 海冰耦合:与CICE海冰模式双向耦合
  • • 大气强迫:NAVGEM(Navy Global Environmental Model)提供
  • • 计算平台:运行于美国国防部高性能计算中心

4.3.4 数据应用#

  • • NOAA RTOFS:NOAA基于相同HYCOM配置运行全球实时海洋预报系统(Global RTOFS)
  • • 公开数据:通过HYCOM Consortium网站向公众提供预报和再分析数据

4.4 NCOM(海军海岸海洋模式)#

NCOM(Navy Coastal Ocean Model)由海军研究实验室开发,是美国海军区域和近岸海洋预报的核心工具。

4.4.1 预报要素#

  • • 三维物理场:温度、盐度、流速、海面高度
  • • 近岸特征:潮汐、风暴潮、近岸环流
  • • 垂直剖面:温跃层深度、混合层深度

4.4.2 预报能力#

应用区域水平分辨率垂直层数预报时效覆盖范围
全球NCOM(历史)1/8° (~14 km)40层3-5天全球(已被HYCOM替代)
区域NCOM1/36° (~3 km)40层4天美国东海岸、墨西哥湾等
高分辨率嵌套1-2 km40层2-3天重点近岸区域

4.4.3 技术路线#

  • • 动力框架
  • • 基于普林斯顿海洋模式(POM)发展
  • • 斜压、静力、Boussinesq近似、自由表面
  • • 垂直坐标:混合σ-z坐标
  • • 上层采用地形追随σ坐标,提高陆架区分辨率
  • • 深层采用z坐标,保持开阔大洋高分辨率
  • • 网格系统:Arakawa C网格
  • • 资料同化:NCODA系统
  • • 边界条件:由全球HYCOM提供
  • • 大气强迫:COAMPS或NAVGEM

4.4.4 主要业务配置#

  • • AMSEAS:美洲海域(墨西哥湾、加勒比海)
  • • USEAST:美国东海岸
  • • SOCAL:南加州沿海
  • • Hawaii:夏威夷海域

4.5 NCODA(海军耦合海洋资料同化系统)#

NCODA(Navy Coupled Ocean Data Assimilation)是美国海军业务海洋预报系统的核心资料同化工具。

4.5.1 同化能力#

同化方法分析变量观测资料类型
3DVAR温度、盐度、流速、海面高度卫星高度计SSH、卫星SST、Argo剖面、XBT、漂流浮标、锚系浮标
4DVAR(发展中)同上同上,增加时间维度约束

4.5.2 技术特点#

  • • 多变量分析:温度、盐度、地转位势、流速分量、海冰浓度的联合分析
  • • ISOP技术:改进的合成海洋剖面(Improved Synthetic Ocean Profiles),将卫星观测的表面信息向深层投影
  • • 质量控制:实时观测数据质控,包括仪器误差和代表性误差评估
  • • 背景场:使用24小时模式预报作为第一猜测场
  • • 分析循环:每日循环更新,为HYCOM、NCOM等模式提供初始场

4.6 COAMPS(耦合海洋大气中尺度预报系统)#

COAMPS(Coupled Ocean/Atmosphere Mesoscale Prediction System)是海军研究实验室开发的区域耦合预报系统。

4.6.1 系统组成#

  • • 大气分量:非静力中尺度大气模式
  • • 海洋分量:NCOM海洋模式
  • • 海浪分量:SWAN或WaveWatch III
  • • 耦合框架:ESMF(Earth System Modeling Framework)

4.6.2 预报能力#

分量水平分辨率垂直配置预报时效
大气3-15 kmσ-z坐标,60层3-5天
海洋1-5 kmσ-z混合,40层3-5天
海浪1-5 km频率-方向谱3-5天

4.6.3 技术特点#

  • • 双向耦合:大气-海洋-海浪三者之间实时交换通量
  • • 移动嵌套:支持台风等移动系统的跟踪预报(COAMPS-TC)
  • • 资料同化:大气采用NAVDAS-AR,海洋采用NCODA
  • • 应用领域:热带气旋预报、近岸环流、海气相互作用研究

4.7 Navy-ESPC(海军地球系统预测能力)#

Navy-ESPC(Navy Earth System Prediction Capability)是美国海军最新发展的全球耦合预报系统,面向次季节到季节尺度预报。

4.7.1 系统组成#

  • • 大气:NAVGEM(Navy Global Environmental Model)
  • • 海洋:HYCOM
  • • 海冰:CICE
  • • 耦合器:ESMF/NUOPC

4.7.2 预报能力#

  • • 预报时效:60天
  • • 集合规模:20成员
  • • 分辨率:大气T359(~50 km),海洋1/12°
  • • 更新频次:每周

4.7.3 技术创新#

  • • 弱耦合同化:大气(NAVDAS-AR)和海洋(NCODA)分别同化,通过耦合模式预报提供背景场
  • • 双循环设计:大气6小时循环,海洋24小时循环
  • • 次季节预报:MJO、NAO、AO等气候模态预报技能显著

4.8 系统集成与数据服务#

美国海军海洋预报系统采用层级嵌套架构:

GOFS(全球1/12°)
    ├── 区域NCOM(1/36°,美国沿海)
    │       └── 高分辨率嵌套(1-2 km,港口、海峡)
    └── COAMPS区域耦合(灵活配置)

五、区域海洋数值模式#

5.1 ROMS(区域海洋模式系统)#

ROMS(Regional Ocean Modeling System)是由美国罗格斯大学、加州大学洛杉矶分校等机构联合开发的区域海洋数值模式。ROMS以其高效易用的特点,成为全球应用最广泛的区域海洋模式之一。

5.1.1 预报要素#

  • • 物理场:温度、盐度、流速、海面高度
  • • 混合层:混合层深度、湍流混合系数
  • • 沉积物:悬浮泥沙浓度、底床演变
  • • 生态:通过耦合NPZD等模块实现生态模拟

5.1.2 技术路线#

  • • 垂直坐标:地形追随s坐标
  • • 水平网格:曲线正交网格
  • • 数值方法:有限差分,三阶上风迎风格式
  • • 边界条件:支持多种开边界条件设置
  • • 耦合能力:可与WRF(大气)、SWAN(海浪)组成COAWST耦合系统

5.2 FVCOM(有限体积近岸海洋模式)#

FVCOM(Finite-Volume Coastal Ocean Model)是由美籍华人陈长胜教授领导开发的非结构网格海洋模式。FVCOM在近岸、河口、港湾等具有复杂岸线和地形的海域模拟中具有显著优势。

5.2.1 预报要素#

  • • 物理场:水位、流速、温度、盐度
  • • 示踪物:被动示踪物、拉格朗日粒子追踪
  • • 生态:通过FABM框架耦合多种生态模型
  • • 沉积物:悬浮物浓度、底床变化

5.2.1 技术路线#

  • • 网格类型:非结构三角形网格
  • • 数值方法:有限体积法,保证局部和全局守恒
  • • 垂直坐标:广义地形追随σ坐标
  • • 湍流闭合:集成GOTM通用海洋湍流模块
  • • 优势应用:近岸高分辨率模拟、潮汐模拟、风暴潮预报

5.3 其他区域海洋模式#

5.3.1 POM(普林斯顿海洋模式)#

  • • 简介:普林斯顿大学开发的σ坐标海洋模式
  • • 特点:结构简单,计算效率高
  • • 应用:近岸环流、潮汐、河口动力学

5.3.2 SCHISM(半隐式交叉尺度水动力模式)#

  • • 简介:基于SELFE发展的非结构网格模式
  • • 特点:高效的半隐式时间积分,支持大时间步长
  • • 应用:河口海岸、风暴潮、海啸模拟

5.3.3 ADCIRC(高级环流模式)#

  • • 简介:专门针对风暴潮和潮汐的有限元模式
  • • 特点:非结构网格,高精度潮汐模拟
  • • 应用:风暴潮预报、海岸洪水模拟

六、海浪数值预报模式#

6.1 第三代海浪模式概述#

第三代海浪模式的核心特征是直接计算波谱演变,不预设波谱形状,完整考虑风输入、白浪耗散和非线性波-波相互作用三个源函数项。目前国际主流的第三代海浪模式包括WAM、WAVEWATCH III和SWAN。

6.2 WAM(海浪模式)#

WAM(WAve Model)是由WAMDI研究组联合开发的第一个第三代海浪模式,建立了海浪谱预报的理论和技术框架。WAM是ECMWF业务海浪预报系统的核心。

6.2.1 预报要素#

  • • 波谱信息:二维方向频率谱
  • • 积分参数:有效波高、平均周期、平均波向
  • • 分量波:风浪、涌浪分离
  • • 极值统计:最大波高、波陡

6.2.2 技术路线#

  • • 控制方程:波作用量平衡方程
  • • 源函数
  • • Sin:基于Miles不稳定机制的风输入
  • • Sds:基于白浪覆盖率的耗散
  • • Snl:离散相互作用近似(DIA)
  • • 数值方法:一阶迎风格式
  • • 应用范围:主要用于深水大尺度海浪预报

6.3 WAVEWATCH III(第三代海浪模式)#

WAVEWATCH III(WW3)是美国NOAA/NCEP开发的第三代海浪数值模式,在WAM基础上进行了大量改进和扩展。WW3是当前国际上技术最成熟、应用最广泛的海浪模式之一。

6.3.1 预报要素#

  • • 波谱信息:完整的二维方向谱
  • • 有效波高:总波高、风浪波高、涌浪波高
  • • 周期参数:平均周期、峰值周期、零跨周期
  • • 方向参数:平均波向、峰值方向、方向分布宽度
  • • 波流相互作用:考虑海流对波浪的影响

6.3.2 预报能力#

应用系统分辨率预报时效覆盖范围
NOAA全球0.5°7天全球
NOAA区域0.25°7天美国沿海
中国海域1/12°5天西北太平洋

6.3.3 核心技术#

  • • 控制方程:波作用量守恒方程
  • • 源函数方案:提供ST2、ST3、ST4、ST6等多种方案可选
  • • ST4:ECMWF发展的物理方案
  • • ST6:最新的源函数参数化
  • • 数值方法:支持规则网格和非结构网格
  • • 特色功能
  • • 波流相互作用
  • • 海冰对波浪的衰减
  • • 浅水过程(折射、浅水变形、底摩擦)
  • • 并行计算:高效MPI并行化

6.4 SWAN(近岸波浪模拟模式)#

SWAN(Simulating WAves Nearshore)是荷兰代尔夫特理工大学开发的第三代近岸海浪模式。与WAM和WW3不同,SWAN专门针对近岸浅水环境设计,能够处理波浪在近岸传播过程中的复杂物理过程。

6.4.1 预报要素#

  • • 波谱参数:有效波高、周期、波向
  • • 浅水效应:波浪浅化、折射、绕射
  • • 破碎信息:破碎波高、破碎位置
  • • 近岸过程:波浪爬升、越浪量

6.4.2 核心技术#

  • • 数值格式:隐式格式,数值稳定性好
  • • 网格系统:支持规则网格和非结构网格
  • • 浅水物理
  • • 深度诱导折射
  • • 深度诱导破碎
  • • 底摩擦
  • • 三波相互作用
  • • 嵌套能力:可方便地嵌套在WAM或WW3中

6.5 中国”妈祖”海浪模式#

“妈祖”海浪模式是中国国家海洋环境预报中心自主研发的海浪数值预报模式,2024年已向国内外开源。

6.5.1 技术特点#

  • • 自主知识产权的源函数参数化
  • • 针对中国海域特点进行优化
  • • 支持台风浪高精度预报

七、海气耦合数值模式#

7.1 耦合模式概述#

海气耦合模式将大气和海洋作为一个整体系统进行模拟,能够更好地反映大气和海洋之间的相互作用,对于延伸期预报、季节预测和气候模拟至关重要。

7.2 主要耦合系统#

7.2.1 UFS(美国统一预报系统)#

  • • 简介:美国正在建设的新一代统一预报系统
  • • 组成:FV3大气 + MOM6海洋 + CICE6海冰 + WW3海浪
  • • 目标:实现从天气到季节的无缝预报

7.2.2 CESM(地球系统模式)#

  • • 简介:美国国家大气研究中心的地球系统模式
  • • 组成:CAM大气 + POP/MOM海洋 + CICE海冰 + CLM陆面
  • • 应用:气候模拟、气候变化预估

7.2.3 COAWST(耦合海洋-大气-波浪-沉积物系统)#

  • • 简介:美国地质调查局开发的区域耦合系统
  • • 组成:WRF大气 + ROMS海洋 + SWAN海浪
  • • 应用:近岸海气相互作用、风暴潮模拟

7.2.4 中国”两洋一海”区域耦合系统#

  • • 简介:中国海洋大学开发的区域耦合预测系统
  • • 组成:WRF大气 + ROMS海洋
  • • 分辨率:大气3-9 km,海洋3 km
  • • 预报时效:延伸期(10-30天)

八、发展趋势与展望#

技术发展趋势#

  1. 1. 分辨率持续提高:全球模式向公里级发展,区域模式向百米级推进
  2. 2. 地球系统耦合:大气-海洋-陆面-海冰-化学-生态的全耦合
  3. 3. AI与物理融合:AI技术与数值模式的深度融合
  4. 4. 计算架构革新:GPU加速、异构计算的广泛应用
  5. 5. 同化技术进步:向耦合资料同化和集合-变分混合同化发展

附    录#

附录A:主要数值模式信息汇总表#

类别模式名称开发机构主要应用
全球大气ECMWF IFSECMWF全球中期预报
全球大气GFSNOAA/NCEP全球预报
全球大气ICONDWD全球-区域预报
全球大气GRAPESCMA中国业务预报
区域大气WRFNCAR等区域天气研究与预报
全球海洋HYCOMUSN/Miami全球海洋预报
全球海洋MOM6NOAA/GFDL气候模拟/预报
全球海洋NEMOCNRS等欧洲业务预报
美国海军GOFSNAVOCEANO全球海洋预报
美国海军NCOMNRL区域海洋预报
美国海军OAMLNAVOCEANO环境数据库
区域海洋ROMSRutgers等区域海洋模拟
区域海洋FVCOMUMass等近岸海洋模拟
海浪WAMWAMDI全球海浪预报
海浪WW3NOAA/NCEP全球/区域海浪预报
海浪SWANTU Delft近岸海浪模拟

附录B:主要术语缩略语#

缩略语英文全称中文含义
NWPNumerical Weather Prediction数值天气预报
GCMGeneral Circulation Model大气环流模式
SSTSea Surface Temperature海表温度
SSHSea Surface Height海面高度
4D-VarFour-Dimensional Variational四维变分同化
EnKFEnsemble Kalman Filter集合卡尔曼滤波
ALEArbitrary Lagrangian-Eulerian任意拉格朗日-欧拉
OAMLOceanographic and Atmospheric Master Library海洋大气主数据库
GDEMGeneralized Digital Environmental Model通用数字环境模式
DBDBDigital Bathymetric Data Base数字水深数据库
MODASModular Ocean Data Assimilation System模块化海洋资料同化系统
NCODANavy Coupled Ocean Data Assimilation海军耦合海洋资料同化

---====云原生地理空间数据格式全解析.md====#

title: “云原生地理空间数据格式全解析” published: 2025-08-17 description: "" image: “/images/云原生地理空间数据格式全解析/img_3cc5e535.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#

在当今数据驱动的时代,地理空间数据正以前所未有的速度增长,地理空间数据的处理和分析变得越来越重要。随着云计算技术的快速发展,传统的地理空间数据格式面临着新的挑战和机遇。我们如何才能在不下载整个庞大数据集的情况下,快速访问和处理所需的信息?答案在于云原生(Cloud-Native)的地理空间数据格式。

本文将深入探讨云原生地理空间数据格式的核心概念、技术优势以及主要格式的特点和应用场景。

什么是“云优化”的地理空间数据?#

随着数据量的爆炸式增长和云计算的普及,传统的数据存储和访问模式已经不能满足现代应用的需求。数据不再仅仅是被存储,而是需要被频繁读取、分析和处理。这种转变促使了云优化数据格式的诞生,这些格式专门为现代云环境下的数据访问模式而设计。

传统的GIS数据处理模式通常遵循“下载-存储-处理”的流程。而“云优化”则彻底颠覆了这一模式,云优化本质上是为了适应现代数据使用模式而设计的技术方法。现代应用场景中,数据被读取的次数远远超过被写入的次数,因此优化读取性能变得至关重要。它认为数据主要是用来读取的,而非仅仅是存储。其核心目标是让数据读取变得极致高效。这一理念通过以下三个关键技术特性实现:

部分读取 (Partial Reads)#

用户可以只请求和读取他们需要的数据片段,而无需下载整个文件。这类似于在线观看视频时,可以直接跳转到任意时间点,而无需下载完整视频文件。

并行读取 (Parallel Reads)#

数据被组织成可以被多个计算核心或机器同时读取的块(Chunks),极大地提升了处理大规模数据集的效率。

快速元数据 (Fast Metadata)#

文件头部或独立的元数据文件包含了数据的完整结构信息和各数据块的位置索引。客户端可以先读取这个小巧的元数据,快速了解整个数据集的概貌,并直接定位到所需数据的位置。

此外,云优化格式天然支持 HTTP 范围请求 (HTTP Range Requests)。这意味着数据可以直接通过URL进行访问,客户端可以精确地请求文件中特定字节范围的数据,这对于实现智能子集化(如仅获取特定空间范围内的数据)至关重要。

云原生格式核心优势#

转向云原生格式能为数据提供方和数据使用方带来双赢的局面。

对数据提供方:#

  • • 降低成本和服务器负载:通过减少数据传输量,显著降低了出口带宽成本和服务器压力。
  • • 减少存储空间:高效的压缩算法和数据组织方式能有效减少存储占用。
  • • 计算与数据协同定位:将计算任务直接部署在数据所在的云区域,避免了大规模数据迁移。

对数据用户:#

  • • 缩短数据等待时间:无需漫长的下载过程,几乎可以即时访问所需数据。
  • • 简化数据筛选工作:在数据获取阶段即可完成空间或属性过滤。
  • • 降低本地资源消耗:减少了下载到本地内存和磁盘的数据量。
  • • 避免管理海量小文件:将数据集整合在逻辑上单一、物理上分块的对象中。

主流云原生地理空间格式#

不存在一种万能的数据格式。针对不同类型的数据(栅格、点云、矢量),社区发展出了不同的优化方案。

1.栅格数据 (Raster Data)#

云优化GeoTIFF (Cloud-Optimized GeoTIFF, COG)#

COG 是对标准 GeoTIFF 格式的优化,通过内部切片(Internal Tiling)和概览(Overviews)来实现在线高效访问。它将图像数据分割成多个内部块,并预先生成不同分辨率的低精度影像(概览),使得用户在缩放和平移地图时,只需请求对应视野和分辨率的图块,而无需加载整个TIF文件。

  • • 替代对象:标准 GeoTIFF
  • • 应用场景:静态栅格影像,如卫星影像、数字高程模型(DEM)。
  • • 技术核心:内部切片、预生成概览、HTTP范围请求。

示例:访问Landsat影像的一个特定区域

# 概念性代码示例
import rasterio
from rasterio.session import AWSSession
# Landsat on AWS COG URL
url = "s3://usgs-landsat/collection02/level-2/standard/etm/2010/001/002/LE07_L2SP_001002_20100101_20200826_02_T1/LE07_L2SP_001002_20100101_20200826_02_T1_SR_B3.TIF"
# 只需定义一个窗口(bounding box)即可读取该区域,而无需下载整个文件
with rasterio.open(url) as src:
    # 定义一个小窗口进行读取
    window = rasterio.windows.Window(1000, 1000, 512, 512)
    subset = src.read(1, window=window)
    print(f"成功读取 {subset.shape} 大小的数据块。")

Zarr 和 Kerchunk#

当数据包含时间、深度、温度等多维信息时,COG 就显得力不从心了。Zarr 是一种专为分块、压缩的多维数组设计的格式。它将数据块存储为独立的对象,并使用一个轻量级的元数据文件来描述整个数组的结构,非常适合气象、海洋等科学模型数据。

Kerchunk 则是一个巧妙的工具,它可以在不重写数据的情况下,为 NetCDF、HDF5 等传统多维数据格式创建外部的 Zarr 元数据索引。这使得庞大的存量数据也能以云原生的方式被高效访问。

  • • 替代对象:NetCDF, HDF5, GRIB
  • • 应用场景:多维科学数据,如气候模型、气象预报。
  • • 技术核心:数据分块、压缩、独立的元数据索引。

2.点云数据 (Point Cloud Data)#

COPC(Cloud-Optimized Point Cloud) 是针对LAS/LAZ点云格式的云优化方案。它采用八叉树等空间索引结构对点云数据进行组织和聚类,使得可以快速查询和获取特定空间范围内的点,而无需扫描整个文件。

  • • 替代对象:LAS, LAZ
  • • 应用场景:LiDAR 数据、摄影测量点云。
  • • 技术核心:基于八叉树的空间索引结构。

3. 矢量数据 (Vector Data)#

GeoParquet#

GeoParquet 是 Apache Parquet 格式在地理空间领域的延伸。Parquet 是一种列式存储格式,它按列而不是按行来组织数据。这带来了两大优势:

  • • 极高的压缩率:同一列的数据类型相同,压缩效果远优于行式存储。
  • • 高效的属性查询:当查询只涉及少数几个字段(列)时,只需读取这些列的数据,I/O开销极低。

GeoParquet 在 Parquet 的基础上增加了对地理空间坐标和几何类型的标准定义,使其成为云上存储和分析大规模矢量数据的理想选择。

  • • 替代对象:Shapefile, GeoPackage, GeoJSON
  • • 应用场景:大规模矢量数据集的属性分析和查询。
  • • 技术核心:列式存储。

示例:从一个大型数据集中只读取几何列和人口列

# 概念性代码示例
import geopandas as gpd
# 假设这是一个非常大的GeoParquet文件URL
url = "https://example.com/data/world_cities.parquet"
# 只读取'geometry'和'population'两列,极大减少了下载和内存占用
gdf = gpd.read_parquet(url, columns=['geometry', 'population'])
print(f"成功读取 {len(gdf)} 个城市的几何与人口数据。")

重要提示:在当前阶段,GeoParquet 规范本身尚未包含空间索引的标准。这意味着它非常擅长属性查询,但在纯空间查询(例如,“查找此边界框内的所有要素”)方面可能不如带有空间索引的格式高效。

FlatGeobuf#

FlatGeobuf 是另一种高效的矢量数据格式,它的一个关键特性是内置了基于 Hilbert R-tree 的流式空间索引。这使得它在需要快速进行空间过滤和可视化的场景中表现非常出色,尤其适合作为Web要素服务的后端数据源。

 

PMTiles#

PMTiles 是一种专为可视化设计的、用于存储金字塔矢量切片(Tiled Vector Data)的单文件归档格式。它解决了在云存储上管理数百万个零散小文件所带来的低效和高成本问题。你可以将它想象成一个 ZIP 压缩包,内部包含了所有缩放级别的切片数据和元数据,但无需解压,可以直接通过网络进行访问。

PMTiles 的核心理念是“无服务器”,客户端(如浏览器)可以直接通过 HTTP 范围请求从存储在 S3 等对象存储上的单个 PMTiles 文件中,按需读取任意缩放级别下的任意切片,无需任何中间件或数据库服务。

4. 数据格式选型#

传统格式云优化格式适用数据类型
GeoTIFF云优化GeoTIFF (COG)单波段/多波段栅格
NetCDF/HDF5Zarr/Kerchunk多维栅格数据
LAS云优化点云 (COPC)点云数据
Shapefile/GeoJSONFlatGeobuf/GeoParquet矢量数据

挑战与未来#

尽管云原生格式优势明显,但其推广仍面临一些挑战:

  • • 现有格式的惯性:Shapefile、GeoPackage 等传统格式在政府和企业的工作流中根深蒂固。
  • • 数据类型的多样性:地理空间数据类型繁多,需要多种格式协同工作。
  • • 工具链的适配:需要更新的GIS软件和数据处理库来原生支持这些新格式。

然而,随着云技术在地理空间领域的不断渗透,向云原生格式的转变已是大势所趋。

总结#

从COG到Zarr,再到GeoParquet,云原生生态系统为不同类型的地理空间数据提供了高效的云端解决方案。选择合适的格式取决于您的数据类型和核心应用场景:用 COG 处理影像,用 Zarr 管理多维数据,用 GeoParquet 进行大规模矢量分析。====人工智能天气模型在模拟过去和未来气候场景中展现出巨大潜力.md====#

title: “人工智能天气模型在模拟过去和未来气候场景中展现出巨大潜力” published: 2024-10-13 description: "" image: “/images/人工智能天气模型在模拟过去和未来气候场景中展现出巨大潜力/img_69e439cd.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#


一篇由欧洲中期天气预报中心(ECMWF)联合德国阿尔弗雷德·韦格纳极地与海洋研究所(AWI)的论文探索了基于人工智能的天气预报模型在气候变化研究中的潜力。他们的发现表明,这些尖端模型在应用于不同气候状态时既有前景又面临挑战。

研究团队对三个最先进的AI天气预报模型进行了测试:

  • ECMWF的AIFS(人工智能预报系统)
  • Google DeepMind的GraphCast
  • 华为的Pangu-Weather

这些模型都是在1979-2018年的ERA5再分析数据上训练的,并被要求在三种不同的气候场景中进行预测:

  • 工业化前气候(使用1955年ERA5回溯扩展数据)
  • 当前气候(2023年业务分析数据)
  • 未来气候场景(2049年高分辨率气候模拟数据,比工业化前平均温度高2.9°C)

未来气候场景基于IFS-FESOM模型的模拟,该模型由ECMWF和AWI的团队在H2020项目nextGEMS中开发。对于每种气候状态,研究人员对每年的每一天都进行了10天的天气预报,并评估了模型的预报能力。

主要发现#

  1. 分布外泛化能力:AI模型在应用于工业化前和假设的未来条件时,在预报技巧方面表现出关键的分布外泛化能力。这为气候科学中的广泛应用打开了大门。
  2. 总体表现:在所有三种气候状态下,AI模型都表现出良好的预报技巧,特别是在均方根误差(RMSE)方面。
  3. 当前气候表现: 对于当前气候(2023年),AI模型的表现与ECMWF的业务预报系统相当。
  4. 工业化前气候:在较冷的1955年气候下,模型仍能提供有技巧的预报,尽管RMSE略高于2023年。
  5. 未来气候场景:对于较暖的2049年气候,模型的RMSE表现与2023年相当,表明了对未来气候条件的适应能力。
  6. 系统性偏差:模型在不同于训练数据的气候状态下显示出一些系统性偏差。
  • 在1955年(较冷)场景中,AIFS和GraphCast表现出升温趋势
  • 在2049年(较暖)场景中,AIFS和Pangu-Weather表现出降温趋势
  • GraphCast在2049年全球平均温度上保持中性,但这是由陆地降温和海洋升温相互抵消的结果
  1. 偏差的空间分布:模型在缺乏海冰和陆地表面信息的区域表现较差。

a、b、c图显示所有模型的均方根误差(RMSE,单位为K),按纬度余弦加权,分别在1955年(代表工业化前时期的代表年份),2023年(代表当前气候),和2049年(+2.9K更暖的世界)。d、e、f图显示所有模型在1955年、2023年和2049年的平均偏差[K]。在1955年,Pangu-Weather进一步降温,而其他两个模型显示出升温。在2023年,GraphCast和AIFS显示很少偏差,类似于ECMWF的10天业务IFS预报,而Pangu-Weather持续降温。在2049年,GraphCast的正负偏差平衡,而其他两个模型表现出冷偏差。1955年、2023年和2049年的所有RMSE和偏差演变都是对每日预报进行平均。

所有模型都使用1979-2017年的ERA5再分析数据进行训练(最终进行微调),1979-2020年的全球平均温度(浅灰色线)作为背景显示。黑色虚线表示1955年(ERA5)、2023年(业务分析)和2049年(基于物理的情景模拟)的全球平均温度,代表数据驱动预报模型的初始条件。对于选定的三年中的每一天,每个模型都从12:00 UTC开始进行10天预报,产生9个预报数据集。这9个预报数据集的全球平均温度以细(发丝状)彩色线显示。对于1955年,GraphCast和AIFS在10天内出现0.3 K的升温,而Pangu-Weather则降温。对于2023年,所有模型都没有显示出明显的系统性偏差。在2049年,AIFS和特别是Pangu-Weather明显向训练期的气候条件降温,降温速率分别为每天-0.04 K和-0.07 K。有趣的是,GraphCast在全球平均上紧密跟随气候预测,但这是通过陆地降温和海洋升温的补偿实现的。

启示和未来方向#

  1. AI模型在不同气候状态下的良好表现,暗示驱动短期天气的动力学在气候变化背景下可能并没有根本性的改变。
  2. 这些结果展示了AI模型在分布外泛化方面的能力,这对气候应用至关重要。
  3. 模型在未来气候场景下的系统性偏差也表明,仅依赖现有训练数据可能不足以完全捕捉气候变化的影响。
  4. 未来的改进方向包括:
  • 在训练中加入更多的地球系统状态信息,如海洋、陆地和冰冻圈数据
  • 开发专门针对气候预测的AI模型
  • 探索AI模型与传统物理模型的混合方法

这项研究展示了基于AI的天气模型在气候科学中的巨大潜力。虽然目前还存在一些限制,但随着进一步的发展,AI有望成为气候变化研究、适应和缓解决策的强大工具,为传统的基于物理的模型提供了强有力的补充。它也可能革新我们研究和应对气候变化的方式。这项工作部分是在欧盟委员会的“目标地球”(Destination Earth)计划框架内进行的。在该倡议中,ECMWF负责实施两个地球系统数字孪生和底层软件基础设施(数字孪生引擎),并与欧洲众多合作伙伴合作。DestinE计划开发的超高精度地球数字模型,将监测与模拟自然和人类活动,建立能够支持欧洲环境政策的可持续发展情景,并对这些情景进行测试。该计划的核心是一个基于云的联合建模和仿真平台,可提供对数据、先进计算基础设施(包括高性能计算)、软件、人工智能应用和分析的访问。该计划将集成数字孪生,即囊括了地球系统各个方面的数字副本,例如天气预报和气候变化、粮食和水安全、全球海洋环流和海洋生物地球化学等,为用户提供专题信息、服务、模型、场景、模拟、预测和可视化,使应用开发和用户数据的集成成为可能。

References:

本公众号相关内容推荐#


title: “使用AI打造你的第二大脑” published: 2026-03-04 description: “点击下面卡片,快速关注本公众号本文介绍如何使用Obsidian + Claude Code构建「AI 第二” image: “/images/使用AI打造你的第二大脑/img_53161e10.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#

本文介绍如何使用Obsidian + Claude Code构建「AI 第二大脑」。从 CLAUDE.md 上下文系统到 MCP 外部工具集成,再到自定义 Skill 工作流自动化。这篇文章不是工具评测,而是一套经过实战验证的系统级方案。


每次对话都从零开始:AI 的「失忆症」#

你一定经历过这种场景:

打开Claude或ChatGPT,先花五分钟解释「我是谁、我在做什么、我的风格是什么」。AI给了一个还不错的回答。关掉窗口。下次打开,一切从头再来。

AI 不认识你。所以它的输出永远是通用的。

大多数人把这归咎于Prompt写得不好。但Prompt不是问题的核心。真正决定 AI 输出质量的是上下文。通用的上下文只能产生通用的结果——你花再多时间打磨 Prompt,如果 AI 不知道你是谁、你在做什么、你已经写过什么,结果依然平庸。

内置记忆功能为什么不够用?#

Claude 和 ChatGPT 都有内置记忆功能,理论上能解决这个问题。但实际体验很糟糕:

问题具体表现
不可控系统自动保存随机片段,你无法编辑或选择
无层级没有分类、没有优先级、没有组织结构
交叉污染凌晨 2 点的随笔内容被插入第二天的商业提案
黑箱你根本不知道 AI 记住了什么、遗忘了什么

这不是一个系统,而是一个「近似系统」。


核心思路转变:不是你去找AI,而是AI住进你的系统#

传统用法是你去AI那里,打开网页,输入问题,等待回答。

新思路是反过来:把AI放进你的知识系统里。

当Claude Code在你的Obsidian笔记库中运行时,它直接读取你的笔记、项目、写作规则和上下文。从第一个Prompt开始,它就知道你是谁。你不需要重复解释任何事情。而且随着使用次数增加,它会越来越懂你。

这才是根本性的范式转变。

传统 AI 用法 vs AI 第二大脑


为什么是 Obsidian + Claude Code#

Obsidian 的三个关键优势#

免费、本地、纯文本。

特性ObsidianNotion
数据格式本地 Markdown 纯文本专有格式,需 API 导出
AI 可读性直接读取文件,零中间层需要 API 调用或转换
数据所有权文件在你电脑上数据在云端
迁移成本任何文本编辑器都能打开导出后格式损失
价格免费免费版功能有限

关键一点:Claude Code 可以直接读取 Obsidian 的文件。 Notion 的数据存储在专有格式中,外部 AI 无法干净地访问。而 Obsidian 的 Markdown 文件就在你的文件系统里——你和 AI 在同一个文件夹里工作,使用不同的界面,共享相同的上下文。

Claude Code 的独特能力#

Claude Code 不只是回答问题。它是一个真正的 Agent:

  • • 读写文件:直接创建、编辑你笔记库中的任何文件
  • • 执行命令:在终端中运行 shell 命令
  • • 并行处理:启动 sub-agent 同时处理多个任务
  • • 自动加载上下文:每次启动时自动读取 CLAUDE.md 和 memory.md
  • • MCP 扩展:通过 Model Context Protocol 连接外部工具

Tip

为什么必须用终端?Claude.ai 网页版和各种 GUI 包装工具,都无法给 Claude 完整的文件系统访问权限。这是结构性限制。终端看起来吓人,但实际上只需要三个命令就能上手:pwd(查看当前目录)、ls(列出文件)、cd(切换目录)。其他所有事情,Claude 自己处理。


两个核心文件:CLAUDE.md 与 memory.md#

这是整个系统的灵魂。

CLAUDE.md:大脑的操作系统#

Claude Code 在每次启动时自动读取 CLAUDE.md,比你说第一句话还早。这个文件存储了 Claude 需要知道的一切:

  • • 你是谁、你的项目有哪些
  • • 笔记库的文件夹结构
  • • 写作规则和风格偏好
  • • 工作流程和注意事项

最强大的部分是:Claude 可以自己更新这个文件。 当它犯了一个错误,你说「把这条规则写进你的 CLAUDE.md,下次不要再犯」,它就记住了。五个会话之后,Claude对你的了解可能超过大多数人类协作者。

你甚至可以做「元优化」:问 Claude 它会怎么重构 CLAUDE.md 来提高效率,然后让它自己动手修改。或者问它「你还需要什么信息才能做到最好」,让它通过一系列问题来填补空白。

Tip

多层级上下文CLAUDE.md 可以放在笔记库的不同层级。根目录放全局配置,特定项目文件夹内放局部配置。Claude导航到不同目录时会自动读取对应的上下文文件。

memory.md:会话间的记忆桥梁#

memory.md是Claude在每次会话结束后记录关键决策、模式和进展的地方。它提供了跨会话的连续性。

工作流程:

    1. 会话结束前,告诉 Claude「把这次的关键信息保存到 memory」
    1. 下次启动时,Claude 自动读取 memory.md
    1. 它记得你的进度、决策和未完成的工作

随着时间积累,memory.md 成为你和 AI 协作的完整记录,每条规则、每个决策、每次构建。

CLAUDE.md + memory.md 上下文系统


复利效应:越用越聪明#

使用次数Claude 的理解程度
1 次知道你的文件夹结构
5 次知道你的项目、当前重点和写作风格
20 次成为你的个性化操作系统,对你知识库的了解超过你自己的即时记忆

这就是复利:你越使用第二大脑,AI 就越聪明。自动地,持续地。

AI 理解程度的复利增长


实战场景:这套系统能做什么#

场景一:知识管理#

目前我的obsidian中有591条永久笔记。Claude可以导航所有笔记。

具体能力:

  • • 批量标签更新:分类体系变更后,几分钟内更新数百个文件的标签
  • • 关联发现:找到应该互相链接但没有链接的笔记
  • • 笔记生成:从文献笔记中合成永久笔记——阅读高亮、提炼核心概念、格式化、链接到已有相关笔记
  • • 主题挖掘:即时发现跨越数年笔记的主题聚类

一个具体例子:输入“帮我找五条关于海洋大模型的永久笔记”,Claude搜索文件系统,读取相关文件,几秒钟内返回五条笔记及其来源和摘要。

场景二:基于全库上下文的内容创作#

Claude在写作之前会先启动sub-agent扫描整个笔记库,找到相关笔记、过往内容、已有大纲。结果是:内容建立在你所有思考和写作的基础上,而不是从白纸开始。

工作流示例:

    1. 要求Claude找五条关于某个主题的永久笔记
    1. 立即要求它用这些笔记写一篇 Newsletter,遵循你的写作风格和结构
    1. 两分钟后:完整草稿,包括元数据、标题、预览文本、关键要点和全文

Prompt只有两句话。因为AI在你开口之前就已经读过你知识库里的所有内容。

场景三:Skill 工作流——把流程变成命令#

这是系统指数级增强的关键。

每个你和Claude一起完成的工作流都可以变成一个可重复调用的命令:

    1. 和 Claude 一起跑完一个工作流
    1. 会话结束时,让它为这个流程写一个 SOP(标准操作规程)
    1. 保存为 Skill 文件
    1. 之后只需输入 /skill-name,整个流程自动运行

我在每次高效会话结束后都这样做。时间一长,我的Skill库变成了一个完全围绕自己工作方式构建的个人自动化系统。

场景四:MCP 连接外部工具#

通过 MCP(Model Context Protocol),Claude Code 不局限于本地笔记库:

工具用途实际应用
Things3任务管理问「今天的优先任务是什么」,Claude 直接读取 Things3 数据
Tana快速捕获语音笔记自动转写,按标签分类
组合端到端流水线/voicenotetoletter 一个命令:获取语音笔记→翻译→格式化→保存→生成标题和摘要

笔记库、任务系统、捕获工具、内容流水线——全部整合为一个系统,从单一界面操作。

AI 第二大脑集成系统架构


评估:优势与门槛#

优势#

  • • 上下文持久化、可读、可编辑,每次会话自动增长
  • • 即装即用,兼容已有 Obsidian 笔记库
  • • 通过 MCP、Skill、sub-agent 无限扩展
  • • 性价比最高的高级 AI 方案
  • • 所有 AI 上下文都是你可以完全控制的纯文本文件

门槛#

门槛应对策略
终端使用只需学 pwdlscd 三个命令,一周内可以适应
初始配置让 Claude 帮你写 CLAUDE.md,甚至让它整理你的文件结构
Markdown 格式如果笔记在 Notion/Evernote,可通过 MCP 访问并导入到 Obsidian

关于初始配置,一个巧妙的workaround:把所有文件扔进一个 inbox 文件夹,然后让 Claude 按照你的系统来整理它们。因为 Claude 可以读写文件和创建文件夹,它可以自己构建整个系统


五步快速开始#

  1. 1. 安装 Obsidian(免费)。已有笔记库直接打开
  2. 2. 安装 Claude Code:终端运行 npm install -g @anthropic-ai/claude-code
  3. 3. 导航到笔记库:右键文件夹 → 服务 → 新建终端窗口
  4. 4. 启动 Claude:输入 claude
  5. 5. 让 Claude 生成上下文:「读取我的笔记库结构,帮我写一个 CLAUDE.md」

从第一次会话开始,你的 AI 就有了上下文。系统从此运转。


关键启示#

这套方案的核心不在于 Obsidian 或 Claude Code 这两个具体工具,而在于一个简单的原则:

上下文永远比 Prompt 重要。

当你的 AI 了解你的文件结构、项目、写作风格和整个知识库时,它的输出质量会发生质变。而这种理解是可以积累的——每一次会话都让系统更聪明、更个性化、更贴合你的思维方式。

第二大脑不再只是一个笔记库。它是一个有记忆、能行动、会成长的智能系统。====使用NetworkX提取图网络特征.md====#

title: “使用NetworkX提取图网络特征” published: 2024-09-14 description: “本文探讨如何使用NetworkX从不同层面(节点、边和图本身)提取重要的图特征,特别是如何使用Python和NetworkX从图中提取关键特征。” image: “/images/使用NetworkX提取图网络特征/img_c36655f4.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#


图是模拟在线社交平台、运输网络和生物系统等不同领域实体间联系的重要结构。通过从这些图中提取有意义的特征,我们可以获得有价值的见解,并提高机器学习算法的性能。

本文探讨如何使用NetworkX从不同层面(节点、边和图本身)提取重要的图特征,特别是如何使用Python和NetworkX从图中提取关键特征。

本文使用NetworkX提供的Zachary’s Karate Club Network作为示例,这个著名的数据集代表了一所大学空手道俱乐部的社交网络,是了解基于图的特征提取的绝佳起点。

在深入了解细节之前,先定义一些帮助我们显示图表的代码。首先,引入一些辅助函数来指定默认的可视化选项。下面的代码中的两个函数,一个用于实现彩色地图,另一个用于定义默认节点方面。

1def create_color_map():
2 # Define the colors for the colormap (from blue to orange)
3 colors = [“#002049”, “#FFA500”] # Blue to Orange
4
5 # Create a colormap
6 return mcolors.LinearSegmentedColormap.from_list(“blue_orange_cmap”, colors)
7
8def set_default_node_options():
9 return {
10 ‘node_color’: ‘#4986e8’,
11 ‘node_size’: 1000,
12 ‘edgecolors’: ‘black’,
13 ‘linewidths’: 2,
14 }

以下函数有助于根据节点、边和相关标签的不同可视化选项绘制图形。通过下面的实现,我们可以根据需要灵活地勾画出图形元素的特征。

1#绘制图函数
2def draw_graph(G, pos, node_options=None, edge_options=None, node_labels=None, edge_labels=None):
3
4 # Draw nodes
5 if not node_options:
6 node_options = set_default_node_options()
7 nx.draw_networkx_nodes(G, pos, **node_options)
8
9 # Draw node labels
10 if not node_labels:
11 node_labels = set_default_node_labels()
12 nx.draw_networkx_labels(G, pos, **node_labels)
13
14 # Draw edges
15 if not edge_options:
16 edge_options = set_default_edge_options()
17 nx.draw_networkx_edges(G, pos, **edge_options)
18
19 # Draw edge labels
20 if edge_labels:
21 nx.draw_networkx_edge_labels(G, pos, **edge_labels)
22
23 # Show the graph
24 plt.axis(‘off’)
25 plt.gca().set_aspect(‘equal’)
26 plt.show()

从这个图开始,让我们深入研究NetworkX的功能,以提取基于节点、基于边和基于图的特征。

现在,让我们使用这些辅助函数来可视化空手道俱乐部网络(Zachary’s Karate Club Network)数据集。

1G = nx.karate_club_graph()
2pos = nx.spring_layout(G, iterations=10, seed=20000)
3draw_graph(G, pos)

图 1 - 空手道俱乐部网络数据集

从这个图开始,让我们深入研究 NetworkX 的功能,以提取基于节点、基于边和基于图的特征。

基于节点的特征**(Node-Based Features)**#

基于节点的特征是描述节点在图网络中结构和位置的特征。这些特征对于节点分类、链接预测和社群检测等各种图分析任务至关重要,因为它们提供了有关单个节点在网络结构中作用的宝贵信息。下面是一些基于节点特征的示例。

1.节点度(Node Degree)#

节点度是指与节点相连的边的数量。例如,在社交网络中,用户的节点度与他们在平台上的连接数相对应。节点度高的用户可被视为在网络中社交活动更活跃的用户,类似于拥有众多粉丝的社交媒体影响者。相反,节点度较低的用户会拥有较少的连接,这就好比一个人在平台上的朋友圈很小。在这种情况下,了解节点度有助于识别关键用户、分析社交结构并为用户参与策略提供依据。

下面是可视化空手道俱乐部网络中节点度特征的代码。

1dg = dict(G.degree())
2node_options = set_options_for_centrality(G, dg.values(), set_default_node_options())
3draw_graph(G, pos, node_options=node_options)

图 2 - 节点度

我们可以计算网络的平均节点度,以了解每个节点连接了多少条边。

1num_edges = G.number_of_edges()
2num_nodes = G.number_of_nodes()
3avg_degree = 0
4avg_degree = round(2 * num_edges / num_nodes)
5
6print(“Num edges:”, num_edges, “Num nodes:”, num_nodes)
7print(“Average degree of karate club network is {}“.format(avg_degree))

输出结果为:

1Num edges: 78 Num nodes: 34
2Average degree of karate club network is 5

2. 节点度中心性(Node Degree Centrality)#

节点度中心性根据节点的连接数来衡量节点在网络中的重要性。节点度计算的是连接数,而节点度中心性则根据网络中可能的连接总数对该值进行归一化处理。这种归一化可以对不同规模网络中的节点进行更有意义的比较。

例如,在交通网络中,节点度中心性有助于识别关键的枢纽或交叉点。中心度高的机场会与许多其他机场相连,表明其作为中心交通枢纽的作用。这一指标根据网络规模进行归一化处理,可对不同地区或国家的机场进行有意义的比较。

下面是可视化空手道俱乐部网络中节点度中心性特征的代码。

1dc = nx.degree_centrality(G)
2node_options = set_options_for_centrality(G, dc.values(), set_default_node_options())
3draw_graph(G, pos, node_options=node_options)

图 3 - 节点度中心性

3.特征向量中心度(Eigenvector Centrality)#

特征向量中心度衡量一个节点在网络中的影响力。它给所有节点打分,认为与高分节点的连接比与低分节点的连接贡献更大。

要理解特征向量中心性的主要原理,可以通过学术引用网络中的这个例子。A教授发表了5篇论文,每篇论文都被1或2篇引用次数较少的其他论文引用。B教授发表了3篇论文,每篇论文都被数百篇极具影响力的论文引用。虽然A教授发表的论文更多,但B教授的特征向量中心度可能更高,因为他们的论文被更多有影响力的论文引用。

这种测量方法对于了解复杂网络(如引用或合作网络)中的影响力和信息流尤为有用。在这种情况下,特征向量中心性有助于识别某一领域的关键影响者和开创性作品,即使他们的原始引用次数不是最高的。

下面是可视化空手道俱乐部网络中特征向量中心性特征的代码。

1ec = nx.eigenvector_centrality(G)
2node_options = set_options_for_centrality(G, ec.values(), set_default_node_options())
3draw_graph(G, pos, node_options=node_options)

图 4- 特征向量中心性

4.节点间中心度(Betweenness Centrality)#

节点间中心度量化了一个节点在其他两个节点之间的最短路径上充当桥梁的频率。换句话说,如果一个节点经常位于连接其他节点对的最短路径上,则该节点具有较高的介度中心性。

为了说明这一概念,我们以某个公司的通信网络为例。想象一下一家大公司的中层经理。这位经理的中心度很高,因为他在上层管理者和各部门之间传递信息,促进没有直接互动的员工之间的沟通,并充当全公司倡议的桥梁。

如果这位中层管理者离职,就会极大地扰乱信息流,从而凸显其在公司交流网络中的作用(以介度中心性衡量)。

下面是可视化空手道俱乐部网络中间度中心性特征的代码。

1bc = nx.betweenness_centrality(G)
2node_options = set_options_for_centrality(G, bc.values(), set_default_node_options())
3draw_graph(G, pos, node_options=node_options)

图 5- 节点间中心度

5.邻近中心度(Closeness Centrality)#

邻近中心度评估一个节点与网络中所有其他节点的接近程度。邻近中心度高的节点能以较少的跳数快速到达网络中的其他节点。

为了说明这一概念,请想象一个城市的地铁系统,车站是节点,轨道连接是边缘。一个 “中心站 “直接与许多其他站点相连,而几个外围站点只与附近的一两个站点相连。

在这个网络中,“中央车站 “具有较高的接近中心性,因为它可以快速到达大多数其他车站,通常只需一次直接连接或一次换乘。这使得 “中央车站 “成为在城市中高效旅行和在整个网络中快速传播信息(如服务更新)的理想选择。外围车站的接近中心度较低,因为乘客需要从这些车站多次换乘才能到达网络的其他部分。

在这种情况下,邻近中心度对于了解交通网络的效率和结构至关重要,可帮助城市规划者优化路线并确定关键枢纽。

下面是可视化空手道俱乐部网络中接近中心性特征的代码。

1ce = nx.closeness_centrality(G)
2node_options = set_options_for_centrality(G, ce.values(), set_default_node_options())
3draw_graph(G, pos, node_options=node_options)

图 6 - 邻近中心度

6.聚类系数(Clustering Coefficient)#

聚类系数量化了图中节点趋于聚类的程度。它反映了一个节点的两个邻居也是彼此邻居的可能性。

节点中心度衡量的重点是节点在整个网络中的重要性或影响力,而聚类系数则不同,它能让我们深入了解节点周围的局部结构。

考虑蛋白质相互作用网络中的三种蛋白质:A、B 和 C。

  • 蛋白质 A 与其他 10 种蛋白质相互作用,但这些蛋白质之间没有相互作用。其聚类系数为 0。
  • 蛋白质 B 与其他 10 种蛋白质相互作用,所有这些蛋白质之间也有相互作用。其聚类系数为 1。
  • 蛋白质 C 与其他 10 个蛋白质相互作用,其中有 5 对蛋白质相互影响。根据其相邻蛋白质之间相互作用的确切数量,其聚类系数值将介于 0 和 1 之间。

在这种情况下,即使代表蛋白质的节点具有相同数量的连接,聚类系数也能揭示生物系统中不同的局部网络结构。

下面是可视化空手道俱乐部网络中聚类系数特征的代码。

1cc = nx.clustering(G)
2node_options = set_options_for_centrality(G, cc.values(), set_default_node_options())
3draw_graph(G, pos, node_options=node_options)

图 7 - 聚类系数

7. 比较中心度值(Compare Centrality Values)#

比较不同的中心度值有助于网络分析,因为这样可以全面了解节点在网络中的作用。

以下是使用 Pandas 可视化并生成数据帧的代码,用于比较在空手道俱乐部网络中检测到的节点中心度值。

1import pandas as pd
2data = [dc, ec, bc, ce]
3indices = [‘Degree Centrality’, ‘Eigenvector Centrality’, ‘Betweenness Centrality’, ‘Closeness Centrality’]
4df = pd.DataFrame(data, index=indices).T
5df.style.background_gradient(cmap=create_color_map())

基于边缘的特征**(Edge-Based Features)**#

基于边缘的特征是从图中节点之间的关系而非单个节点的属性中得出的特征。这些特征可以捕捉到有关网络结构和连接模式的信息。以下是一些基于边缘特征的示例。#

1.基于距离的特征(最短路径)#

图分析中基于距离的特征可以测量网络中节点对之间的接近程度或距离。为了理解这些特征背后的关键概念,让我们考虑一个全球航空网络,其中机场是节点,航线是边。

在这种情况下,基于距离的特征可以帮助确定两个机场之间的最短路径。例如,找出从纽约到东京停留时间最少的最有效路线。这有助于航空公司优化航班连接,也有助于乘客规划行程。

以距离为基础的特征对于航空公司等机构来说至关重要,因为这些机构要对航线规划、机场开发和提高航空运输网络的整体效率做出决策。

下面是可视化空手道俱乐部网络中两个节点之间最短路径的代码。

1# 识别两个节点之间的最短路径
2path = nx.shortest_path(G, source=21, target=22)
3path_edges = list(zip(path,path[1:]))
4node_options = set_default_node_options()
5
6# Draw and highlight nodes and edges
7nx.draw(G, pos, node_color=‘black’, node_size=500)
8
9node_options = {
10 ‘nodelist’: path,
11 ‘node_color’: ‘#4986e8’,
12 ‘node_size’: 1000,
13 ‘edgecolors’: ‘black’,
14 ‘linewidths’: 2,
15}
16
17edge_options = {
18 ‘edgelist’: path_edges,
19 ‘edge_color’: ‘#4986e8’,
20 ‘width’: 5,
21 ‘alpha’: 0.7,
22}
23
24draw_graph(G, pos, node_options=node_options, edge_options=edge_options)

图 8 - 最短路径

2.局部邻域重叠度(Local Neighborhood Overlap)#

局部邻域重叠度衡量的是图中两个节点共享共同邻域的程度。换句话说,它通过计算两个节点相邻节点的交集来量化两个节点之间的相似度。

要理解这种测量方法,可以考虑这样一个社交网络:爱丽丝是查理、大卫和艾玛的朋友,而鲍勃是大卫、艾玛和弗兰克的朋友。在这种情况下,爱丽丝和鲍勃之间的本地邻里重叠就是他们的共同朋友大卫和艾玛。这种重叠表明,爱丽丝和鲍勃有相似的社交圈,即使他们可能没有直接联系。

下面是可视化空手道俱乐部网络中两个节点之间局部邻域重叠的代码。

1loc_neigh = sorted(nx.common_neighbors(G, 32, 33))
2
3# Draw and highlight selected nodes
4nx.draw(G, pos, node_color=‘k’, node_size=500)
5
6selected_options = {
7 ‘nodelist’: [32, 33],
8 ‘node_color’: ‘orange’,
9 ‘node_size’: 1000,
10 ‘edgecolors’: ‘black’,
11 ‘linewidths’: 2,
12}
13
14nx.draw_networkx_nodes(G, pos, **selected_options)
15
16# Draw and highlight neighbors
17node_options = {
18 ‘nodelist’: loc_neigh,
19 ‘node_color’: ‘#4986e8’,
20 ‘node_size’: 1000,
21 ‘edgecolors’: ‘black’,
22 ‘linewidths’: 2,
23}
24
25draw_graph(G, pos, node_options=node_options)

图 9 - 局部邻近重叠度

3.全局邻域重叠度(Global Neighborhood Overlap)#

全局邻域重叠度衡量图中两个节点的扩展邻域之间的相似性。它计算的是在一定距离(通常是 2 跳或更多跳)内的共同邻域占该距离内不同邻域总数的比例。

因此,局部邻域重叠仅限于直接连接,而全局邻域重叠则能捕捉到更广泛的网络模式。这使得全局邻域重叠在了解网络结构的长距离相似性方面特别有用。

例如,在研究人员合作网络中:

  • 局部邻域重叠可能会识别出两个经常共同发表论文的研究人员,这表明他们合作密切或在同一个研究小组工作。
  • 全球邻域重叠可以揭示出两个来自不同机构的研究人员虽然没有直接合作,但却拥有相似的合作者扩展网络。这可能表明,尽管他们在地理上相距甚远,但却在同一领域工作或具有相似的研究兴趣。

下面的代码用于可视化空手道俱乐部网络中两个节点之间的全局邻域重叠,突出显示其邻域之间的相关路径。

1edges = []
2nodes = []
3paths = nx.all_simple_paths(G, source=0, target=3, cutoff=3)
4
5for p in paths:
6 nodes.append(p)
7 edge = list(zip(p, p[1:]))
8 edges.append(edge)
9
10# Flat lists for nodes and edges
11nodes = [
12 x
13 for xs in nodes
14 for x in xs
15]
16
17edges = [
18 x
19 for xs in edges
20 for x in xs
21]
22
23# Draw basic elements of the graph
24nx.draw(G, pos, node_color=‘k’, node_size=500)
25
26# Draw source and target nodes
27selected_options = {
28 ‘nodelist’: [0, 3],
29 ‘node_color’: ‘orange’,
30 ‘node_size’: 1000,
31 ‘edgecolors’: ‘black’,
32 ‘linewidths’: 2,
33}
34
35nx.draw_networkx_nodes(G, pos, **selected_options)
36
37# Draw global neighbor nodes and the related connections with source and target
38node_options = {
39 ‘nodelist’: [n for n in nodes if n not in [0, 3]],
40 ‘node_color’: ‘#4986e8’,
41 ‘node_size’: 1000,
42 ‘edgecolors’: ‘black’,
43 ‘linewidths’: 2,
44}
45
46edge_options = {
47 ‘edgelist’: edges,
48 ‘edge_color’: ‘#4986e8’,
49 ‘width’: 5,
50 ‘alpha’: 0.7,
51}
52
53draw_graph(G, pos, node_options=node_options, edge_options=edge_options)

图 10 - 全球邻近重叠度

基于图的特征**(Graph-Based Features)**#

#

基于图的特征是从图的整体结构和属性而非单个节点或边中得出的特征。这些特征可以捕捉到整个网络拓扑结构的信息,并能让人深入了解图中的全局模式。以下是基于图的特征的一些示例。

1.小图(从节点到图表特征的角度)#

小图是在大图中检测到的小尺寸子图,代表局部连接模式。小图既可视为基于节点的特征,也可视为基于图的特征:

  • 作为基于节点的特征,小图可用于描述单个节点周围的本地邻域结构。通过研究节点参与的小图,我们可以深入了解其在网络中的本地连接模式。
  • 作为基于图的特征,小图还可以描述图的整体结构。通过统计整个图中不同小图的出现次数,我们可以获得图拓扑结构的指纹。

考虑到这两方面的原因,小图可以提供以下功能:

  • 分类任务:可从每个节点的邻域中提取基于小图的特征,并将其作为机器学习模型的输入,以预测节点标签或类别。
  • 网络比较:基于小图频率的相似性测量可用于比较或分组不同的网络。
  • 结构分析:小图捕捉有助于形成局部分组模式的特定节点排列,提供对网络结构的深入了解。

下面是将NetworkX中最多6个节点的所有连接图的Atlas中的非同构小图可视化的代码。

1import random
2
3GraphMatcher = nx.isomorphism.vf2userfunc.GraphMatcher
4
5def atlas6():
6 Atlas = nx.graph_atlas_g()[3:209] # 0, 1, 2 => no edges. 208 is last 6 node graph
7 U = nx.Graph()
8 for G in Atlas:
9 if nx.number_connected_components(G) == 1:
10 if not GraphMatcher(U, G).subgraph_is_isomorphic():
11 U = nx.disjoint_union(U, G)
12 return U
13
14G_atlas = atlas6()
15
16plt.figure(1, figsize=(6, 6))
17pos = nx.nx_agraph.graphviz_layout(G_atlas, prog=“neato”)
18C = (G_atlas.subgraph(c) for c in nx.connected_components(G_atlas))
19
20for g in C:
21 c = [‘#4986e8’] * nx.number_of_nodes(g) # random color…
22 nx.draw(g, pos=pos, node_size=40, node_color=c, vmin=0.0, vmax=1.0, with_labels=False)
23plt.show()

图 11 - 小图

2.魏斯费勒-莱曼特征(Weisfeiler-Leman Features)#

Weisfeiler-Leman(WL)特征源自 WL 算法,这是一种测试图形同构性的迭代方法。这些特征根据相邻节点的标签迭代更新节点标签,从而捕捉图的结构信息。WL 特征在图分析任务(如图分类)中特别有用,因为它们提供了一种将图结构编码成特征向量的方法,可供机器学习算法使用。

通过下面的代码,可以更好地理解这些功能是如何工作的。首先,我们创建一个与空手道俱乐部网络同构的新G_perm图。然后,我们在两个图上运行WL算法,生成一个代表WL图特征的哈希值。

1import networkx as nx
2import numpy as np
3from networkx.algorithms import isomorphism
4
5# Get the adjacency matrix of G1
6adj_matrix = nx.to_numpy_array(G)
7
8# Create a random permutation of the nodes
9n = G.number_of_nodes()
10np.random.seed(42)
11permutation = np.random.permutation(n)
12
13# Create the permutation matrix
14P = np.zeros((n, n))
15for i in range(n):
16 P[i, permutation[i]] = 1
17# Apply the permutation to the adjacency matrix: PAP^T
18permuted_adj_matrix = P @ adj_matrix @ P.T
19
20# Create the permuted graph from the permuted adjacency matrix
21G_perm = nx.from_numpy_array(permuted_adj_matrix)
22
23# Check if the graphs are isomorphic
24iso_check = isomorphism.is_isomorphic(G, G_perm)
25print(f”Are G and G_perm isomorphic? {iso_check}“)
26
27# Compute the Weisfeiler-Lehman graph hashes for both graphs
28hash_G = nx.weisfeiler_lehman_graph_hash(G)
29hash_G_perm = nx.weisfeiler_lehman_graph_hash(G_perm)
30
31# Print the hashes
32print(f”Weisfeiler-Lehman Graph Hash of G: {hash_G}“)
33print(f”Weisfeiler-Lehman Graph Hash of G_perm: {hash_G_perm}“)
34
35# Compare the hashes
36are_hashes_equal = hash_G == hash_G_perm
37print(f”Are the WL graph hashes of G and G_perm equal? {are_hashes_equal}”)

输出结果如下:

1Are G and G_perm isomorphic? True
2Weisfeiler-Lehman Graph Hash of G: c7184009df3be2e402cfcb318efaa4b3
3Weisfeiler-Lehman Graph Hash of G_perm: c7184009df3be2e402cfcb318efaa4b3
4Are the WL graph hashes of G and G_perm equal? True

通过利用 WL 算法,我们可以分配特定的图特征,从而了解与空手道俱乐部网络相对应的 G 和与 G 的排列相对应的 G_perm 具有相同的关系结构。

图 12 - G 中的节点度值(突出显示 33 节点)

图 13 - G_perm 中的节点度值(突出显示节点 29)

G中的第33节点对应于经过置换过程后G_perm中的第29节点。因此,这两个节点将使用相同的基于节点和基于边的特征。要识别两个图之间的对应节点对,我们可以运行下面的代码,替换我们感兴趣的节点的id:

1node_id = 33
2permuted_node_id = np.where(permutation == 33)[0][0]

总  结#

本文探讨了可以从图网络结构中提取的三大类特征,利用这些不同的功能,我们可以全面了解图网络结构,识别关键参与者,了解信息流,并发现隐藏的模式。如需获取完整代码,请后台留言。

本公众号相关内容推荐#


title: “使用Python+hvPlot绘制出版级可视化图表(附完整代码)” published: 2024-01-24 description: “本文将以美国华盛顿2023年最高气温数据与1990至2020年日平均气温数据进行比较分析为例,介绍如何使用Python+hvPlot/HoloViews绘制更精致、更适合出版的可视化图表。” image: “/images/使用Python-hvPlot绘制出版级可视化图表-附完整代码/img_201d62e4.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#

本文将以美国华盛顿2023年最高气温数据与1990至2020年日平均气温数据进行比较分析为例,介绍如何使用Python+hvPlot/HoloViews绘制更精致、更适合出版的可视化图表。

本文示例数据来源于爱荷华州立大学提供的爱荷华环境和天气监测网络-

Iowa Environmental Mesonet(IEM)的气象数据。

下面先贴上来绘制的图表结果,主要包括三个步骤(每步骤附代码)。第一步实现基于数据绘制的初级版本:

第二步实现更新颜色和样式的优化版本:

第三步实现最终版本:

  • 初级版本

  • 使用IEM提供的数据接口直接加载1928-2023年的华盛顿气象观测数据,并进行基本的数据处理,例如,将日期转换为日期时间对象以用作索引,删除一个未使用的station列,通过使用 float16类型减少内存占用,以及创建额外的字段供后续优化版本使用。

  • 计算1990-2020年的日平均气温。

  • 使用hvPlot绘制交互式图表,并将这一版本存储为first.html文件。

import pandas as pdimport hvplot.pandasimport holoviews as hvfrom bokeh.themes.theme import Theme
# 加载数据并进行基本预处理df = ( pd.read_csv( "https://mesonet.agron.iastate.edu/cgi-bin/request/daily.py?network=IA_ASOS&stations=AWG&year1=1928&month1=1&day1=1&year2=2023&month2=12&day2=31&var=max_temp_f&var=min_temp_f&var=precip_in&na=blank&format=csv", parse_dates=True, index_col="day", ) .drop(columns=["station"]) .astype("float16") .assign( dayofyear=lambda df: df.index.dayofyear, year=lambda df: df.index.year, ))
# 计算1990至2020年的日平均气温df_avg = df.loc[df["year"].between(1990, 2020)].groupby("dayofyear").mean()df_2023 = df[df.year == 2023]
# 绘制初级版本图表plot = df.hvplot(x="dayofyear", y="max_temp_f", by="year", color="grey", alpha=0.02, legend=False, hover=False)plot_avg = df_avg.hvplot(x="dayofyear", y="max_temp_f", color="grey", legend=False)plot_2023 = df_2023.hvplot(x="dayofyear", y="max_temp_f", color="black", legend=False)base = plot * plot_avg * plot_2023hv.save(base, "first.html")

30行代码实现了该可视化图表的初级版本。

  • 优化版本

由于hvPlot使用 HoloViews,而HoloViews使用Bokeh(或Matplotlib)作为绘图后端,因此我们需要对Bokeh应用某些自定义样式,以获得第二个更新的绘图。这些样式在 hvPlot / HoloViews 中是无法直接使用的。具体来说,我们需要创建一个绘图样式,并将其应用到HoloViews的对象中。在这里,我们要更新图表的背景颜色、移除图表的轮廓、调整网格和轴线,并更改标签的字体和颜色。实现代码如下:

theme = Theme( json={ "attrs": { "figure": { "background_fill_color": "#1b1e23", "border_fill_color": "#1b1e23", "outline_line_alpha": 0, }, "Grid": { "grid_line_color": "#808080", "grid_line_alpha": 0.1, }, "Axis": { # tick color and alpha "major_tick_line_color": "#4d4f51", "minor_tick_line_alpha": 0,
# tick labels "major_label_text_font": "Courier New", "major_label_text_color": "#808080", "major_label_text_align": "left", # axis labels "axis_label_text_font": "Courier New", "axis_label_text_font_style": "normal", "axis_label_text_color": "lightgrey", "axis_line_color": "#4d4f51", }, "Title": { "text_font": "Courier New", "text_font_style": "normal", "text_color": "lightgrey" }, } })
hv.renderer("bokeh").theme = theme

然后,我们要更新图表标题文字,只显示X轴上的网格,并更改X轴上刻度线的标注方式为月份。实现代码如下:

updated = (plot * plot_avg * plot_2023.opts(color="lightgrey")).opts( xlabel="TIME OF YEAR", ylabel="MAX TEMP °F",    title="WASHINGTON 2023 vs AVERAGE (1990-2020)", fontscale=1.18, gridstyle={"ygrid_line_alpha": 0}, show_grid=True, xticks=[ (1, "JAN"), (31, "FEB"), (59, "MAR"), (90, "APR"), (120, "MAY"), (151, "JUN"), (181, "JUL"), (212, "AUG"), (243, "SEP"), (273, "OCT"), (304, "NOV"), (334, "DEC"), ],)hv.save(updated, "second.html")

优化后的版如下:

  • 最终版本

要绘制最终版本的可视化图表,需要对数据进行更多的预处理操作:

  • 新创建一列用来存储 2023 年的气温数值和平均值的混合值。当 2023 年的温度超过平均值时,使用2023年的值,否则返回平均值。对于低于平均值的温度,也采用同样的逻辑。
  • 计算并存储高于或低于平均值的天数。
df_above = df_2023[["dayofyear", "max_temp_f"]].merge( df_avg.reset_index()[["dayofyear", "max_temp_f"]], on="dayofyear", suffixes=("_2023", "_avg"),)df_above["max_temp_f"] = df_above["max_temp_f_avg"]df_above["max_temp_f"] = df_above.loc[df_above["max_temp_f_2023"] >= df_above["max_temp_f_avg"], "max_temp_f_2023"]
df_below = df_2023[["dayofyear", "max_temp_f"]].merge( df_avg.reset_index()[["dayofyear", "max_temp_f"]], on="dayofyear", suffixes=("_2023", "_avg"),)df_below["max_temp_f"] = df_below["max_temp_f_avg"]df_below["max_temp_f"] = df_below.loc[df_below["max_temp_f_2023"] < df_below["max_temp_f_avg"], "max_temp_f_2023"]
days_above = df_above.query("max_temp_f_2023 >= max_temp_f_avg")["max_temp_f"].sizedays_below = df_below.query("max_temp_f_2023 < max_temp_f_avg")["max_temp_f"].size

接下来创建图表上的阴影样式:

  • 分别为红色和蓝色定义十六进制代码“#FF5555”、“#5588FF”,区域图和高于或低于平均值的天数数字都将使用这两个代码。然后,给两条曲线之间的区域着色。通过修改alpha(不透明度)和线条(边缘)+填充颜色,增加一些样式。
  • 接下来,对“高于(DAYS ABOVE)或低于(DAYS BELOW)平均值的天数“的文本进行设置。
dark_red = "#FF5555"dark_blue = "#5588FF"
plot_above = df_above.hvplot.area( x="dayofyear", y="max_temp_f_avg", y2="max_temp_f").opts(fill_alpha=0.2, line_alpha=0.8, line_color=dark_red, fill_color=dark_red)plot_below = df_below.hvplot.area( x="dayofyear", y="max_temp_f_avg", y2="max_temp_f").opts(fill_alpha=0.2, line_alpha=0.8, line_color=dark_blue, fill_color=dark_blue)
  • 为了防止上面/下面的文本重叠,将

    text_baseline设置为”bottom”和”top”。将”DAYS ABOVE”和”DAYS BELOW”文本与实际天数数值分开,并将其大小减半。

text_days_above = hv.Text( 35, df_2023["max_temp_f"].max(), f"{days_above}", fontsize=14).opts(text_align="right", text_baseline="bottom", text_color=dark_red, text_alpha=0.8)text_days_below = hv.Text( 35, df_2023["max_temp_f"].max(), f"{days_below}", fontsize=14).opts(text_align="right", text_baseline="top", text_color=dark_blue, text_alpha=0.8)text_above = hv.Text(38, df_2023["max_temp_f"].max(), "DAYS ABOVE", fontsize=7).opts( text_align="left", text_baseline="bottom", text_color="lightgrey", text_alpha=0.8)text_below = hv.Text(38, df_2023["max_temp_f"].max(), "DAYS BELOW", fontsize=7).opts( text_align="left", text_baseline="above", text_color="lightgrey", text_alpha=0.8)

最后进行最终版本图表的绘制:

final = ( plot * plot_avg * plot_above * plot_below * text_days_above * text_days_below * text_above * text_below).opts( xlabel="TIME OF YEAR", ylabel="MAX TEMP °F",    title="WASHINGTON 2023 vs AVERAGE (1990-2020)", gridstyle={"ygrid_line_alpha": 0}, xticks=[ (1, "JAN"), (31, "FEB"), (59, "MAR"), (90, "APR"), (120, "MAY"), (151, "JUN"), (181, "JUL"), (212, "AUG"), (243, "SEP"), (273, "OCT"), (304, "NOV"), (334, "DEC"), ], show_grid=True, fontscale=1.18,)hv.save(final, "final.html")


本公众号关于数据可视化相关的文章:


title: “使用Python和NetworkX创建并可视化图网络(Graph Network)” published: 2024-08-23 description: “本文将探讨如何使用Python,特别是NumPy和NetworkX库,来创建和可视化各种图结构。图网络在表示不同领域(如社交网络、网页、交通系统和学术联系)中的关系的作用非常重要。” image: “/images/使用Python和NetworkX创建并可视化图网络-Graph-Network/img_4b25fee2.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#


本文将探讨如何使用Python,特别是NumPy和NetworkX库,来创建和可视化各种图结构。图网络在表示不同领域(如社交网络、网页、交通系统和学术联系)中的关系的作用非常重要。本文将介绍如何使用NumPy构建邻接矩阵,以描述图的连通性,并利用NetworkX可视化这些结构。本文涵盖了无向图(具有对称关系)、有向图(具有单向连接)、加权图(具有不同边缘成本)以及异构图(具有多种节点和边缘类型)的创建。每种图类型都通过代码示例和可视化的形式进行说明,希望帮助读者理解和使用图数据结构。

图网络的重要性#

图是表示各种领域(包括社交网络、网页、交通网络和学术联系)中实体之间关系的基本数据结构。这些领域中的关系是不同的,因此我们需要采用不同类型的图来尽可能接近这些连接的本质。

理解连通性结构(如邻接矩阵或类似的数据结构,如边索引张量)的作用对于掌握图神经网络(GNNs)等高级图机器学习技术背后的关键思想至关重要。

在深入构建这些图网络之前,使用如下代码导入必要的库并显示图形。

# Import necessary librariesimport numpy as npimport networkx as nximport matplotlib.pyplot as plt
# Global color propertiesgraph_color = "#4986e8"label_color = "#ffffff"node_options = { 'node_color': graph_color, 'node_size': 1000, 'edgecolors': 'black', 'linewidths': 2,}
# Helper function to draw any graphdef draw_graph(G, node_options, edge_options, edge_labels=None): """ Draws the graph G with the specified node and edge options. Parameters: G (networkx.Graph): The graph to be drawn. node_options (dict): Options for drawing nodes. edge_options (dict): Options for drawing edges. edge_labels (dict, optional): Labels for the edges. Defaults to None. """
# Define the layout of the graph pos = nx.spring_layout(G, iterations=10, seed=20000)
# Draw the nodes with the specified options nx.draw_networkx_nodes(G, pos, **node_options)
# Draw the node labels with specified font properties nx.draw_networkx_labels( G, pos, font_size=14, font_color=label_color, font_weight='bold' )
# Draw the edges with the specified options nx.draw_networkx_edges(G, pos, **edge_options)
# Draw edge labels if they are provided if edge_labels: nx.draw_networkx_edge_labels( G, pos, edge_labels=edge_labels, connectionstyle="arc3, rad=0.3", font_size=12, font_color="orange", bbox={"alpha": 1, "color": "white"} )
# Turn off the axis and ensure the graph aspect ratio is equal plt.axis('off') plt.gca().set_aspect('equal')
# Display the graph plt.show()

这段代码提供了一个函数,帮助我们以一致的风格绘制不同的图。该函数允许我们灵活地定义节点的视觉选项,更重要的是,可以根据我们想要表示的图的类型定义边的视觉选项。

重要图网络类型#

现在,让我们介绍用于描述不同现象的最重要的图类型,理解它们的特性,并提供一个通用框架,以便建模和可视化它们的特征

无向图(Undirected Graph)#

无向图是一种图,其中边没有方向。换句话说,如果在无向图中存在一条连接顶点0和顶点1的边,则1和0之间存在对称关系。例如,在社交网络中,两个人之间的友谊是相互的:如果小张是小李的朋友,那么小李也是小张的朋友。这种关系可以有效地使用无向图来建模,其中节点表示人,边表示友谊。以下代码展示了如何使用NetworkX库从使用NumPy构建的邻接矩阵开始,构建和可视化一个无向图。

我们通过特定步骤构建了我们的邻接矩阵,以实现我们的目标(在接下来的示例中,我们将直接从预定义的数据结构开始)。从之前的脚本获得的邻接矩阵如下:

# Adjacency matrix (randomly initialized)np.random.seed(1)n = 5A = np.random.randint(2, size=(n, n))
# Include the self loopnp.fill_diagonal(A, 1)
# Hack for creating a symmetric adjacency matrixA = (A + A.T)A[A > 1] = 1

这个邻接矩阵表示一个具有5个节点(标记为0到4)的无向图。我们的邻接矩阵也是对称的,以反映无向图的对称特性。对称矩阵是一个在对角线两侧值相同的方阵。这意味着第i行第j列的值与第j行第i列的值相同。

array([[1, 1, 0, 0, 1], [1, 1, 1, 1, 1], [0, 1, 1, 1, 1], [0, 1, 1, 1, 0], [1, 1, 1, 0, 1]])

以下是基于该矩阵对节点之间连接的简单描述:

  • 节点0与自身(0 → 0)、节点1(0 → 1)和节点4(0 → 4)有边连接。
  • 节点1是完全连接的,与所有节点(包括自身)都有边连接。这意味着节点1与节点0(1 → 0)、节点1自身(1 → 1)、节点2(1 → 2)、节点3(1 → 3)和节点4(1 → 4)都有边连接。
  • 节点2与节点1(2 → 1)、自身(2 → 2)、节点3(2 → 3)和节点4(2 → 4)有边连接。
  • 节点3与节点1(3 → 1)、自身(3 → 3)和节点2(3 → 2)有边连接。
  • 节点4与节点0(4 → 0)、节点1(4 → 1)、节点2(4 → 2)和自身(4 → 4)有边连接。

现在让我们定义绘制无向图的基本边选项:

G = nx.from_numpy_array(A)
edge_options = { 'edge_color': graph_color, 'width': 2.5, 'alpha': 0.7,}
draw_graph(G, node_options, edge_options)

上述代码输出结果如图:

上图中,每个节点都与图中一部分节点相连,并始终与自身相连。这个最后的连接可以直接从邻接矩阵中得出,其中对角线上的所有值都等于1。

有向图(Directed Graph)#

有向图是一种图,其中边具有特定的方向。在有向图中,每条边用箭头表示,指示连接的顶点之间关系的方向。

例如,如果存在一条从顶点0指向顶点1的有向边,则表示从0到1的单向关系或连接,而这条边不一定可以反向遍历或解释。在网页的超链接结构中,如果网页A链接到网页B,并不一定意味着B会链接回A。这种不对称和有方向的关系使得有向图成为一个合适的模型。

在这里,节点表示网页,有向边表示从一个页面到另一个页面的超链接。以下代码演示了如何从一个非对称的邻接矩阵构建有向图。

A = np.array([ [0, 1, 0, 1, 0], [0, 0, 1, 0, 1], [0, 0, 0, 1, 0], [0, 0, 0, 0, 1], [1, 0, 0, 0, 0]])

这个邻接矩阵表示一个具有5个节点(标记为0到4)的有向图。以下是基于该矩阵对节点之间连接的简单描述:

  • 节点0有边连接到节点1(0 → 1)和节点3(0 → 3)。
  • 节点1有边连接到节点2(1 → 2)和节点4(1 → 4)。
  • 节点2有边连接到节点3(2 → 3)。
  • 节点3有边连接到节点4(3 → 4)。
  • 节点4有边连接到节点0(4 → 0),形成一个循环。

现在,让我们更新并扩展之前的边选项,以绘制我们的有向图,并清晰地显示边的方向。

G = nx.from_numpy_array(A, create_using=nx.DiGraph())
edge_options = { 'edge_color': graph_color, 'width': 2.5, 'alpha': 0.7, 'connectionstyle': 'arc3, rad = 0.3', 'arrowstyle': '-|>', 'arrowsize': 30}
draw_graph(G, node_options, edge_options)

上述代码的输出结果如下图:

从上图可以看出,与之前展示的无向图相比,我们没有自环连接。这一点从邻接矩阵中可以明显看出,其中对角线上的所有值都等于0。

加权图(Weighted Graph)#

加权图是一种图,其中每条边都被赋予一个称为权重的数值。这些权重表示与遍历该边相关的某种“成本”、“距离”、“容量”或其他相关度量。

在交通网络中,连接城市的道路具有不同的长度或旅行时间。加权图用于表示城市(节点)之间的道路(边)。在这种情况下,边上的权重可以表示沿该道路的距离、旅行时间或旅行成本。

以下代码演示了如何通过定义一个邻接矩阵来构建加权图,其中的值可以大于1。

A = np.array([ [0, 2, 0, 3, 0], [0, 0, 1, 0, 4], [0, 0, 0, 5, 0], [0, 0, 0, 0, 6], [7, 0, 0, 0, 0]])

这个邻接矩阵表示一个具有5个节点(标记为0到4)的有向加权图。矩阵中的权重表示节点之间连接(边)的强度或成本。以下是基于该矩阵对节点之间连接的描述:

  • 节点0与节点1之间有一条权重为2的边(0 → 1,权重2),与节点3之间有一条权重为3的边(0 → 3,权重3)。
  • 节点1与节点2之间有一条权重为1的边(1 → 2,权重1),与节点4之间有一条权重为4的边(1 → 4,权重4)。
  • 节点2与节点3之间有一条权重为5的边(2 → 3,权重5)。
  • 节点3与节点4之间有一条权重为6的边(3 → 4,权重6)。
  • 节点4与节点0之间有一条权重为7的边(4 → 0,权重7),形成一个循环。

现在,让我们创建边的选项,以绘制我们的有向加权图,并定义边的粗细。

G = nx.from_numpy_array(A, create_using=nx.DiGraph())weights = nx.get_edge_attributes(G, 'weight')
edge_options = { 'edge_color': graph_color, 'width': 2.5, 'alpha': 0.7, 'connectionstyle': 'arc3, rad = 0.1', 'arrowstyle': '-|>', 'arrowsize': 30, 'width': [weights[edge] for edge in G.edges()]}
draw_graph(G, node_options, edge_options)

上述代码的输出结果如下图:

异构图(Heterogeneous Graph)#

异构图是一种节点和边可以有不同类型或属性的图。在这种图中,节点可以表示各种实体或对象,边可以表示这些实体之间的不同关系或交互。

例如,在学术知识图谱中,有多种类型的实体(如论文、作者、机构)和不同类型的关系(如作者撰写论文、论文引用另一篇论文、作者隶属于某个机构)。异构图可以捕捉这些关系的复杂性,节点有不同的类型,边表示各种类型的连接。

以下代码演示了如何构建和可视化一个具有多种关系类型的异构图。在这个例子中,我们使用了一种不同的方法来构建NetworkX库的输入数据。

A = { 'type1': np.array([ [0, 1, 0], [0, 0, 1], [0, 0, 0] ]), 'type2': np.array([ [0, 0, 1], [1, 0, 0], [0, 1, 0] ])}

在这种情况下,我们指定一个Python字典来定义每种关系的邻接矩阵。更具体地说,对于type1关系,我们有以下连接:

  • 节点0与节点1之间有一条边(0 → 1)。
  • 节点1与节点2之间有一条边(1 → 2)。
  • 节点2与任何其他节点没有连接。

对于type2关系,我们有以下连接:

  • 节点0与节点2之间有一条边(0 → 2)。
  • 节点1与节点0之间有一条边(1 → 0)。
  • 节点2与节点1之间有一条边(2 → 1)。

我们可以采用一种更适合机器学习的解决方案来表示不同类型的边,例如创建一个三维张量。

我们使用NetworkX中构建图,以显示具有不同类型边的异构图。

# Create a heterogeneous graph using NetworkXG = nx.MultiDiGraph()
# Add nodesnum_nodes = A['type1'].shape[0]G.add_nodes_from(range(num_nodes))
# Add edges from each adjacency matrixfor edge_type, adj_matrix in A.items(): for i in range(num_nodes): for j in range(num_nodes): if adj_matrix[i, j] != 0: G.add_edge(i, j, type=edge_type)edge_labels = nx.get_edge_attributes(G,'type')
edge_options = { 'edge_color': graph_color, 'width': 2.5, 'alpha': 0.7, 'connectionstyle': 'arc3, rad = 0.3', 'arrowstyle': '-|>', 'arrowsize': 30,}
draw_graph(G, node_options, edge_options, edge_labels=edge_labels)

上述代码的输出结果如下图:

总结#

本文介绍了如何使用Python,特别是NumPy和NetworkX,来表示和可视化各种图。文章涵盖了无向图、有向图、加权图和异构图,每种图在建模现实世界关系中都有不同的用途。


本公众号相关内容推荐:


title: “使用Python工具可视化大型图网络” published: 2024-09-27 description: “本文将介绍如何使用NetworkX、Python iGraph、Graphistry和PyVis这四个Python工具库来可视化大型图网络,每个库都会提供具体代码示例。” image: “/images/使用Python工具可视化大型图网络/img_b0b040e1.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#


通常,有多种方法来可视化数据和存储数据。而在某些情况下,将数据存储为图网络表示而不是关系数据库或地理数据可能会更有用。理论上,图网络由节点和边组成,其中定义了边是否连接节点——即所谓的邻接。用户还可以添加有关节点和边的权重、标签、颜色以及能想到的任何信息。

根据这一理论,有许多著名的算法和启发式方法,它们容易解释但不易处理。明确来说,这些包括旅行推销员问题、匹配优化问题,大多数属于NP复杂性问题。除了地理实体和例如基于这些实体的路由算法之外,还有其他几个例子。如,人与公司之间的连接、关键词与产品之间的关系,或者在自然语言处理上下文中的情感分析,亦或是地方火车与车站之间的连接。

另一方面,有时,图网络的规模会比较大。例如,如果社交网络有一万个用户,这意味着有一万个节点以及其图中的所有潜在连接。同时,如果想要绘制网页图,选择所有相同主题的页面,最终可能仍会得到一个非常大的图。甚至在某些情况下,用户会发现自己正在处理数亿个节点。数据科学家经常需要可视化这些非常大的图网络。

本文介绍如何使用四种Python工具库进行大型图网络可视化。每个库都提供了具体的代码示例,展示了如何根据节点的类别或中心性来给节点着色,以及如何处理图网络中的边和顶点重叠问题。文末附完整实现代码。====使用RAPIDS-cuDF-Pandas的速度提升了150倍.md====#

title: “使用RAPIDS cuDF,Pandas的速度提升了150倍” published: 2024-05-17 description: “使用RAPIDS cuDF不仅可以加快Pandas处理数据的速度,还能使得Pandas dataframe能够加载和处理TB级数据。” image: “/images/使用RAPIDS-cuDF-Pandas的速度提升了150倍/img_e95e9bfa.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#

Pandas是数据科学界使用最多的库之一,其受欢迎程度可与TensorFlow、PyTorch、Numpy和Scikit等巨头相媲美。Pandas的强大在社区中众所周知;它让各种数据的处理变得异常流畅,尤其是表格数据。但是,尽管Pandas如此出色,它也有自己的局限性。例如,在处理TB级数据时,Pandas会将整个数据集加载到运行机器的本地内存中。这种设计限制了它处理超大数据集(如TB级数据集)的能力,因为数据大小可能超过可用内存,导致性能下降或根本无法处理数据。使用RAPIDS cuDF不仅可以加快Pandas处理数据的速度,还能使得Pandas dataframe能够加载和处理TB级数据。RAPIDS是一套由Nvidia开发的开源数据处理和机器学习库,可为整个数据科学领域提供GPU加速。它旨在为数据科学工作流提供无缝的GPU加速,利用GPU的强大功能加快计算速度。cuDF是RAPIDS的一部分,它是一个Python库,为数据处理提供了一个类似于pandas的DataFrame对象,但其实现是为了利用GPU进行操作。它能让用户在大型数据集上执行典型的数据准备任务(如连接、合并、排序、过滤等),比使用pandas等绑定CPU的传统库要快得多。cuDF通过利用GPU的并行处理能力来实现这一目标,GPU 可以同时处理多个数据元素,从而大幅提高性能。尽管cuDF具有诸多优势,但它最初仅支持约60%的Pandas API,并且需要GPU才能执行,这限制了它的应用。为了解决这个问题,英伟达在cuDF v23.10版本中引入了 “pandas加速器模式”,允许pandas代码在GPU上运行而无需更改。该模式会在可能的情况下在GPU上执行操作,并在需要时返回CPU,从而实现两者之间的无缝转换。正如DuckDB Database-like Ops Benchmark所证明的那样,这种集成大大加快了pandas的速度,在连接和分组操作等任务中,采用cuDF加速器模式的pandas的性能比标准pandas高出近150倍。该模式确保数据科学家可以利用现有的pandas代码库,并从GPU加速中获益。

https://github.com/rapidsai/cudf====全球1901年至2021年发生的地震及造成的海啸可视化.md====#

title: “全球1901年至2021年发生的地震及造成的海啸可视化” published: 2022-08-26 description: “可视化显示了从1901年1月1日到2020年12月31日期间,以每秒1年的速度发生的每一次有记录的地震。地震中心首先以闪烁的形式出现,然后保持为彩色的圆圈,然后随着时间的推移而缩小。每个圆圈的大小代表地震的震级,而颜色代表它在地球上的深度。” image: “/images/全球1901年至2021年发生的地震及造成的海啸可视化/img_e872f0c4.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#

这个可视化显示了从1901年1月1日到2020年12月31日期间,以每秒1年的速度发生的每一次有记录的地震。地震中心首先以闪烁的形式出现,然后保持为彩色的圆圈,然后随着时间的推移而缩小,以避免遮挡后续的地震。每个圆圈的大小代表地震的震级,而颜色代表它在地球上的深度。这个动画还突出了其中一些地震所产生的重大海啸。当下面的地震出现时,它们也会有其海啸的 “能量图”,显示每个海啸在公海上的最大模拟波高。

      虽然绝大多数的地震都发生在板块边界,但这些引起海啸的地震大多发生在会聚板块边界。这些边界,也被称为 “俯冲区”,是构造板块碰撞产生巨型地震的地方,也是预期未来毁灭性海啸的发生地。其他小得多的地震也发生在远离板块边界的地方,如与夏威夷的火山活动有关的地震或与俄克拉荷马州的废水注入井有关的地震。

      动画的最后是一系列的总结图。第一张显示了这120年期间的所有地震。下一张地图只显示那些已知产生了海啸的地震,之后的地图只显示那些产生破坏性海啸的地震。最后一张地图显示了造成大多数这些地震的板块边界断层。

      现代地震学的时代—对地震的科学研究—始于19世纪末地震仪的发明和20世纪初在仪器网络中的部署,以记录和测量地震的发生。因此,当动画开始时,只有最大的地震会出现。它们是唯一可以用当时为数不多的仪器在很远的距离上探测到的。但随着时间的推移,越来越多的地震仪被部署,越来越小的地震可以被记录下来。例如,20世纪30年代在加利福尼亚安装的这些仪器造成了那里有新的地震活动的错觉。同样,在20世纪70年代,全球的地震数量似乎有了一个跳跃,当时随着电信和数字信号处理的进步,地震学又有了一个飞跃,这种趋势一直持续到今天。

References:

1.https://earthquake.usgs.gov/earthquakes/search/

2.https://www.ngdc.noaa.gov/hazel/view/hazards/tsunami/event-search

**3.U.S. Tsunami Warning System: https://www.tsunami.gov/**====全球人工智能现状报告-2023.md====#

title: “全球人工智能现状报告 2023” published: 2023-11-09 description: “State of AI Report系列至今已经是第六个年头了,也成为了人工智能领域的风向标,报告从研究进展、行业局势、现有政策、安全问题、未来预测五个维度出发,对最新的AI发展现状和未来预期进行了深度分析。文末附腾讯科技翻译的中文版报告。” image: “/images/全球人工智能现状报告-2023/img_42cb9258.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#

State of AI Report系列至今已经是第六个年头了,也成为了人工智能领域的风向标,这个报告是由业界领先的AI从业者撰写,除了总结过去,也会对未来发展进行很多预测。今年的State of AI报告,汇总和聚焦了过去一年里AI行业中炙手可热的事件,报告中援引的数据,都来自于知名的科技公司和研究小组。报告从研究进展、行业局势、现有政策、安全问题、未来预测五个维度出发,对最新的AI发展现状和未来预期进行了深度分析。

报告原文地址:https://www.stateof.ai/

报告称,OpenAI的GPT-4在发布八个月后仍然是最强的大语言模型(LLM),“在经典基准测试和旨在评估人类的考试中都击败了所有其他大模型”。

下面是这份报告的要点内容。

1、研究进展

  • GPT-4 登场,展示了专有技术与次优开源替代方案之间的能力鸿沟,同时也验证了通过人类反馈进行强化学习的威力;
  • 在 LLaMa-1/2 的支持下,越来越多的人试图用更小的模型、更好的数据集、更长的上下文来克隆或击败专有模型;
  • 目前还不清楚人类生成的数据能维持人工智能扩展趋势多久(有人估计,到 2025 年,数据将被 LLM 耗尽),也不清楚添加合成数据会产生什么影响。企业中的视频和数据可能是下一个目标;
  • LLM 和扩散模型通过为分子生物学和药物发现带来新的突破,继续为生命科学界提供助力;
  • 多模态成为新的前沿,各种智能体热度大大增加。

2、行业局势

  • 英伟达凭借各国、初创公司、大型科技公司和研究人员对其 GPU 的巨大需求,跻身市值万亿美元俱乐部;
  • 主要芯片供应商开发了不受出口管制影响的替代产品;
  • 在 ChatGPT 的带领下,GenAI 的应用程序在图像、视频、编码、语音或 CoPilots 等领域取得了突破性的进展,带动了 180 亿美元的风险投资和企业投资。

3、政策影响

  • 世界已划分出明确的监管阵营,但全球治理的进展仍较为缓慢,最大的人工智能实验室正在填补这一空白;
  • 据预测,人工智能将影响一系列敏感领域,包括选举和就业,但我们还没有看到显著的影响。

4、安全问题

  • 关于生存风险的讨论首次进入主流,并明显加剧;
  • 许多高性能的模型很容易「越狱」,为了解决 RLHF 的挑战,研究人员正在探索替代方案,例如自对齐(self-alignment)和带有人类偏好的预训练;
  • 随着模型性能的提升,一致地评估 SOTA 模型变得越来越困难。

文本附上由腾讯科技翻译的中文版报告。

‍====全球最大地球科学环境数据中心-NOAA-NCEI.md====#

title: “全球最大地球科学环境数据中心:NOAA NCEI” published: 2026-02-14 description: "" image: “/images/全球最大地球科学环境数据中心-NOAA-NCEI/img_928d39f5.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#

NOAA NCEI(National Centers for Environmental Information,国家环境信息中心)隶属于美国国家海洋和大气管理局(NOAA),是全球最大的环境数据归档和分发中心。其档案总量超过60PB,涵盖大气、海洋、地球物理、古气候等几乎所有地球科学领域。本文将全面介绍NCEI的数据体系、核心产品、技术架构和访问方式。


一、背景与使命#

NOAA NCEI 概览

地球观测数据每天都在以惊人的速度增长——NCEI每月从超过130个观测平台归档约229TB的新数据。然而,数据的价值不在于存储,而在于被发现和使用。

NCEI 的核心使命:保存、监测、评估并提供公共访问美国及全球的地球物理数据和信息,使之成为科学研究、气候监测、灾害预警和政策决策的基础。

组织沿革#

NCEI 于 2015 年 4 月 22 日(地球日)正式成立,由三个历史悠久的 NOAA 数据中心合并而成:

前身机构全称领域
NCDCNational Climatic Data Center气候和天气数据
NGDCNational Geophysical Data Center地球物理数据(地磁、地震、测深等)
NODCNational Oceanographic Data Center海洋观测数据

合并旨在统一数据管理实践,消除跨学科的数据壁垒,为用户提供一站式环境数据服务。

组织架构#

  • • 主管机构:NOAA/NESDIS(国家环境卫星、数据和信息服务局)
  • • 总部:北卡罗来纳州阿什维尔(Asheville, NC)
  • • 分支:科罗拉多州博尔德(Boulder, CO)、马里兰州银泉(Silver Spring, MD)、密西西比州斯滕尼斯航天中心(Stennis Space Center, MS)

二、数据规模与分类#

总体规模#

指标数值
档案总量60+ PB(约 7 亿个文件柜的文档量)
月增量~229 TB
观测平台130+ 个
数据集数量26,000+
产品类别25+

产品分类体系#

NCEI 25 大产品类别:大气、海洋、地球物理

NCEI 的数据产品覆盖 25 个主要类别:

大气与气候#

  • • 气候监测(Climate Monitoring)
  • • 气候数据记录(Climate Data Records)
  • • 地面天气观测(Surface Weather Observations)
  • • 高空观测(Upper Air Observations)
  • • 雷达气象(Radar Meteorology)
  • • 强对流天气(Severe Weather)
  • • 天气与气候模型(Weather and Climate Models)
  • • 卫星气象(Satellite Meteorology)

海洋#

  • • 物理海洋(Ocean Physics)
  • • 海洋化学(Ocean Chemistry)
  • • 海洋声学(Ocean Acoustics)
  • • 海洋探测(Ocean Exploration)
  • • 海洋气候实验室(Ocean Climate Laboratory)
  • • 海洋生物(Marine Biology)
  • • 海洋地质与地球物理(Marine Geology and Geophysics)
  • • 卫星海洋学(Satellite Oceanography)
  • • 海岸监测与指标(Coastal Monitoring and Indicators)
  • • 区域海洋气候学(Regional Ocean Climatologies)

地球物理与其他#

  • • 地磁学(Geomagnetism)
  • • 测深/地形(Bathymetry)
  • • 自然灾害(Natural Hazards)
  • • 空间天气(Space Weather)
  • • 古气候学(Paleoclimatology)
  • • 极地数据(Arctic, Antarctic, and Polar Data)

三、核心数据产品#

3.1 气候站网数据 — GHCN 系列#

GHCN(Global Historical Climatology Network)是全球最重要的历史气候观测数据集之一:

数据集说明站点数
GHCNd(daily)全球地面日值气候摘要100000+ 站,180+ 国家
GHCNm(monthly)全球地面月值气候摘要数千站
GHCNh(hourly)全球地面逐时观测持续扩展中

数据包含温度、降水、风速、气压等核心气象要素,以 ASCII 纯文本格式按站点提供,也可通过 API 获取 CSV/JSON 格式。

3.2 全球温度产品#

  • • NOAA Global Temp:结合陆地(GHCN-M)和海表(ERSST)数据的全球地表温度数据集
  • • ERSST v5(Extended Reconstructed Sea Surface Temperature):基于 ICOADS 海洋观测重建的长期海表温度网格数据

这两个产品是 NOAA 发布全球气候状况报告的基础数据。

3.3 海洋数据体系#

NCEI 核心海洋数据产品

World Ocean Database(WOD)#

全球最大的海洋剖面观测数据库,也是国际海洋学数据和信息交换(IODE)项目:

  • • 汇集 20000+ 个独立存档数据集
  • • 来源包括 CTD、XBT、Argo 浮标、锚系浮标、海洋哺乳动物仪器等
  • • 统一格式、去重处理、客观质量控制
  • • 是 World Ocean Atlas 的基础数据来源

World Ocean Atlas 2023(WOA23)#

基于 WOD 制作的全球海洋气候态场:

参数分辨率时间尺度
温度、盐度1° 和 0.25°年、季、月
溶解氧、AOU、氧饱和度1° 和 0.25°年、季、月
磷酸盐、硅酸盐、硝酸盐年、季、月

WOA23 相比 WOA18 新增约 180 万条海洋剖面数据。

International Comprehensive Ocean-Atmosphere Data Set(ICOADS)#

全球最大的海洋表面现场观测集合:5 亿+ 条独立记录,时间跨度从 1662 年至今。

Global Temperature and Salinity Profile Programme(GTSPP)#

由 WMO 和 IOC 联合管理的全球温盐剖面实时数据程序,整合 Argo、XBT、CTD、滑翔机、动物仪器等多源数据。

3.4 ETOPO 2022 — 全球地形地貌模型#

ETOPO 2022 是 NCEI 发布的全球地形(陆地)和测深(海底)融合模型:

特性参数
分辨率15 弧秒(约 500 米),ETOPO1 的 4 倍
数据源机载 LiDAR + 卫星地形 + 船测水深
版本Ice Surface(冰面)和 Bedrock(基岩)两个版本
验证使用 NASA ICESat-2 裸地地形数据独立验证
应用海啸预报、海洋环流模拟、地球可视化

3.5 气候数据记录(CDR)#

NCEI 维护的 CDR 是经过严格审核的长时间序列气候数据集,分为两类:

类型说明示例
基本 CDR(Fundamental)传感器级数据(辐亮度、亮温等)AMSU 亮温、微波成像仪亮温
专题 CDR(Thematic)由基本 CDR 导出的地球物理变量海表温度、海冰浓度、降水

CDR 的质量标准由美国国家研究委员会(NRC)制定,是气候变化评估的基石数据。

3.6 古气候数据#

古气候代用指标数据类型与时间覆盖

NCEI 管理着世界上最大的古气候数据档案,包含 10000+ 个数据集

代用指标来源时间尺度
树木年轮木材横截面数百至数千年
冰芯冰盖/冰川数十万年
珊瑚珊瑚骨骼数百年
石笋洞穴沉积数千至数十万年
海洋/湖泊沉积物沉积柱数百万年

这些数据将气候记录从仪器观测时代(约 150 年)延伸至数百万年前。


四、数据访问技术体系#

NCEI 数据访问技术栈

4.1 发现与搜索#

工具说明地址
NOAA OneStop跨学科搜索所有 NOAA 数据,104,000 集合 + 300 万+元数据data.noaa.gov/onestop
NCEI Data Access下载和裁剪环境数据,支持云端 APIncei.noaa.gov/access/search
Climate Data Online (CDO)历史天气和气候数据在线查询ncei.noaa.gov/cdo-web
Geoportal元数据目录搜索ncei.noaa.gov/metadata/geoportal
Map Viewers交互式地图浏览器(测深、海洋探测等)ncei.noaa.gov/maps

4.2 API 体系#

NCEI 提供一套完整的 RESTful API:

API功能端点
Data Access API数据访问和裁剪/access/services/data/v1
Search API数据集和数据发现/access/services/search/v1
Management API元数据发现/access/services/support/v3/datasets
Order API订单检索/access/services/order/v1
CDO Web Services v2气候数据在线服务ncdc.noaa.gov/cdo-web/api/v2
GIS Map ServicesOGC WMS/WFS/WCS 服务gis.ngdc.noaa.gov/arcgis/rest/services

CDO API 限流:5 次/秒,10000 次/天(需申请 Token)。

4.3 支持的数据格式#

格式说明
NetCDF科学数据标准格式,支持多维数组
CSV通用文本表格,适合轻量级数据
JSONAPI 默认响应格式
Shapefile地理信息系统矢量格式
KMZGoogle Earth 格式
PDF报告和文档
ASCII纯文本(GHCN 站点数据等)

还支持 OPeNDAP 远程数据访问协议,允许按需裁剪和传输数据的子集。


五、NODD — 云端开放数据分发#

NODD 云端开放数据分发计划

什么是 NODD?#

NOAA Open Data Dissemination(NODD)是 NOAA 的云端数据分发计划,将环境数据免费托管在三大云平台上:

云平台服务
AWSAmazon S3 对象存储
AzureMicrosoft Azure Blob 存储
GCPGoogle Cloud Storage

关键数据#

指标数值
云端数据总量24+ PB
月访问量5+ PB
支持日请求量数十亿次
用户成本完全免费,无需认证,无出口流量费

覆盖内容#

  • • 卫星影像(GOES、JPSS/NOAA-20 等)
  • • 雷达数据(NEXRAD)
  • • 天气模型(GFS、HRRR、NAM 等)
  • • 海洋数据库
  • • 气候数据记录(CDR)
  • • 历史天气观测

技术实现#

数据通过以下方式从 NOAA 内部系统流入云端:

  • • Apache NiFi 实例运行在 AWS/Azure/GCP 上
  • • Cloud Ingest Pipeline(北卡罗来纳州立大学合作研究所开发)
  • • 直接从 NOAA 内部系统推送到云对象存储

NODD 的意义在于:科研人员不再需要下载 TB 级数据到本地——可以直接在云端进行分析计算,彻底改变了传统数据使用模式。


六、典型应用场景#

场景使用的 NCEI 数据/产品
全球气候变化评估NOAAGlobalTemp、ERSST、CDR
气象灾害历史分析GHCNd、强对流天气数据、雷达数据
海洋环流与温盐研究WOD、WOA、GTSPP、Argo
海啸预警与海底地形ETOPO 2022、测深数据
古气候重建冰芯、树轮、珊瑚代用指标
卫星遥感产品开发基本 CDR(亮温、辐亮度)
海洋碳循环研究海洋化学数据、ICOADS
地磁导航与空间天气WMM(世界地磁模型)、空间天气数据

七、与国际数据网络的关系#

NCEI 不是孤立存在的,它是全球环境数据网络的核心节点:

  • • WMO(世界气象组织):气象数据交换
  • • IOC/IODE(政府间海洋学委员会):海洋数据交换,WOD 是 IODE 项目
  • • ICSU/WDS(世界数据系统):古气候数据的全球共享
  • • Argo 国际计划:NCEI 作为全球 Argo 数据仓库
  • • GCOS(全球气候观测系统):CDR 贡献

总结#

维度要点
定位全球最大环境数据归档和分发中心
规模60+ PB 档案,26,000+ 数据集,25+ 产品类别
核心气候数据GHCN(10 万+站)、NOAAGlobalTemp、ERSST、CDR
核心海洋数据WOD(2 万+数据集)、WOA23、ICOADS(5 亿+记录)、GTSPP
核心地球物理ETOPO 2022(15 弧秒)、地磁、自然灾害
云端分发NODD 计划:24+ PB 数据免费托管在 AWS/Azure/GCP
API 体系RESTful API 全覆盖,支持 NetCDF/CSV/JSON/Shapefile 等
古气候10,000+ 数据集,覆盖树轮/冰芯/珊瑚/沉积物

NCEI 本质上是地球科学领域的”数字图书馆”——它不产生数据,但它收集、整理、质控、归档和分发全球的环境观测数据,让每一位科研人员都能站在几十年甚至几百万年的观测记录之上开展研究。


References#


title: “全球海洋流场可视化” published: 2018-04-05 description: “洋流可视化展示了全球海洋表层和海平面以下2000米水层的流速和流向。” image: “/images/全球海洋流场可视化/img_9344e726.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#

本文中的洋流可视化展示了全球海洋表层和海平面以下2000米水层的流速和流向。使用数据包括:

ECCO2 High Resolution Ocean and Sea Ice Model 01/2010 - 12/2012 

GTOPO30 Topography and Bathymetry 

举个例子,北美东部沿海的墨西哥湾流,是大西洋上重要的洋流,以及全球最大的洋流。起源于墨西哥湾,经过佛罗里达海峡沿着美国的东部海域与加拿大纽芬兰省向北,最后跨越北大西洋通往北极海。在大约北纬40度西经30度左右的地方,墨西哥湾流分支成两股分支,北分支跨入欧洲的海域,成为北大西洋暖流,南分支经由西非重新回到赤道。通过该仿真动画可以看到海表面与海平面以下2000米之间流速和流向的一些差异,在表层流速快,向东北方向流动。而在2000米水层表现出流速慢并且与表层流相反的方向。

卫星影像图-橘色的部分代表墨西哥湾流

洋流亦称海流,是具有相对稳定流速和流向的大规模海水运动。犹如大洋中的河流,会向某一特定的方向流动,流动的路径大致固定,惟有在陆地沿岸,会因潮汐、地形及河水的注入等影响其变化。洋流的温度、盐度和流向在各地大致一定。洋流如按成因而分,有因风的摩擦应力而产生吹送流(Drift Current),因海水密度不均而生的密度流(Density current),因海面倾斜而生的倾斜流(Slope Current),及因流体的连续性而发生的补偿流(compensation current)。其中以盛行风吹拂的吹送流最为普遍,次为密度差异而生的密度流。洋流如依本身与周围海域之温度差异而分为暖流及寒流。前者为洋流本身比周围海域高温,后者则比周围海域低温者。

长按二维码图片关注

====全球海洋船舶定位数据交互式可视化-附数据.md====#

title: “全球海洋船舶定位数据交互式可视化(附数据)” published: 2024-01-22 description: “是首个可视化和分析以渔船为基础的人类海上活动的开放式在线工具平台。在卫星技术和机器学习的支持下,该地图融合了渔船、货船、客船、科考船等船舶的定位跟踪数据,提供了全球人类海上活动的视图,包括捕鱼活动、夜间灯光船只探测和船只存在情况等。” image: “/images/全球海洋船舶定位数据交互式可视化-附数据/img_ab34cfc6.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#

全球渔业观察地图(https://globalfishingwatch.org/map)是首个可视化和分析以渔船为基础的人类海上活动的开放式在线工具平台。在卫星技术和机器学习的支持下,该地图融合了渔船、货船、客船、科考船等船舶的定位跟踪数据,提供了全球人类海上活动的视图,包括捕鱼活动、夜间灯光船只探测和船只存在情况等。

像素越亮的区域代表渔船捕捞活动越频繁该交互式地图平台提供全球船舶定位跟踪历史查询、渔船活动分析和海洋保护区管理信息门户。

  • 全球船舶定位跟踪历史查询(Vessel Viewer)

Vessel Viewer利用卫星数据和高级分析,生成有关船舶身份和活动的当前和历史信息,并在互联网上提供免费使用。它整合了一系列公共开放的数据,可用于港口检查、渔业执法、保险和海产品供应链等多个试点应用领域,用户可以通过该系统识别和交叉检查有关特定船只及其捕鱼作业的信息,为决策和业务规划提供依据。例如可以为打击非法、无管制和未报告的捕捞活动(IUU)提供辅助决策数据。

Vessel Viewer工具操作指导

“科学”号科考调查船2013至2023年定位轨迹信息

点击地图上任意位置弹出该区域的船舶信息

渔船(LURONGYU52872)活动轨迹信息

渔船(LUHAIYU51893)活动轨迹信息

韩国货船Lake Aurora活动轨迹信息

  • 全球渔船活动分析(Fishing Activities)

该地图提供2012 年至今全球近7万多艘船舶的活动监测信息,并对渔船活动进行分析,结果表明渔船的捕捞量占全球海产品捕捞量的很大一部分。该地图分析了从渔船收集并通过卫星和地面接收器传输的自动识别系统和渔船监测系统数据,并应用捕鱼探测算法,根据渔船速度和方向的变化确定 “明显的捕鱼活动”。按天和纬度划分的捕鱼活动每个像素代表特定纬度在特定日期的捕鱼总量。图中有几种捕鱼模式比较突出,主要是由文化事件驱动的,包括:1)圣诞节和新年假期,许多渔民,尤其是北美、欧洲和南美的渔民至少休息一周;2)每周捕鱼模式,渔民在周末休息两天;3)夏季在中国专属经济区休渔四个月,以及 4)印度洋、太平洋和大西洋南部的漂流延绳随着气温变化,目标渔获物向北迁移。全球延绳钓船队(longline Fishing Fleet)由数千艘渔船组成,每艘渔船的钓钩长达100公里。在特定的一年里,它们在大约三分之一的全球海洋中下钩,这个面积只比地球陆地总面积的总和略小一点。通过数据分析发现延绳钓捕鱼活动实际上非常集中。约有一半的延绳钓活动发生在更小的区域,有时集中在海洋的政治边界上,而且是季节性的,这使得船队更容易跟踪。其中,印度洋马达加斯加以北的区域和太平洋基里巴斯与法属波利尼西亚之间的区域,都是延绳钓活动频繁的区域。

延绳钓捕捞船活动分布

  • 海洋保护区管理信息门户(Marine Manager)

海洋保护区是修复和保护海洋生态系统的重要工具。面对海水温度升高和海洋酸化,海洋保护区有助于维持生物多样性,并为野生动物创造安全的庇护所,使种群得以补充。但是,由于缺乏足够的信息来支持决策,管理工作常常受到阻碍。该地图平台中的海洋保护区管理信息门户是为了帮助解决这个问题而开发的。通过监测长期保护的质量、效率和影响,海洋保护区管理信息门户确保以科学为基础对保护区进行强有力的管理,并承认保护区对我们的海洋所做出的重要贡献。

https://resourcewatch.org/dashboards/ocean-watch

  • 应用程序接口和数据

平台对外提供应用编程接口(API),用户可以基于API调用平台的数据集、代码和模型开发定制化信息化系统,简化对当前船舶活动、身份和历史信息的访问。

API申请地址:

https://globalfishingwatch.org/our-apis/

数据下载地址:

https://globalfishingwatch.org/datasets-and-code/

相关代码:

https://github.com/GlobalFishingWatch


本公众号关于数据可视化相关的文章:


title: “全球海洋观测体系全景” published: 2026-02-25 description: "" image: “/images/全球海洋观测体系全景/img_715917d7.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#

海洋覆盖地球表面的 71%,驱动着全球气候系统、碳循环和生物多样性。然而,相比陆地和大气,海洋仍然是观测最不充分的领域。本文将全面梳理当前全球海洋观测的组织架构、观测网络、核心平台和卫星系统,覆盖所有主要国际海洋观测计划。


一、顶层框架:GOOS 全球海洋观测系统#

1.1 什么是 GOOS?#

GOOS(Global Ocean Observing System,全球海洋观测系统)是全球海洋观测的顶层协调框架,由四个国际组织共同主办:

主办机构全称角色
IOC/UNESCO政府间海洋学委员会主导方
WMO世界气象组织共同主办
UNEP联合国环境规划署共同主办
ISC国际科学理事会共同主办

GOOS 的使命是领导海洋观测社区,构建一个集成的、响应式的、可持续的观测系统,为气候服务、业务预报和海洋健康提供关键信息。

1.2 GOOS 的六大组成部分#

  1. 1. 专家小组:综合需求分析,指导观测系统设计
  2. 2. 观测协调组:维持、加强和扩展观测网络实施
  3. 3. 预报系统团队:改进海洋预报的能力和质量
  4. 4. 项目:推动创新,拓展新领域
  5. 5. 区域联盟(GRA):连接全球框架与区域实施
  6. 6. OceanOPS:国际观测平台协调中心

GOOS 全球海洋观测系统架构框架

1.3 海洋基本变量(EOV)#

GOOS 定义了 36 个海洋基本变量(Essential Ocean Variables, EOV),这是评估海洋状态所需的最小变量集合:

领域EOV 数量代表性变量
物理13海表温度、海面高度、海流、海冰、海洋声速
生物地球化学8溶解氧、pH、营养盐、溶解有机碳、颗粒物
生物与生态12浮游植物、浮游动物、鱼类、珊瑚、红树林、海草
人类影响3海洋垃圾、水下噪声、人工辐射

EOV 是连接观测需求与观测能力的桥梁,也是各观测网络设计的依据。

1.4 OceanOPS — 全球观测协调中心#

OceanOPS 是 WMO/IOC 联合中心,总部位于法国布雷斯特(Brest),自2000年起协调全球海洋和海洋气象观测网络:

  • • 监控 10000+ 个现场海洋气象观测平台
  • • 开发基于 Web 的监测工具
  • • 团队仅 8 人,却协调着全球最复杂的观测基础设施

1.5 POGO — 全球海洋观测伙伴关系#

POGO(Partnership for Observation of the Global Oceans)成立于1999年,是由全球海洋研究机构负责人共同发起的非政府组织,是GOOS的正式合作伙伴。

指标数值
成立时间1999 年(首次会议于 Scripps 海洋研究所)
成员规模32 个国家、55 个成员机构
注册地英国注册慈善组织
合作伙伴GOOS、IOC、SCOR、GEO

核心使命:推动全球业务化海洋学发展,促进全球海洋观测系统的建设、运行和创新。POGO 的成员机构提供了设计、建造和运营全球海洋观测系统所需的专业知识、经验和基础设施。

三大战略方向

  1. 1. 观测创新:推动低成本水听器等新技术在海洋观测中的应用
  2. 2. 能力建设:通过 POGO-SCOR 奖学金计划,资助发展中国家早期职业科学家赴海外顶尖机构研修 1-3 个月。迄今已培训来自 90+ 个国家的约 1,300 名早期职业科学家
  3. 3. 倡导与推广:提升全球对海洋观测重要性的认知

POGO 在体系中的独特角色是作为**学术研究机构与观测系统之间的桥梁。**它不直接运营观测网络,而是协调全球顶尖海洋机构的研究能力,为观测系统的科学设计和技术创新提供支撑。


二、现场观测网络#

全球海洋现场(in situ)观测由多个互补的观测网络组成,各自覆盖不同的时空尺度和海洋深度。

2.1 Argo — 全球海洋剖面浮标阵列#

Argo是过去25年海洋观测领域最具革命性的成就。

基本原理:自主式剖面浮标在海面和预设深度之间循环升降,每次上浮时测量温盐剖面并通过卫星传输数据,然后再次下潜。

指标数值
启动时间2000 年
当前活跃浮标~4,152 个
参与国家~30 个
累计剖面数300 万+
年产剖面~100,000 个
标准观测深度0-2,000 m

三大扩展方向(OneArgo 计划,目标 2030 年)

扩展目标当前状态
Core Argo维持 ~3,900 个核心浮标基本达标
Deep Argo1,200 个深海浮标(0-6,000 m)219 个(18%)
BGC-Argo1,000 个生物地球化学浮标556 个(56%)

BGC-Argo 六大传感器

    1. 溶解氧
    1. pH
    1. 硝酸盐
    1. 叶绿素 a
    1. 后向散射(悬浮颗粒)
    1. 下行辐照度

Argo 是 G7 未来海洋倡议(G7 FSOI, 2025)的顶级优先事项。

Argo 剖面浮标系统与 OneArgo 2030 扩展计划

2.2 DBCP — 数据浮标合作组#

DBCP 成立于 1985 年,是 WMO/IOC 联合机构,协调全球漂流浮标和系泊浮标网络:

平台类型数量主要观测参数
漂流浮标~1,250 个海表温度、气压、风速、表层盐度
系泊浮标~400 个多层温盐、海流、气象参数

漂流浮标在水下 15 米处配有锚定帆(drogue),随海流漂移,提供全球海表流场和 SST 数据。

2.3 全球热带系泊浮标阵列(GTMBA)#

GTMBA 是三大洋热带海域的骨干实时观测系统:

阵列海域浮标数主要科学目标
TAO/TRITON热带太平洋~70ENSO 监测和预报
PIRATA热带大西洋~20大西洋变率和非洲气候
RAMA热带印度洋~23印度洋偶极子和季风

GTMBA 提供从海面到深层的实时温度、盐度、海流、气象数据。2010-2023 年间,超过 1,400 篇 SCI 论文引用了 GTMBA 数据。

2.4 OceanSITES — 深海时间序列观测站#

OceanSITES 是全球长期深海(开阔大洋)参考站网络:

指标数值
站点数量60+ 个(30 个水面 + 30 个水下阵列)
观测深度海面至 5,000 m 全水柱
数据传输卫星遥测,近实时

代表性站点

  • • BATS(百慕大大西洋时间序列)
  • • HOT(夏威夷海洋时间序列)
  • • PAP(豪猪深海平原)
  • • HAUSGARTEN(北极深海观测站)
  • • SOTS(南大洋时间序列)
  • • DYFAMED(地中海深水站)

OceanSITES 测量数十个变量,是研究海洋长期变化的锚点。


全球现场观测网络能力对比

2.5 GO-SHIP — 全球船基水文调查计划#

GO-SHIP 是唯一能够获取全水柱、高分辨率、多学科物理化学生物参数的观测手段:

指标数值
参与国家19 个
全球断面55 条
已完成航次145 次(国际)+ 37 次(美国)
重复周期约 10 年/断面

测量参数:温度、盐度、溶解氧、营养盐(硅酸盐、磷酸盐、硝酸盐)、碳系统(DIC、碱度、pH、pCO₂)、示踪剂(CFCs、SF₆)。

重大发现

  • • 精确测定了深层水的增暖速率
  • • 量化了深海碳增量
  • • 记录了表层和中层水 CO₂ 增加及海洋酸化进程

2.6 SOT — 船舶观测队#

SOT 是 WMO/IOC 联合成立的船基观测协调机制,包含三个子计划:

计划全称内容
VOSVoluntary Observing Ships志愿观测船,提供航线上的气象观测
SOOPShip of Opportunity Programme机会船计划,60 艘船每年投放 14,000 枚 XBT
ASAPAutomated Shipboard Aerological Programme船载自动高空气象探测

SOOP 在 36 条参考航线上系统投放 XBT(抛弃式温深仪),提供上层海洋热含量数据。

2.7 GLOSS — 全球海平面观测系统#

GLOSS 成立于 1985 年,由 IOC 主持,是全球验潮站网络的协调框架:

指标数值
参与国家90+
核心网(GCN)300 个验潮站
岛屿站间距≥500 km
大陆站间距≥1,000 km

数据中心

  • • PSMSL(永久平均海面服务):成立于 1933 年,利物浦,负责全球验潮数据汇集
  • • SONEL:GNSS 数据,测量验潮站自身的地壳运动

GLOSS 数据是校准卫星高度计、监测全球海平面上升的基础。

2.8 海洋滑翔机glider#

海洋滑翔机是近年快速发展的自主水下观测平台:

型号最大深度特点
Spray1,500 m长期部署(可达 6 个月)
Seaglider1,000 m远程遥控,锯齿形剖面
Slocum200-1,000 m应用最广泛

应用场景:湾流监测、加利福尼亚海岸气候变率(CUGN 网络)、飓风响应、深水油井监测。

2.9 HF 雷达 — 近岸表面海流#

高频(HF)雷达是唯一能实时、大面积测量近岸表面海流的技术:

模式观测距离分辨率
远程100-200 km3-12 km
高分辨率15-20 km200-500 m

美国 IOOS 网络目前运营约 180 部 HF 雷达,覆盖大部分海岸线。应用包括搜救、溢油追踪、航道规划和沿岸工程。


三、卫星海洋观测#

卫星是实现全球覆盖的唯一手段,提供多种海洋基本变量的连续监测。

3.1 海面高度计(测高卫星)#

卫星/系列发射时间分辨率主要载荷
TOPEX/Poseidon1992开创性任务双频雷达高度计
Jason-1/2/32001/2008/2016沿轨 ~5 kmPoseidon 系列高度计
Sentinel-6A2020沿轨 ~300 mPoseidon-4(SAR 模式)
Sentinel-6B2025.11同上接替 6A,串联飞行校准
SWOT2022.122D 刈幅 ~120 kmKa 波段干涉雷达(KaRIn)

SWOT 的革命性意义:首次实现二维高分辨率海面高度成像,能探测 亚中尺度(15-100 km)海洋过程,突破传统星下点高度计的限制。

卫星海洋观测星座与观测变量

3.2 海面温度(SST)#

传感器/卫星类型特点
AVHRR(NOAA 系列)红外长时间序列(1981 年至今)
MODIS(Terra/Aqua)红外1 km 分辨率
VIIRS(JPSS)红外接替 MODIS
AMSR-2微波穿透云层,全天候
Sentinel-3 SLSTR红外双视角,高精度

3.3 海洋颜色(水色遥感)#

传感器卫星主要产品
SeaWiFSOrbView-2开创性海洋水色任务
MODISAqua叶绿素 a、初级生产力
OLCISentinel-3A/B欧洲接力水色观测
PACE OCIPACE(2024)超光谱,区分浮游植物类群

3.4 海面盐度#

卫星时间特点
SMOS2009-至今ESA,L 波段辐射计
Aquarius/SAC-D2011-2015NASA/CONAE
SMAP2015-至今NASA,原为土壤湿度任务

3.5 海面风场#

传感器卫星原理
ASCATMetOp 系列C 波段散射计
RapidScatISSKu 波段散射计
CFOSAT SWIM/SCATCFOSAT(中法)海浪+风场
HY-2 系列海洋二号(中国)微波散射计

3.6 重力与海底地形#

卫星时间贡献
GRACE/GRACE-FO2002/2018海洋质量变化、冰盖质量损失
GOCE2009-2013高精度大地水准面
CryoSat-22010-至今极地冰厚和海冰干舷
ICESat-22018-至今激光测高,冰面和海面

四、数据管理与共享#

4.1 主要数据中心#

数据中心所属职责
NOAA NCEI美国全球最大环境数据档案(60+ PB)
Copernicus Marine Service(CMEMS)欧盟欧洲海洋环境监测和预报
IFREMER/Coriolis法国现场海洋数据汇集中心
BODC英国英国海洋数据中心
JAMSTEC日本日本海洋研究数据
NODC(中国)中国国家海洋数据中心

4.2 数据标准与协议#

标准/协议用途
WMO GTS全球电信系统,实时气象海洋数据交换
CF ConventionsNetCDF 气候和预报元数据标准
IODE/ODP国际海洋数据交换
ERDDAP统一数据访问服务器
OPeNDAP远程数据访问协议
WIS 2.0WMO 信息系统新一代

海洋数据从观测到应用的完整流程


五、国际碳观测协调#

海洋吸收了约 25-30% 的人类排放 CO₂,碳观测是海洋观测的核心维度:

计划/组织职责
IOCCP国际海洋碳协调项目,推动全球海洋碳观测网络
SOCONET表层海洋 CO₂ 观测网络
BGC-Argo自主浮标碳/氧/pH/营养盐观测
GO-SHIP船基全水柱碳系统参数
GOA-ON全球海洋酸化观测网络

BGC-Argo 已累计采集 250,000+ 个生物地球化学剖面。

海洋碳观测生态系统框架


六、区域海洋观测系统#

区域系统覆盖特色
US IOOS美国沿海11 个区域协会,HF 雷达+滑翔机+浮标
EuroGOOS欧洲海域Copernicus 海洋服务的现场观测支撑
IMOS澳大利亚综合海洋观测系统
IndOOS印度洋RAMA 阵列+Argo+XBT
AtlantOS大西洋全大西洋综合观测
SOOS南大洋极端环境下的观测协调
NEAR-GOOS东北亚中日韩海洋数据交换

七、观测平台能力对比#

平台覆盖范围深度时间分辨率参数丰富度成本
卫星全球仅表面天~周极高(单任务)
Argo 浮标全球大洋0-2,000/6,000 m10 天低~中
系泊浮标固定点全水柱分钟~小时
漂流浮标全球表面仅表面小时
GO-SHIP全球断面全水柱10 年极高
滑翔机区域0-1,500 m小时
HF 雷达近岸仅表面小时低(海流)
验潮站海岸海面分钟低(海面高度)

观测平台能力多维对比


八、未来展望与挑战#

已取得的成就#

  • • Argo 彻底改变了海洋上层观测能力
  • • SWOT 开启了亚中尺度海洋观测新纪元
  • • BGC-Argo 正在填补生物地球化学观测空白
  • • NODD 等计划使 PB 级数据免费可用

面临的挑战#

  1. 1. 覆盖不均:南大洋、北极、边缘海观测严重不足
  2. 2. 深海盲区:2,000 m 以下观测极为稀疏,Deep Argo 仅达目标的 18%
  3. 3. 生物观测缺口:12 个 BioEco EOV 的全球系统性观测尚未建立
  4. 4. 资金可持续性:高度依赖少数发达国家,长期资金保障不足
  5. 5. 数据集成:多源、多尺度、多格式数据的实时融合仍是技术难题

OneArgo 2030 愿景#

到 2030 年,部署 4,700 个浮标的 OneArgo 阵列(含 Core + Deep + BGC),实现从海面到海底、从物理到生物地球化学的全方位全球海洋观测。

OneArgo 2030 愿景与未来发展方向


总结#

层级体系核心内容
顶层框架GOOS + OceanOPS + POGO36 个 EOV,10,000+ 平台协调,55 个机构联盟
剖面观测Argo / Deep Argo / BGC-Argo4,152 浮标,300 万+ 剖面
表面观测DBCP 漂流浮标 + 热带系泊阵列1,250 漂流 + TAO/PIRATA/RAMA
深海定点OceanSITES60+ 站,全水柱至 5,000 m
船基调查GO-SHIP + SOT/VOS/SOOP55 条断面,14,000 枚 XBT/年
海平面GLOSS300 验潮站,90+ 国参与
近岸HF 雷达 + 滑翔机180 部雷达(美国),区域网络
卫星高度计/SST/水色/盐度/风场/重力全球覆盖,数十个任务
碳观测IOCCP + BGC-Argo + GOA-ON海洋碳汇和酸化监测

全球海洋观测体系就像一张多层的”感知网络”,卫星看全貌、浮标测剖面、船舶做精测、验潮站守海岸,每一个组件都不可替代。理解这张网络,就是理解人类认知海洋的方式。


References#

  • • GOOS 官网
  • • GOOS 2025 状况报告
  • • Argo 计划
  • • OceanOPS
  • • POGO
  • • GO-SHIP
  • • OceanSITES
  • • GLOSS
  • • DBCP
  • • GTMBA
  • • BGC-Argo
  • • NOAA IOOS HF Radar
  • • Sentinel-6
  • • SWOT====分享17个网络-Network-数据可视化工具.md====

title: “分享17个网络(Network)数据可视化工具” published: 2024-03-25 description: “网络(Network)数据是指表示各种实体之间关系或连接的结构化数据。这些实体可以是个人、组织、计算机、网站或其他感兴趣的对象。在网络中,实体被表示为节点,它们之间的关系被表示为边缘或链接。本文分享17种网络数据可视化分析工具。” image: “/images/分享17个网络-Network-数据可视化工具/img_3c47e629.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#

网络(Network)数据是指表示各种实体之间关系或连接的结构化数据。这些实体可以是个人、组织、计算机、网站或其他感兴趣的对象。在网络中,实体被表示为节点,它们之间的关系被表示为边缘或链接。

网络数据可用于建模各种系统和现象,例如社交网络、通信网络、生物网络、交通网络等。分析网络数据使研究人员能够了解复杂系统的结构、动态和行为,以及在网络中识别模式、聚类和重要节点。

本文分享17个网络数据可视化分析工具。

1. Hiveplot

Hiveplot是一个可视化大型网络的python绘图包。它擅长处理由大量边引起的视觉复杂性,并展示网络结构中的趋势和异常模式。Hiveplotlib默认仅支持使用Matplotlib后端进行可视化,但通过安装对应的python图形包,它还支持bokeh、holoviews和plotly可视化。Hiveplotlib还通过datashader后端支持大型网络可视化。

https://hiveplotlib.readthedocs.io/stable/

2. Gephi

Gephi是一款供数据分析师和科学家使用的工具,支持交互式方式操纵图形结构、形状和颜色,以揭示隐藏的模式。其目标是帮助数据分析师提出假设,直观地发现模式,在数据收集过程中分离结构异常或错误。它是传统统计学的补充工具,因为使用交互式界面进行视觉思考现已被认可为促进推理的有效方法。这是一款用于探索性数据分析的软件,是视觉分析研究领域出现的一种范式。

https://gephi.org/

Gephi Lite是Gephi的基于Web的免费开源轻量级版本。

https://gephi.org/gephi-lite/

3. Cytoscape

Cytoscape 是一个开源软件平台,用于可视化分子相互作用网络,并将这些网络与注释、基因表达谱和其他状态数据整合在一起。Cytoscape最初是为生物研究而设计的,但现在它是一个用于复杂网络分析和可视化的通用平台。

Cytoscape的核心分发版提供了一套基本功能,用于数据集成、分析和可视化。额外的功能可作为应用程序(称为插件)提供。应用程序可用于网络和分子特征分析、新布局、额外文件格式支持、脚本编写以及与数据库连接。任何人都可以使用基于Java™技术的Cytoscape开放API开发这些应用程序,并且鼓励应用程序社区的发展。大多数应用程序都可以从Cytoscape应用商店免费获取。

https://cytoscape.org/

4. NodeXL

NodeXL-Pro为Excel添加了菜单和功能,以简化获取网络数据、存储数据、分析数据和可视化数据,并生成分享有关连接结构的报告。NodeXL-Pro支持进行专业社交网络分析(SNA)的所有功能:社区聚类、影响者检测、内容分析、情感分析、时间序列分析等等。

https://www.smrfoundation.org/nodexl/

5. Graphia

Graphia是一款功能强大的开源可视分析网络数据的应用程序,旨在帮助解释大型和复杂数据集。Graphia可以从数值数据表创建和可视化图形,并显示结果。它还可以用于可视化和分析已经以图形形式存在的任何数据。

Graphia由苏格兰爱丁堡的一小群致力于图形、可视化强大及解释复杂数据的科学家设计和构建。

https://graphia.app/

6. Gephisto

Gephisto的设计充分给予用户所期望的(轻松获取网络地图的方式),但以不服从的方式实现(每次使用工具生成的地图都不同),从而鼓励他们更深入地参与工具的方法论原则。作为一种工具,Gephisto旨在激励未经训练的用户对其网络映射实践更加批判性地思考。

https://jacomyma.github.io/gephisto/

7. SocNetV

Social Network Visualizer(SocNetV)是一个跨平台、用户友好的免费软件应用程序,用于社交网络分析和可视化。支持计算距离、偏心率、连通性、团体普查、三元普查和突出性指数(即特征向量、介数和信息中心性、接近度威望、页面排名等)。根据突出性分数或力导向模型,在无向/有向图上应用直观的可视化布局。

使用SocNetV,您可以:

  • 通过几次点击在虚拟画布上绘制社交网络,从支持的格式文件(GraphML, GraphViz, Adjacency, EdgeList, GML, Pajek, UCINET等)加载现场数据,或爬取互联网以创建连接的网页社交网络。

  • 通过点击编辑参与者和联系人,分析图形和社交网络属性,生成美观的HTML报告,并将可视化布局嵌入到网络中。

https://socnetv.org/

8. Graphext

Graphext 是一个数据科学平台,可实现更深入的探索性数据分析、更丰富的数据叙述和更快速的预测建模。Graphext是一个高级分析解决方案,可帮助企业基于数据做出更好的决策。Graphext支持:

  • 从任何地方获取数据 连接到多个来源,如Big Query、Google CS、Snowflake、Microsoft Azure等。
  • 即时可视化数据 探索每个变量的分布,并创建交互式可视化。
  • AI辅助相关性分析 发现您的变量之间的正负相关性。

https://www.graphext.com/

9. VOSviewer

VOSviewer是一款用于构建和可视化文献计量网络的软件工具。这些网络可以包括期刊、研究人员或个别出版物,可以基于引用、文献耦合、共引用或共同作者关系构建。

VOSviewer还提供文本挖掘功能,可用于构建和可视化从一系列科学文献中提取的重要术语的共现网络。

https://www.vosviewer.com/

10. Graphistry

Graphistry为大型或复杂数据带来视觉图形智能。它会自动将用户的数据转换为为分析师需求构建的交互式、可视化地图。快速呈现事件和实体之间的关系,减少编写查询或整理数据所需的时间。

作为第一个自动GPU加速平台,Graphistry可利用所有数据,无需担心规模,随时转换以跟踪调查的任何方向。

https://www.graphistry.com/

11. Retina

Retina是一个免费的开源Web应用程序,可在线共享网络数据可视化,无需任何服务器。

  • Retina旨在帮助用户在线共享交互式网络地图。
  • 图形编辑器向Retina提供图形文件,并告诉它如何解释其图形文件。
  • 他们通过链接与图形探索者共享可视化。然后,图形探索者可以看到图形并与之交互。

https://gitlab.com/ouestware/retina

12. Tulip

Tulip是一个专注于分析和可视化关系数据的信息可视化框架。Tulip旨在为开发人员提供一个完整的库,支持设计交互式信息可视化应用程序,针对解决的问题进行定制。

这个框架用C++编写,使得开发算法、视觉编码、交互技术、数据模型和领域特定可视化成为可能。Tulip的一个目标是简化可视化组件的重用,并允许开发人员专注于编写他们的应用程序。这种开发流程使得该框架对于研究原型的开发以及最终用户应用程序的开发都非常高效。

https://tulip.labri.fr/site/

13. GraphInsight

GraphInsight是一款支持二维和三维可视化大型复杂网络,并通过高质量的交互式表示探索图形数据的可视化分析软件。

https://github.com/CarloNicolini/GraphInsight/

14. The Vistorian tool

The Vistorian是一个基于Web的视觉分析工具,用于构建更好的多变量网络可视化,包括四种不同的交互式可视化样式。它允许数字人文学家分析个体的复杂地理位置和时间网络。

为了配合其特定的受众 —— 在计算方面几乎没有经验的领域科学家,The Vistorian基于四个设计原则:简单性、隐私性、开放性和可扩展性。界面和数据处理尽可能简单,无需编写代码或执行复杂的规范操作。

https://vistorian.net/

15. Cosmograph

Cosmograph是一个基于Web浏览器的免费可视化应用程序 ,所有计算都在用户的GPU上进行,能够可视化具有百万节点和边的网络,在浏览器中工作的最快的网络图可视化工具。

https://cosmograph.app/

16. Kumu

Kumu使得将复杂数据组织成美观易用的关系图变得轻而易举,无需技术背景或安装软件。Kumu支持全球数百个组织更有效地参与复杂问题。Kumu通过简化网络或系统的可视化表示来实现功能。它是一个基于Web的平台,支持共享访问,以便团队可以轻松合作。

https://kumu.io/

17. Orange Data Mining

Orange Data Mining是一个开源的机器学习和数据可视化工具。它提供了交互式数据探索,用于快速进行质性分析并生成清晰的可视化结果。图形用户界面让用户可以专注于探索性数据分析,而不是编写代码,同时聪明的默认设置使得数据分析工作流的快速原型设计变得非常容易。

https://orangedatamining.com/


本公众号相关内容推荐:

---====分享5个python可视化图表工具.md====#

title: “分享5个python可视化图表工具” published: 2024-03-27 description: “本文分享5个python可视化图表及其python实现代码。” image: “/images/分享5个python可视化图表工具/img_21d42d2a.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#

本文分享5个python可视化图表及其python实现代码。

1. 和弦图(Chord Diagram)

和弦图是一种表示数据之间相互关系的图表。图表中节点围绕着圆周分布,点与点之间以弧线彼此连接以显示之间的关系,通过每个圆弧的大小比例给每个连接分配数值,弧线的粗细与关系的重要性成比例。此外,还可以通过颜色将数据分类,直观地进行比较和区分。

和弦图非常适合比较数据集内或不同数据组之间的相似性。它们被生物科学界广泛用于可视化基因数据,在国际主流刊物上也被称为信息图表(info graphics),还常用于可视化社交网络、基因组、交通流、贸易关系等数据。

以下示例代码使用Holoviews & Bokeh创建和弦图,展示5个不同国家之间的贸易关系。

import holoviews as hvfrom holoviews import optsimport pandas as pdimport numpy as nphv.extension('bokeh')
# Sample matrix representing the export volumes between 5 countriesexport_data = np.array([[0, 50, 30, 20, 10], [10, 0, 40, 30, 20], [20, 10, 0, 35, 25], [30, 20, 10, 0, 40], [25, 15, 30, 20, 0]])
labels = ['USA', 'China', 'Germany', 'Japan', 'India']
# Creating a pandas DataFramedf = pd.DataFrame(export_data, index=labels, columns=labels)df = df.stack().reset_index()
df.columns = ['source', 'target', 'value']
# Creating a Chord objectchord = hv.Chord(df)
# Styling the Chord diagramchord.opts( opts.Chord( cmap='Category20', edge_cmap='Category20', labels='source', label_text_font_size='10pt', edge_color='source', node_color='index', width=700, height=700 )).select(value=(5, None))
# Display the plotchord

https://holoviews.org/reference/elements/matplotlib/Chord.html

https://github.com/moshi4/pyCirclize

2. 旭日图(Sunburst Chart)

旭日图(Sunburst Chart)超越传统的饼图和环图,能表达清晰的层级和归属关系,以父子层次结构来显示数据构成情况,使用户能够轻松地理解和分析复杂的层次数据。

旭日图呈现多个环形,每个环代表层次结构中的一个级别。图表中心是层次结构中的根/顶层。每个环的每个部分或扇区代表该层次结构中的一个节点,每个部分/扇区的大小与其相对于兄弟节点的值成比例。

旭日图用于在圆形布局中绘制和可视化分层数据或树状数据,例如:

  • 计算机文件系统
  • 网站导航路径
  • 市场细分数据
  • 基因组数据

以下示例代码使用python库plotly绘制旭日图。

import plotly.express as pximport numpy as np
df = px.data.gapminder().query("year == 2007")
fig = px.sunburst(df, path=['continent', 'country'], values='pop', color='lifeExp', hover_data=['iso_alpha'], color_continuous_scale='RdBu', color_continuous_midpoint=np.average(df['lifeExp'], weights=df['pop']))fig.show()

https://plotly.com/python/sunburst-charts/

3. 六边形箱图(Hexbin Plot)

六边形箱图是一种可视化二维数据分布的图表类型。它将数据按照坐标轴划分为多个小六边形区域,并根据每个区域内数据点的数量进行不同的着色,以展示数据分布情况。

该图用于分析两个数据变量(或双变量数据)之间的关系。当需要绘制大量数据点时,六边形散点图有助于更好地可视化,它是散点图的一个很好的替代选择,因为这些数据点在传统的散点图中可能会重叠并遮挡彼此。

可以使用Matplotlib可以轻松创建六边形散点图。

下面的示例创建了一个假设的六边形散点图,旨在揭示空气质量恶化(使用空气质量指数/AQI)与增加的医院就诊之间的潜在相关性。

import matplotlib.pyplot as pltimport numpy as np
# Simulating environmental dataaqi = np.random.uniform(0, 300, 10000) hospital_visits = aqi * np.random.uniform(0.5, 1.5, 10000)
# Creating the hexbin plotplt.hexbin(aqi, hospital_visits, gridsize=30, cmap='Purples')
# Adding a color bar on the rightcb = plt.colorbar(label='Count')
# Setting labels and titleplt.xlabel('Air Quality Index (AQI)')plt.ylabel('Respiratory-related Hospital Visits')plt.title('Environmental Health Impact Analysis')
# Show the plotplt.show()

https://matplotlib.org/stable/gallery/statistics/hexbin\_demo.html

4. 桑基图(Sankey Diagram)

桑基图(Sankey diagram),即桑基能量分流图,也叫桑基能量平衡图。它是一种特定类型的流程图,图中延伸的分支的宽度对应数据流量的大小,通常应用于能源、材料成分、金融等数据的可视化分析。因1898年Matthew Henry Phineas Riall Sankey绘制的“蒸汽机的能源效率图”而闻名,此后便以其名字命名为“桑基图”。

桑基图表示系统不同阶段或部分之间数量的流动,由节点和它们之间的链接组成,每个链接的宽度与流动数量成比例。

Plotly库可以用来创建如下所示的桑基图。

以下代码表示能量从生产源流向小城市的消费者。

import plotly.graph_objects as go
labels = ["Coal", "Solar", "Wind", "Nuclear", "Residential", "Industrial", "Commercial"]
source = [0, 1, 2, 3, 0, 1, 2, 3] target = [4, 4, 4, 4, 5, 5, 5, 5] value = [25, 10, 40, 20, 30, 15, 25, 35]
# Create the Sankey diagram objectfig = go.Figure(data=[go.Sankey( node=dict( pad=15, thickness=20, line=dict(color="black", width=0.5), label=labels ), link=dict( source=source, target=target, value=value ))])
fig.update_layout(title_text="Energy Flow in Model City", font_size=12)fig.show()

https://plotly.com/python/sankey-diagram/

5. 主题河流图(Stream Graph/ Theme River)

**主题河流图顾名思义就是形状像河流的图形,实际上是一种特殊的流图,它主要用来表示事件或主题在一段时间内的变化。**河流图用颜色区分不同的类别,或每个类别的附加定量,流向则与表示时间的X轴平行。每个类别的对应数值则是通过 “河流”的宽度展示出来。每个类别的数值变化就会形同一条粗细不一的小河,汇集、扭结在一起,河流图也因此而得名。

Altair数据可视化库可用于绘制流图,如下所示。

import altair as altfrom vega_datasets import data
source = data.unemployment_across_industries.url
alt.Chart(source).mark_area().encode( alt.X('yearmonth(date):T', axis=alt.Axis(format='%Y', domain=False, tickSize=0) ), alt.Y('sum(count):Q', stack='center', axis=None), alt.Color('series:N', scale=alt.Scale(scheme='category20b') )).interactive()

https://altair-viz.github.io/gallery/streamgraph.html


本公众号相关内容推荐:


title: “分享一个构建交互式D3js可视化的Python库” published: 2024-05-15 description: “点击下面卡片,快速关注本公众号Python 已成为分析和可视化数据的最流行编程语言之一。” image: “/images/分享一个构建交互式D3js可视化的Python库/img_eb8fe105.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#

Python 已成为分析和可视化数据的最流行编程语言之一。理解和解释数据的最佳方式是将数据可视化展示出来,并具有交互性。可视化是一个项目成功的关键,因为它可以揭示数据中隐藏的规律,提高理解能力。尽管 Python 中提供了许多可视化软件包,但要创建漂亮、可独立运行、交互式的图表,仍然具有挑战性。

本文介绍一个开源可视化python软件包D3Blocks,无需安装任何其他软件即可创建交互式可视化D3图表。它的共享和发布非常简单,用户只需要一个Web浏览器即可访问图表。本文通过11个实际操作示例简要介绍D3Blocks。

D3Blocks的优势

近年来,Python 社区开发了一系列令人印象深刻的可视化库,如 Matplotlib、Seaborn、Bokeh、Plotly、Folium 等,侧重于数据处理和分析可视化。D3 “是Data-Driven Documents的缩写,是一个用于制作动态、交互式数据可视化的Javascript库,它速度快、美观。D3JS 的优势在于它的高性能、可深度自定义定制,并且符合网络标准。此外,除了浏览器,用户不需要任何其他技术即可轻松绘制可视化图表。

然而,D3js也有缺点。首先,要可视化数据图表,用户需要熟悉 SVG、HTML、CSS 和 Javascript。但即便如此,D3js可视化 图表也不容易在不同数据集之间通用。或者换句话说,D3js 脚本通常是一个静态脚本,经过优化后可以显示一个特定数据集的结果。但是,更改数据集需要更改各种参数,如坐标轴的最小值/最大值、列名,很可能还包括图表的方向和定位。

因此,使用D3Blocks,用户可以将数据转换成下游D3js脚本可读取的格式,从而克服这些难题。此外,所有需要的参数、(列)命名、格式化、定位、方向等也都会被传递。通过这种方式,我们可以综合利用python和D3js的优势:Python用于数据挖掘、预处理、分析和建模,D3js用于可视化。

D3Blocks可视化示例

由 D3Blocks 创建的每个可视化图表都完全封装在一个 HTML 文件中,这样就可以在任一个安装Web浏览器的设备上运行,不需要任何其他技术,方便共享和发布。

本文要介绍的11个可视化示例主要分为以下4个类别:

  • 关系可视化:网络图(Network)、桑基图(Sankey)、和弦图(Chord)、热力图(Heatmap
  • 时间要素:时间序列图(Time Series)、移动气泡图(Moving Bubbles
  • 图片相关:图像滑块(Image Slider
  • 其它可视化:散点图(Scatter)、小提琴图( Violin)、粒子图(Particles)、树形图(Treemap)

使用一条pip命令安装D3Blocks库:

pip install d3blocks
  1. 关系可视化(Relationships)

当一条记录与另一条或多条记录相关联时,关系就被描述出来了。图论中描述了多种存储此类关系的形式,例如,邻接矩阵(一种对称的正方形矩阵)或入射矩阵(一种顶点-顶点对关系的编码矩阵)。无论矩阵的形式如何,绘制关系图都有助于更好地理解数据。例如,它可以揭示节点在代表阶段的两个或多个组中重复出现的演变模式。在这种情况下,和弦图(Chord)或桑基图(Chord)是表示关系的理想选择。另外,也可能存在从源头到终端的模式,即从某一点开始,以可能的中间步骤结束。在这种情况下,网络图(Network graph)很有用。另一方面,当交互的数量很大,网络等图表变成巨大的毛球时,热力图(heatmap)就会派上用场。在以下四个示例中,我将使用公开的能源数据集 ,链接是https://observablehq.com/@d3/sankey-component,该数据集包含 68 个关系列:源、目标和权重。

  • 网络图(Network graph)

这一部分我们使用 D3 力导向图绘制网络交互图,然后使用 d3graph 块对数据进行分析。节点根据卢万聚类启发法(Louvain clustering heuristics)着色,边宽根据权重确定。下图即是由代码生成的交互方式探索网络,根据边缘强度(使用顶部的滑块)断开边缘。这样可以保持连接最强的节点完好无损。PS.推荐阅读本公众号关于网络可视化的两篇文章:推荐15个图网络可视化python软件包分享17个网络(Network)数据可视化工具

from d3blocks import D3Blocks# Initialized3 = D3Blocks()# Import exampledf = d3.import_example('energy')# Show the input dataprint(df)# source target weight# 0 Agricultural 'waste' Bio-conversion 124.729# 1 Bio-conversion Liquid 0.597# 2 Bio-conversion Losses 26.862# 3 Bio-conversion Solid 280.322# 4 Bio-conversion Gas 81.144# .. ... ... ...# 63 Thermal generation District heating 79.329# 64 Tidal Electricity grid 9.452# 65 UK land based bioenergy Bio-conversion 182.010# 66 Wave Electricity grid 19.013# 67 Wind Electricity grid 289.366
# [68 rows x 3 columns]
# Initialize Network chart but do not yet show the chart.d3.d3graph(df, showfig=False)# Color node on clusteringd3.D3graph.set_node_properties(color='cluster')# Make adjustments to the node: Thermal_generationd3.D3graph.node_properties['Thermal_generation']['size']=20d3.D3graph.node_properties['Thermal_generation']['edge_color']='#000fff' # Blue node edged3.D3graph.node_properties['Thermal_generation']['edge_size']=3 # Node-edge Size
# Make adjustments to the edge: 'Solar', 'Solar_Thermal'd3.D3graph.edge_properties['Solar', 'Solar_Thermal']['color']='#000fff'd3.D3graph.edge_properties['Solar', 'Solar_Thermal']['weight_scaled']=10
# Show the network graphd3.D3graph.show()

  • 桑基图(Sankey)

桑基图是一种用于显示从一组数值到另一组数值的流程的可视化图表。它的矩形框代表节点,箭头的宽度与流速成正比。桑基图最适合用于显示多对多关系,或发现通过一组阶段的多条路径。例如,流量如何从(开始)页面流向网站上的其他页面。

from d3blocks import D3Blocks# Initialized3 = D3Blocks()# Import exampledf = d3.import_example('energy')# Link settingsd3.sankey(df, link={"color": "source-target"})
  • 和弦图(Chord)

和弦图表示多个实体或节点之间的流动或连接。每个实体由圆形布局外部的一个片段表示。然后,在每个实体之间画弧。弧的大小与流的重要性成正比。

from d3blocks import D3Blocks
# Initialized3 = D3Blocks()
# Import exampledf = d3.import_example('energy')
# Link settingsd3.chord(df, filepath='chord_demo.html')

  • 热力图(Heatmap)

热力图可视化采用d3heatmap库(https://github.com/erdogant/d3heatmap),该库可通过(邻接)矩阵创建热力图。这部分代码中,我们将能源数据集重新格式化为邻接矩阵,然后创建热图。并对热力图进行交互式聚类和分析。

from d3blocks import D3Blocks
# Initialized3 = D3Blocks()
# Import exampledf = d3.import_example('energy')
# Create the heatmapd3.heatmap(df, showfig=True, stroke='red', vmax=10, figsize=(700,700))

2. 时间要素可视化

在时间序列数据中,必须有一个 DateTime 元素以及该时间点的状态。时间序列最直接的例子就是股票数据,可以使用时间序列块将其可视化。另外,也可能存在时间上的依赖关系,即一个操作紧随另一个操作(例如,像一个流程)。在这种情况下,Moving Bubbles图形可以帮助我们深入了解运动情况,以及在特定时间点是否会出现集群。

  • 时间序列图

时间序列图可用于有日期时间元素的情况。通过时间序列块,您可以启用/禁用感兴趣的列,并执行刷新和缩放操作,以快速关注感兴趣的区域。这部分代码中的一个示例显示了各种气候变量随时间变化的可视化情况。

from d3blocks import D3Blocks
# Initialize and set the datetime formatd3 = D3Blocks()
# Import climate datasetdf = d3.import_example('climate')
# Printdf.head()
# date meantemp humidity wind_speed meanpressure# 2017-01-01 15.913043 85.869565 2.743478 59.000000# 2017-01-02 18.500000 77.222222 2.894444 1018.277778# 2017-01-03 17.111111 81.888889 4.016667 1018.333333# 2017-01-04 18.700000 70.050000 4.545000 1015.700000# 2017-01-05 18.388889 74.944444 3.300000 1014.333333# ... ... ... ... ...# 2017-04-20 34.500000 27.500000 5.562500 998.625000# 2017-04-21 34.250000 39.375000 6.962500 999.875000# 2017-04-22 32.900000 40.900000 8.890000 1001.600000# 2017-04-23 32.875000 27.500000 9.962500 1002.125000# 2017-04-24 32.000000 27.142857 12.157143 1004.142857
# [114 rows x 5 columns]
# Create the timeseries chart.d3.timeseries(df, datetime='date', dt_format='%Y-%m-%d %H:%M:%S', fontsize=10)
  • 移动气泡图

移动气泡图(Moving Bubbles)可以让我们深入了解实体在时间上是如何相互跟进的。它有助于了解实体的运动情况,以及是否在特定时间点和状态下出现集群。虽然这种可视化方法并不是最有效的,但在处理力导向节点和碰撞节点时却非常出色。静态图表是从一篇名为 “美国人生活中的一天 “的文章中分叉出来的,然后进行了大量修改,以确保图表能在不同类型的数据集、状态数量、方向、格式、着色等情况下通用。我们创建了一个函数来生成一个随机数据集,其中包含各种状态和随机时间点。可视化结果如下图所示。

from d3blocks import D3Blocks
# Set color schemed3 = D3Blocks()
# Generate random data with various statesdf = d3.import_example('random_time', n=10000, c=500, date_start="1-1-2000 00:10:05", date_stop="1-1-2001 23:59:59")
# datetime sample_id state# 0 2000-01-01 00:10:10 54 Hospital# 1 2000-01-01 00:10:19 28 Home# 2 2000-01-01 00:10:21 98 Hospital# 3 2000-01-01 00:10:30 12 Hospital# 4 2000-01-01 00:10:32 71 Travel# ... ... ...# 9995 2000-01-01 23:59:20 2 Hospital# 9996 2000-01-01 23:59:24 17 Home# 9997 2000-01-01 23:59:31 37 Bored# 9998 2000-01-01 23:59:47 48 Sport# 9999 2000-01-01 23:59:47 70 Travel
# [10000 rows x 3 columns]
# Make the moving bubbles chart.d3.movingbubbles(df, datetime='datetime', state='state', sample_id='sample_id', standardize=None, speed={"slow": 1000, "medium": 200, "fast": 10}, cmap='Set1', filepath='movingbubbles.html')

3. 图像可视化

当您想比较两张图片时,ImageSlider是个不错的选择,这在表达图像前后状态的情况下最有用。

4. 其它图表可视化

  • 散点图

散点图可能是最著名的绘制(x,y)坐标的图表。这类基本图表非常有用,尤其是具有刷新和缩放功能。散点图可以按样本进行着色,用于检测(组)样本之间的关系。输入是x和y坐标,但还可以设置其他各种参数,如类标签、大小、(边缘)颜色、工具提示信息等。散点图还可以在两组或三组坐标之间进行转换。为了演示,我将使用癌症基因组图谱项目(TCGA)的癌症数据集,该数据集提供了34种不同癌症组织的多种类型的分子数据。对分子数据进行处理后,t-SNE 坐标和主成分就会得出,它们代表了患者与患者之间的相似性。通过散点图,我们可以直观地看到两组坐标(t-SNE 和 PC),并对结果进行深入分析。

from d3blocks import D3Blocks
# Initialized3 = D3Blocks()
# import exampledf = d3.import_example('cancer')
# x y age ... labels # ... # 37.204296 24.162813 58.0 ... acc # 37.093090 23.423557 44.0 ... acc # 36.806297 23.444910 23.0 ... acc # 38.067886 24.411770 30.0 ... acc # 36.791195 21.715324 29.0 ... acc # ... ... ... ... ... # 0.839383 -8.870781 NaN ... brca # -5.842904 2.877595 NaN ... brca # -9.392038 1.663352 71.0 ... brca # -4.016389 6.260741 NaN ... brca # 0.229801 -8.227086 NaN ... brca
# [4674 rows x 9 columns]
# Setup the tooltiptooltip=df['labels'].values + ' <br /> Survival: ' + df['survival_months'].astype(str).str[0:4].values# Set the sizesize = df['survival_months'].fillna(1).values / 10
# Scatterd3.scatter(df['x'].values, # tSNE x-coordinates df['y'].values, # tSNE y-coordinates x1=df['PC1'].values, # PC1 x-coordinates y1=df['PC2'].values, # PC2 y-coordinates scale=True, # Scale label_radio=['tSNE', 'PCA'], # Label radio button size=size, # Size color=df['labels'].values, # Hex-colors or classlabels stroke='#000000', # Edge color opacity=0.4, # Opacity tooltip=tooltip, # Tooltip cmap='tab20', # Colormap filepath='c://temp//scatter_demo.html')
  • 提琴图

Violin plot(小提琴图)可视化一个或多个组的数值变量分布。在方框图可能隐藏部分信息的情况下,它是方框图的替代品,可帮助我们深入了解大型数据集。通过该块,我们可以为一个或多个组配置图表,并更改图表中的各种元素,如颜色、工具提示和分区大小。为了演示,我们使用癌症数据集 作为Violin代码块的输入。

from d3blocks import D3Blocks
# Initialized3 = D3Blocks()
# import exampledf = d3.import_example('cancer')
# Tooltiptooltip=df['labels'].values + ' <br /> Survival: ' + df['survival_months'].astype(str).values
# Make the plotd3.violin(x=df['labels'].values, # class labels on the x axis y=df['age'].values, # Age tooltip=tooltip, # Tooltip for hovering bins=50, # Bins used for the histogram size=df['survival_months'].values/10, # Dotsize x_order=['acc','kich', 'brca','lgg','blca','coad','ov'], # Keep only these classes and plot in this order. figsize=[None, None], # Figure size is automatically determined. filepath='violine_demo.html')

  • 粒子图

有了粒子块,我们就可以把任何单词变成一个交互式粒子图。在单词上移动鼠标或轻触一下,粒子就会弹跳,然后返回原处。可以改变图表的各种属性,如弹跳、粒子大小和颜色。创建粒子图的示例见代码 ,结果如下图所示。

from d3blocks import D3Blocks# Initialized3 = D3Blocks()# Make particlesd3.particles('EchoXiangzhou', collision=0.05, spacing=10, figsize=[1500, 200],save_button=True)

  • 树形图

树形图是一种分层显示数据的可视化方法。

本公众号相关内容推荐:


title: “利用人工智能和卫星影像揭示人类海上活动不断扩大的足迹” published: 2024-01-06 description: “研究人员利用卫星图像和人工智能,精确地绘制了人类在海上的活动地图,揭示了之前未被关注的大量海上工业活动,从可疑的捕鱼作业到近海能源开发的爆炸式增长。这一研究成果近期发表在了《自然》(Nature)杂志上。” image: “/images/利用人工智能和卫星影像揭示人类海上活动不断扩大的足迹/img_c63b3dc6.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#

研究人员利用卫星图像和人工智能,精确地绘制了人类在海上的活动地图,揭示了之前未被关注的大量海上工业活动以及从可疑的捕鱼作业到近海能源开发的爆炸式增长。这一研究成果近期发表在了《自然》(Nature)杂志上。

这项由全球渔业观察(Global Fishing Watch)领导的开创性研究,主要利用机器学习和卫星图像绘制了第一张全球大型船只交通和近海基础设施地图,发现了大量以前对公共监测系统不为所知的活动。研究团队融合分析了欧空局(ESA)的Sentinel-1合成孔径雷达卫星和Sentinel-2光学卫星提供的2017-2021年间卫星遥感图像以及来自船只的全球定位系统的共计2PB数据,绘制了全球沿海海域所有大型船只交通和固定基础设施的地图。

图中红色为海上石油平台,蓝色为风力发电装置研究团队开发了深度学习模型,对探测到的每艘船只进行分类,估计其大小,并将不同类型的近海基础设施进行分类。研究结果表明,约四分之三的工业渔船没有被公开追踪,同样,近三分之一的运输和能源船只也没有被公开追踪。图中蓝色为被追踪记录的渔船,红色为未被追踪的渔船

在过去五年里,风力涡轮机的数量超过了石油平台的数量,尽管发展几乎完全局限于北欧和中国。其中,中国的风力发电量增长了900%以上!
图中黄色为海上石油平台,蓝色为风力发电装置研究结果显示,2020年,全球渔业活动因新冠肺炎病毒疫情下降了12%,直到2023年仍未恢复。‍Reference:

  1. Paper:https://www.nature.com/articles/s41586-023-06825-8
  2. Data and code:https://globalfishingwatch.org/datasets-and-code====南极绕极流模拟数据可视化.md====

title: “南极绕极流模拟数据可视化” published: 2022-07-19 description: “该可视化展示了2012年南极绕极流的运动变化情况,数据来源于德国阿尔弗雷德·魏格纳研究所亥姆霍兹极地与海洋研究中心的海冰-海洋数值模式。模式在南大洋的分辨率为3km。” image: “/images/南极绕极流模拟数据可视化/img_7eb8495c.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#

该可视化展示了2012年南极绕极流的运动变化情况,数据来源于德国阿尔弗雷德·魏格纳研究所亥姆霍兹极地与海洋研究中心(Alfred Wegener Institute,Helmholtz Centre  for Polar and Marine Research)的海冰-海洋数值模式FESOM (Finite-Element/volumE Sea ice-Ocean Model) 。模式在南大洋的分辨率为3km。

    可视化效果使用了@xarray_dev @SciPy_team @matplotlib @cartopy等开源软件提供的工具。

     南极绕极流(Antarctic Circumpolar Current,ACC),也被称为西风漂流、南极环流,是一个环绕南极洲由西向东的洋流。它是全球海洋中唯一一支没有陆地阻挡、连通全球四大洋的流系。南极绕极流接驳了大西洋、太平洋、印度洋盆地,并同时作为三者交流的主要渠道。此环流会受到地形及水底测绘(bathymetric)特征的强烈限制。由南美洲开始,南极绕极流流经南美洲与南极洲间的德雷克海峡,接着在斯科舍岛弧分割,微弱的温暖分支向北形成福克兰洋流,较强的分支则穿过岛弧再向东流。经过印度洋时,环流在印度洋的克革伦高原(Kerguelen Plateau)被分割,大部分流量转移向北。到达新西兰南部时,环流依照坎贝尔高原(Campbell Plateau)的轮廓流动,首次向南大幅转向然后再次转回向北。环流转向亦可以在其经过东南太平洋中洋脊(mid-ocean ridge)时出现。

References:

1.https://www.awi.de/en/science/junior-groups/maresys/models.html

2.https://twitter.com/xarray\_dev

3.https://twitter.com/SciPy\_team

4.https://matplotlib.org/====可视化-今天是4年一次的闰日.md====#

title: “可视化-今天是4年一次的闰日” published: 2020-02-29 description: “地球围绕太阳运转一周的时间间隔约为365.242天,而国际通用的日历上每年只有365天,也就是说,每隔4年日历上就要多出将近一天的时间。” image: “/images/可视化-今天是4年一次的闰日/img_07a7f45d.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#

#

今天是2月29日,4年一次的Leap Day。#

Google今天的Doodle:

Leap Day :  闰日#

闰日 :地球围绕太阳运转一周的时间间隔约为365.242天,而国际通用的日历上每年只有365天,也就是说,每隔4年日历上就要多出将近一天的时间。为了解决这个余数,年数不为100的倍数且能被4整除和年数为100的倍数且能被400整除的就额外增加一天,这一天为闰日—即2月29日。

阳历中有闰日的年分叫闰年,相反就是平年,平年为365天,闰年为366天。在公历儒略历及纪年中,平年的二月为28天,闰年的二月为29天。闰年平月2月29日为闰日。    

地球公转一圈并不是精确的365天,实际上说是365.242天更准确一些。

因此,如果我们希望年历的开端正好是地球开始新一轮公转的时候,我们就必须每年多算(大约)四分之一天,或每四年多算一天。埃及人先采用了这种算法,后来到了公元前46年欧洲人才开始这么算。当时罗马独裁者尤利乌斯·恺撒(恺撒大帝)和天文学家索西琴尼商讨后制定了我们今天所谓的儒略历,儒略历共有12个月、365天,每四年加上一个闰日(2月29日)。

Reference:

https://twitter.com/physicsJhttps://zh.wikipedia.org/wiki/闰年https://www.mentalfloss.com/article/613686/why-leap-days-exist
```====可视化南极冰山漂移路径.md====
---
title: "可视化南极冰山漂移路径"
published: 2024-01-05
description: "本文作者基于美国国家冰中心每天发布的冰山追踪数据(冰山编号、面积、经纬度位置、时间),可视化展示了2014-2023年南极主要冰山在脱离冰架后的动态漂移路径。"
image: "/images/可视化南极冰山漂移路径/img_ea2091a9.jpg"
tags: ["数据可视化", "台风"]
category: "数据可视化"
draft: false
---
上个世纪70年代,借助于飞速发展的航天技术,人类才得以从太空一窥极地冰雪世界的全貌,也开启了对冰山的全面追踪观测。1978年,美国国家冰中心(U.S. NATIONAL ICE CENTER,USNIC)开始发布南极冰山信息,对长度超过10海里的大冰山进行编号和追踪。
从卫星观测数据中识别出的每一座大冰山会有一个固定的编号,编号的第一个字母表示最初发现冰山的经度区间,从0度经线开始向西,每90度一个,依次为ABCD共4个,后面的两位数字表示在此区间内新发现的冰山序号。例如,一座新生的冰山,已由USNIC命名为A-68,就是自1978年以来,在0°~90°W之间发现的第68座大冰山。USNIC预测在未来的几个月中,A-68将随着威德尔流涡向东-东北方向漂移,在进入更北部的南极绕极流之前,A-68有可能分裂为几个更小的冰山。这些小冰山,将依次命名为A-68A,A-68B等。
本文作者基于美国国家冰中心每天发布的冰山追踪数据(冰山编号、面积、经纬度位置、时间),可视化展示了2014-2023年南极主要冰山在脱离冰架后的动态漂移路径。其中的圆直径与冰山面积大小成正比。
例如,可以看到编号为#A23A的冰山(目前世界上最大的冰山)是如何从威德尔海慢慢驶向大海的。#B22A是南极洲阿蒙森海(Amundsen Sea)最大的冰山(曼哈顿陆地面积的50倍)。它从Thwaites Glacier的冰舌上断裂,在地面上停留了20年,但从2023年1月它开始移动了。
下图为卫星影像中的#A23A冰山脱离冰架和漂移情况。
Reference:
https://usicecenter.gov/Products/AntarcIcebergs====可视化呈现2023年是有气象记录以来最热的一年.md====
---
title: "可视化呈现2023年是有气象记录以来最热的一年"
published: 2024-01-13
description: "根据美国国家航空航天局(NASA)的分析,2023年地球表面平均温度是有记录以来最热的一年,过去10年也是有记录以来最热的10年,该记录可追溯到1880年。"
image: "/images/可视化呈现2023年是有气象记录以来最热的一年/img_83324d5a.jpg"
tags: ["数据可视化", "台风"]
category: "数据可视化"
draft: false
---
根据美国国家航空航天局(NASA)的分析,2023年地球表面平均温度是有记录以来最热的一年,过去10年也是有记录以来最热的10年,该记录可追溯到1880年。美国国家航空航天局纽约戈达德太空研究所(NASA's Goddard Institute for Space Studies,GISS)的科学家报告说,去年全球气温比美国国家航空航天局基准期(1951-1980年)的平均气温高出约2.1华氏度(1.2 摄氏度)。
![](/images/可视化呈现2023年是有气象记录以来最热的一年/img_43e21abc.png)
2023年地表平均气温与1991-2020年平均气温相比较,世界大部分地区比正常情况下要热得多2023年,全球数亿人经历了极端高温,从6月到12月,每个月都创下了相应月份的全球纪录。七月是有记录以来最热的月份。夏季是最热的夏季,秋季是最热的秋季。9月份的气温异常--偏离平均值的幅度最大。
![](/images/可视化呈现2023年是有气象记录以来最热的一年/img_9c29e11e.png)
以上结论是根据数千个气象站、船舶和海洋浮标以及南极研究站的数百万次测量数据计算得出的。尽管在数据收集和处理方面存在细微差别,但这些全球记录都是一致的: 地球正在以前所未有的速度变暖。
全球气象观测站点
尽管科学家有确凿证据表明地球的长期变暖趋势是由于二氧化碳等温室气体的大量排放等人类活动造成的,但他们仍在研究其他可能影响气候年度或多年变化的现象,如厄尔尼诺现象、气溶胶和污染以及火山爆发。
通常情况下,太平洋的厄尔尼诺-南方涛动海洋气候模式是年际变化的最大来源。该模式有两个阶段:厄尔尼诺和拉尼娜--赤道沿岸的海面温度在较高、平均和较低温度之间切换。从2020年到2022年,太平洋连续出现了三次拉尼娜现象,这往往会使全球气温降低。2023年5月,海洋从拉尼娜现象过渡到厄尔尼诺现象,厄尔尼诺现象往往与有记录以来最热的年份相吻合。2023年下半年创纪录的气温发生在当前厄尔尼诺现象达到顶峰之前。科学家预计,厄尔尼诺现象的最大影响将出现在2024年的2月、3月和4月。
![](/images/可视化呈现2023年是有气象记录以来最热的一年/img_3e75521c.png)
科学家们还调查了2022年1月洪加汤加-洪加下阿帕伊海底火山爆发可能造成的影响,这次火山爆发将水蒸气和微粒(即气溶胶)喷入平流层。最近的一项研究发现,火山气溶胶--通过反射地球表面的阳光--导致火山爆发后南半球整体略微降温,降温幅度不到0.2华氏度(约 0.1 摄氏度)。
厄尔尼诺现象进入了第二年,导致温暖的海水持续涌入东热带太平洋,这通常是它加剧全球变暖的时候。另一方面,随着人类继续向大气中排放温室气体,2024年可能会出现比2023年更极端的天气和气候影响事件。References:
* https://data.giss.nasa.gov/gistemp/
* https://www.ecmwf.int/en/forecasts/dataset/ecmwf-reanalysis-v5
* https://www.ecmwf.int/en/forecasts/dataset/c3s-seasonal-forecasts
* https://doi.org/10.1029/2023GL104634
* https://sphere.ssec.wisc.edu/hunga-tonga2022/====可视化呈现海洋洋流-墨西哥湾流.md====
---
title: "可视化呈现海洋洋流-墨西哥湾流"
published: 2024-02-04
description: "墨西哥湾流是大西洋中一条独特而重要的洋流,其起源于墨西哥湾,对全球气候和海洋环境产生深远影响。"
image: "/images/可视化呈现海洋洋流-墨西哥湾流/img_4346ca5d.jpg"
tags: ["数据可视化", "台风"]
category: "数据可视化"
draft: false
---
海洋洋流是不断地在海洋中以特定的主导方向流动的巨大水流。有些洋流在海洋表面(上方400米)流动,而有些则深藏在更深的海洋中。所有的海洋洋流组成一个绕着全球海洋循环的系统。全球洋流输送的水量,即全球洋流传送带,相当于100条亚马逊河或是世界上所有河流流量的16倍。
![](/images/可视化呈现海洋洋流-墨西哥湾流/img_6b34edd5.jpg)
海洋洋流受到三个主要因素的控制:全球风、科氏力以及大陆的形状和主要岛屿的位置。而地球上涉及海洋表层和深层水域,直至海底的洋流系统的运动是由水密度梯度驱动的,被称为热盐环流。海洋洋流的热盐环流经常被称为全球洋流传送带。
![](/images/可视化呈现海洋洋流-墨西哥湾流/img_e31bbe69.jpg)环绕全球海洋的洋流传送带示意图深蓝色显示的是寒冷的深海洋流。红色代表温暖的表层洋流全球洋流传送带的绝大多数部分基本上是水平移动的,无论是靠近海洋表面还是深处,接近海洋底部。通过这些长时间的“水平”传送带部分,水团从一个海洋流向另一个海洋,将海洋连接在一起(在物理、化学和生物学上),传递热量以及悬浮和溶解的物质,使其成为一个全球海洋。研究人员表示,一滴水分子需要超过1,000年才能完成一次全球洗衣机循环,而在此期间,水分子将穿越包括北冰洋在内的所有海洋的水域。
![](/images/可视化呈现海洋洋流-墨西哥湾流/img_ff3b613e.png)
![](/images/可视化呈现海洋洋流-墨西哥湾流/img_8a8ec9b4.png)
![](/images/可视化呈现海洋洋流-墨西哥湾流/img_ca535bc5.webp)
墨西哥湾流是大西洋中一条独特而重要的洋流,其起源于墨西哥湾,对全球气候和海洋环境产生深远影响。
**起源与流向**:墨西哥湾流源自墨西哥湾,这个地区通常被称为起源地。这里的温暖、盐度较高的水体在夏季特别是风暴季节积聚热量,形成了强大的洋流。一旦形成,墨西哥湾流沿着美国东海岸线向北流动,然后穿越大西洋,最终到达欧洲的西部海域。
**流速和规模****:**墨西哥湾流是世界上最大的西向洋流之一,其流速相当迅猛,通常在每小时1到3节之间,这相当于每小时1.15到3.45英里,或1.85到5.55公里。它每秒运输的水量是极为庞大的,约为亚马逊河水量的150倍。
**影响气候****:**墨西哥湾流对美国佛罗里达东海岸的气候产生显著影响。在冬季,它使得该地区相对温暖,而在夏季则相对较凉。这是因为洋流带来的温暖水体影响了周围空气温度,形成了温暖的气候环境。由于墨西哥湾流穿越大西洋,它也对欧洲的气候产生显著影响。它为西欧国家带来相对温暖的气候,特别是在夏季。这种影响被认为是导致欧洲夏季相对温暖的主要原因之一。**大洋传送带的一部分****:**墨西哥湾流是大洋传送带系统的一部分。这个系统是全球性的海洋循环,通过冷、咸水在深层沉降,而温暖水在海表停留,实现了全球热量和盐分的重新分配。墨西哥湾流在这一系统中扮演着关键角色。**影响生态系统****:**墨西哥湾流被认为是海洋生态系统中的重要组成部分,提供了一个独特的生态环境。其温暖的水体和丰富的营养物质支持着丰富的海洋生物群落,使其成为海洋生态系统中的生态热点。
References:
* https://twitter.com/NASAAmes
* https://earth.org/data\_visualization/the-gulf-stream-is-slowing-what-are-the-implications/
---
**本公众号相关内容推荐:**
* [一个快速检索和下载NASA地球科学数据的Python软件包](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485332&idx=1&sn=1ab4dc70f4bf5ea2e1c66843d602bb5f&chksm=fabf6fcecdc8e6d8195c9c76e2fc0112a5d5d63410aec7c9bf5f0972d2568ba5bcd8631411d2&scene=21#wechat_redirect)
* [地理空间数据三维可视化R软件包](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485309&idx=1&sn=4ad935eba08892d5eae12259b2e1963d&chksm=fabf6f27cdc8e631966ca27e64274eea40eda5a5650a336c325134e8aabb30da8a245d61db26&scene=21#wechat_redirect)
* [使用Python+hvPlot绘制出版级可视化图表(附完整代码)](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485218&idx=1&sn=1f33256df8d5dced9cb505b0c5bae377&chksm=fabf6f78cdc8e66e0b3ad5754fa1cbfbc4f0a61627bb123f7fedfb300c43256f74b08db2dd89&scene=21#wechat_redirect)
* [全球海洋船舶定位数据交互式可视化(附数据)](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485165&idx=1&sn=c8c0b1018e8ebc0436ea03b65c5843bd&chksm=fabf6eb7cdc8e7a1c0beb16139174a4618738ba6a777d1386245c2d93856756d8bf151abf90e&scene=21#wechat_redirect)
* [地球科学领域开源python包#1](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247484833&idx=1&sn=bd4f827df3baed8d344c33c42f0ecccf&chksm=fabf6dfbcdc8e4ed3a0673b09e83f08b4333fa1617dd4e749b8ed0a90b7e3f4721ce01a71c71&scene=21#wechat_redirect)
* [地球科学领域开源python包#2](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247484867&idx=1&sn=5d1c8c4a37109630fba96654efe669a9&chksm=fabf6d99cdc8e48f6adce51ae82ecddfc7ca3ca0e754fd9a9ecb82e046c227353227ec5a929e&scene=21#wechat_redirect)
* [大规模空间矢量数据可视化Python库-lonboard](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247484935&idx=1&sn=1c24c747aa6cf7ee0ef22da56640d9c9&chksm=fabf6e5dcdc8e74b4f64bd6f193a29f3853a5c1e8b169bde237f958327edae07fc760461445c&scene=21#wechat_redirect)
* [可视化呈现2023年是有气象记录以来最热的一年](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247484982&idx=1&sn=1c37f6dff58570ff2b821f91c6776dc1&chksm=fabf6e6ccdc8e77a9640a30835cb7457e3eee2d951490e763f5c74f9280526a46897090ee7cb&scene=21#wechat_redirect)
* [大气海洋科学数据可视化案例集#1](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485054&idx=1&sn=086399b206e9ac29fb0583186dbd1665&chksm=fabf6e24cdc8e7329f9c1e7ef2a62bab78860f351916cd703be218690e620767814c0207722b&scene=21#wechat_redirect)
* [地球科学领域计算分析开源Julia软件包](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485098&idx=1&sn=507ce6d9353865edb44c7ae255078856&chksm=fabf6ef0cdc8e7e68650e02472f21799a4ca0f606f9305ffa0838ff9b9d4a6e4bf6862d5d162&scene=21#wechat_redirect)
* [地球观测数据可视化工具](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485142&idx=1&sn=a84720e5cbd8d732c74a3b9abca30922&chksm=fabf6e8ccdc8e79a39684dbb8a9860741f826f18f619fb2037d71a2b70ab33c2614516873124&scene=21#wechat_redirect)
* [数据可视化Python库-Holoviews](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247484651&idx=1&sn=f7ade1a3eb3b3fdc2a04392f7c451fc9&chksm=fabf6cb1cdc8e5a70d6b53ff2b11734eff538834aadad5ed7582bee822f3ccd97eb780ed6428&scene=21#wechat_redirect)
* [三维可视化Python库-PyVista](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247484707&idx=1&sn=842c4fd35e774851767938368e556146&chksm=fabf6d79cdc8e46f0afbe5d1383baa3823914d7af7d6678b413e38cdc013f32c645ae554edb5&scene=21#wechat_redirect)====可视化展示东京140年的气温变化.md====
---
title: "可视化展示东京140年的气温变化"
published: 2018-08-15
description: "热图显示了夏季(6月至9月)东京过去140年的日平均气温。 横轴表示月份,纵轴表示年份(1876年至2018年)。"
image: "/images/可视化展示东京140年的气温变化/img_0aeb0ff0.jpg"
tags: ["数据可视化", "台风"]
category: "数据可视化"
draft: false
---
热图(Heatmap)显示了夏季(6月至9月)东京过去140年的日平均气温。 横轴表示月份,纵轴表示年份(1876年至2018年)。 每个小的矩形单元的颜色由一天的平均温度颜色表示。“小于18度”,“大于等于18度且小于20度”,“大于等于20度且小于22度”......“30度以上”,根据温度的大小,颜色从蓝色至黄绿色至黄色至红色至深红色。例如,如果平均温度为20度,则变为黄绿色,如果为31度,则变为深红色。原始日平均温度数据来自日本气象厅的网页(http://www.jma.go.jp/jma/index.html)。 使用P5.js生成可视化界面,鼠标点击矩形点可查看当日温度。点击“阅读原文”打开数据展示页面。
![](/images/可视化展示东京140年的气温变化/img_7020889c.jpg)
可以看到夏季气温从20世纪20年代开始逐渐上升。 特别是,从20世纪60年代到70年代的高增长期,这种趋势变得明显。自20世纪90年代初以来,平均温度从7月上半月开始超过30度并不罕见。另一方面,在1980年或1993年,也就是所谓的寒冷夏季。可以看出,随着温度升高,热的峰值时间延长,及夏季变得越来越热,时间越来越长。
![](/images/可视化展示东京140年的气温变化/img_bdb7ce16.png)
- Data source: JapanMeteorological Agency
- Data was collected byusing PHP, then processed by using SQL,visualized by P5.js
- Place: Tokyo lat.35°41.5′ North / long. 139°45.0′ East
- Reference values aretreated as usual
- Empty when the valueis unmeasurable
=====================================
![](/images/可视化展示东京140年的气温变化/img_b53c2a29.jpg)====可视化展示光的速度-Light-Speed-fast-but-slow.md====
---
title: "可视化展示光的速度 Light Speed-fast,but slow"
published: 2019-10-03
description: "光在空气中的速度约为3*10^8 m/s,光速是目前人类已知速度的上限。这个速度有多快呢?动画从4个方面直观展示光的传播速度。"
image: "/images/可视化展示光的速度-Light-Speed-fast-but-slow/img_505c4f44.jpg"
tags: ["数据可视化", "台风"]
category: "数据可视化"
draft: false
---
光在空气中的速度约为3\*10^8 m/s,光速是目前人类已知速度的上限。这个速度有多快呢?
      上面的动画从4个方面直观展示光的传播速度
      1. 光在一秒钟内前进的距离大约就可以绕地球赤道7.5圈
     2. 地球到月球的距离约为38.44万公里,光从地球表面到月球表面需要约1.255秒。人类在1969年第一次登上月球,花费了三天多的时间才到达月球,由此可见光速有多快。
      3.  地球到火星的距离约为5500万公里,光从地球到火星需要约3分2秒
      4. 太阳到地球的平均距离大约是1.496亿公里,光从太阳到地球需要约8分17秒
Reference:@physicsJ====可视化展示全球气候变化.md====
---
title: "可视化展示全球气候变化"
published: 2018-04-07
description: "本文将引用各种可视化产品展示全球地表温度、海平面和南极海冰等的变化,使全球变化的趋势更加显而易见。"
image: "/images/可视化展示全球气候变化/img_c6e11b23.jpg"
tags: ["数据可视化", "台风"]
category: "数据可视化"
draft: false
---
2016年是有完整气象观测记录以来全球地表温度最高的一年,2017年,全球表面平均温度比1981~2010年平均值(14.3℃)高出0.46℃,比工业化前水平(1850~1900年平均值)高出约1.1℃,为有完整气象观测记录以来的第二暖年份,也是有完整气象观测记录以来最暖的非厄尔尼诺年份。
从1870年开始,全球平均海表温度表现为显著升高趋势,进入21世纪之后海温持续偏高。2017年,全球大部分海域海表温度较常年值偏高,全球平均海表温度为1870年以来的第三高值。1958~2017年,全球海洋热含量(上层2000米)呈显著增加趋势,且海洋变暖在20世纪90年代后显著加速。2017年,全球海洋热含量为有现代海洋观测以来的最高值。
自1979年,北极海冰范围显著减小;南极海冰范围总体呈上升趋势,但2017年南极海冰范围异常偏小,3月海冰范围为有卫星观测记录以来的同期最小值,9月为同期次小值。
以上数据来源于2018年中国气象局发布的《中国气候变化蓝皮书》。
通过这些数据表明全球正在变暖,通过相关可视化产品更能直观的展示出全球变暖的趋势。本文将引用各种可视化产品展示全球地表温度、海平面和南极海冰等的变化,使全球变化的趋势更加显而易见。
**1. 全球地表温度可视化**
 展示1850-2017年全球温度。
 数据来源:HadCRUT4 is a gridded dataset of global historical surfacetemperature anomalies relative to a 1961-1990 reference period. Data areavailable for each month since January 1850, on a 5 degree grid. The dataset isa collaborative product of the Met Office Hadley Centre and the ClimaticResearch Unit at the University of East Anglia.
**地表温度变化(1850-2017年)**
****2分钟展示168年的全球温度变化**(1850-2017年)******
**美国佛罗里达基韦斯特附近海平面变化**
![](/images/可视化展示全球气候变化/img_4d80afcf.jpg)
**蓝色代表温度低,红色代表温度高**
![](/images/可视化展示全球气候变化/img_aec3ea81.jpg)
**2. 南极海冰厚度变化**
展示1979-2016年每年10月南极海冰厚度情况,**厚度小于1.5米显示为黑色**。
数据来源:http://psc.apl.washington.edu/zhang/IDAO/data\_piomas.html
![](/images/可视化展示全球气候变化/img_280331e2.gif)====可视化展示北极海冰覆盖面积35年变化情况-1984-2019.md====
---
title: "可视化展示北极海冰覆盖面积35年变化情况(1984-2019)"
published: 2019-09-11
description: "北极海冰在过去35年间显著减少,另一方面,季节性变化始终较为一致,但一年又一年过去,白色部分变得越来越小,到最后甚至变成了一片浅蓝色中一道模糊的斑纹。除了面积不断缩减之外,海冰的质量也在不断下滑。冰盖厚度不断减小,陈旧海冰也几乎完全消失了。"
image: "/images/可视化展示北极海冰覆盖面积35年变化情况-1984-2019/img_45aa1cf0.jpg"
tags: ["数据可视化", "台风"]
category: "数据可视化"
draft: false
---
以上是1984年至2019年间北极每周海冰面积的变化情况,动画中,不同颜色海冰代表其年龄,较年轻的海冰或第一年的冰以深蓝色显示,而四年以上的海冰即所谓的“多年冰”显示为白色。
可以看出,北极海冰在过去35年间显著减少。另一方面,季节性变化始终较为一致,但一年又一年过去,白色部分变得越来越小,到最后甚至变成了一片浅蓝色中一道模糊的斑纹。除了面积不断缩减之外,海冰的质量也在不断下滑。冰盖厚度不断减小,陈旧海冰也几乎完全消失了。若这一趋势持续下去,对气候造成的影响将无法逆转,全球环境将受到剧烈影响。
随着地形的变化,“北极”的含义本身也会有所改变。随着北极冰盖不断减少,可用于贸易运输的地区也越来越多,因此北极的战略和经济意义都将不断加强。之前由于冰层的覆盖,我们无法从这些地区开采石油和天然气。而如今冰层褪去,这一局面也将发生明显转变。
![](/images/可视化展示北极海冰覆盖面积35年变化情况-1984-2019/img_e6028b30.jpg)
图1 1988年1月第一周的北极海冰覆盖情况,超过四年的海冰面积约为312万平方公里。
![](/images/可视化展示北极海冰覆盖面积35年变化情况-1984-2019/img_9f1a7e72.jpg)
图2 2019年1月第一周的北极海冰覆盖情况,超过四年的海冰面积只有11.6万平方公里。
由美国国家冰雪数据中心收集的数据显示,在1988年1月的第一周,北冰洋中存在时间超过四年的海冰面积尚有312万平方公里。而相比之下,2019年1月的第一周,该地区多年冰的面积已经缩减到了11.6万平方公里。这意味着北极圈内多年冰的面积在仅仅35年内便急剧减少了95%。
**Data Used:**
BUOYS,DMSP 5D-3/F18/DRIFTING BUOYS, SSMIS/Quicklook Arctic WeeklyEASE-Grid Sea IceAge, Version 1 01-01-2019 to 07-31-2019
https://svs.gsfc.nasa.gov/cgi-bin/search.cgi?dataset=1058
Aqua,BUOYS, DMSP 5D-2/F11, DMSP 5D-2/F13, DMSP 5D-2/F8, DMSP5D-3/F17, MODELS,NOAA-10,NOAA-11,NOAA-14,NOAA-16,NOAA-7,NOAA-9,Nimbus-7/AMSR-E, AVHRR,DRIFTING BUOYS, SMMR,SSM/I, SSMIS/EASE-Grid Sea IceAge, Version 4 01-01-1984 to 12-31-2018
https://svs.gsfc.nasa.gov/cgi-bin/search.cgi?dataset=1057
![](/images/可视化展示北极海冰覆盖面积35年变化情况-1984-2019/img_b53c2a29.jpg)====可视化展示神经网络模型运行过程.md====
---
title: "可视化展示神经网络模型运行过程"
published: 2024-11-01
description: ""
image: "/images/可视化展示神经网络模型运行过程/img_767a58c6.jpg"
tags: ["数据可视化", "台风"]
category: "数据可视化"
draft: false
---
****
**人工神经网络**(Artificial Neural Network, ANN)是一种受生物神经系统启发的计算模型,其基本构成单元是人工神经元,就像生物大脑中的神经元一样。这些神经元被组织成多个层级,通过层间连接传递信息,按照预设的规则机械地进行计算,最终产生输出结果。ANN的关键特性包括预测能力和层级结构,通过堆叠多层神经元,可以处理更复杂的问题,而层间连接的强度决定了网络的行为。以数字识别为例,一个ANN可能包含接收图像像素的输入层、处理信息的中间隐藏层以及产生最终预测的输出层。虽然ANN可以通过训练来学习完成特定任务,展现出复杂的行为,但它本质上仍是一个按照预设规则运行的数学计算系统,而非具备真正思维能力的智能体。
![](/images/可视化展示神经网络模型运行过程/img_c0f58169.webp)
![](/images/可视化展示神经网络模型运行过程/img_c3039dca.jpg)
这个可视化展示了一个具有50个神经元、两层结构的人工神经网络(ANN),经过训练,可以识别0到9的数字。ANN预测的复杂性随着连接数量的增加而增加。
可视化视频中可以看到三层结构:
1. 顶部一行显示模型预测结果
2. 中间两层是神经网络的隐藏层,由多个神经元节点组成
3. 节点之间通过粉色和绿色的连接线相互连接,这些连接线表示神经元之间的权重关系
底部的灰色的网格,用于显示输入的手写数字图像。整个过程很好地展示了神经网络在数字识别任务中的基本结构和复杂性。这种可视化有助于理解神经网络是如何通过多层连接来学习和识别数字的。
尽管这个网络能够通过训练来识别数字,但重要的是要明白它并不具备"思维能力"。它本质上是一个数学计算的瀑布系统 - 输入通过多层计算最终得出输出(即对所画数字的预测)。就像一堆能学习玩井字棋的火柴盒不会思考一样,神经网络能够"学习"并不意味着它能够"思考"。
![](/images/可视化展示神经网络模型运行过程/img_eb8eede6.png)
**卷积神经网络**(Convolutional Neural Network, CNN)是一种专门设计用于处理网格结构数据(如图像)的深度神经网络架构,通过模仿人类视觉系统的工作原理,在图像识别、计算机视觉等领域取得了突破性成就。CNN主要由卷积层、池化层和全连接层组成:卷积层通过卷积操作和不同的卷积核提取图像特征,如边缘、纹理等;池化层对特征图进行降维,提高模型对位置变化的容忍度;全连接层则负责将特征图转换为最终的分类结果。CNN的主要优势在于参数共享可以减少网络参数数量,局部连接使每个神经元只需处理其感受野内的数据,以及具有平移不变性,这些特性使得CNN在处理图像识别、目标检测等计算机视觉任务时表现出色。
![](/images/可视化展示神经网络模型运行过程/img_a354d6c7.webp)
这是一个在MNIST数据集上预训练的卷积神经网络(CNN)模型交互式可视化实现。模型采用了更高效的CNN架构:包含2个卷积+最大池化层和1个全连接层,模型参数量为2023个,训练准确率达到98%。网络架构包括以下几个主要部分:
1. 输入层: 28×28=784个输入
2. 第一个卷积组(8个特征图):
* 卷积层(核大小5×5)
* ReLU激活函数
* 最大池化层(核大小2×2)
3. 第二个卷积组(5个特征图):
* 卷积层(核大小5×5)
* ReLU激活函数
* 最大池化层(核大小2×2)
4. 全连接层
5. Softmax输出层
值得注意的是,该模型在识别数字6和9时表现较差,且对于未居中的数字识别效果不理想。由于网络规模较小,无法进行数据增强来改善这些问题。另外,为了解决编译时间过长的问题,避免使用循环结构,虽然这样导致代码行数增加,但提高了实用性。
# **本公众号相关内容推荐**
* [图神经网络:处理图结构数据的强大工具](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486534&idx=1&sn=1dcaef2817c02e51bcc76d9b6e2250d3&chksm=fabf641ccdc8ed0adb5c92db52eb476372ec64b5a59f0bc7d9289fd3a27ebfea2b511d3c16e8&scene=21#wechat_redirect)
* [推荐6个美化Matplotlib可视化样式的python库](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486373&idx=1&sn=0323423e8820ef72fb4b21f0a9d2d133&chksm=fabf63ffcdc8eae9f3c5f4b273ae8aab6deee25488c88c8065a3f70b826a329954fa8bd736d8&scene=21#wechat_redirect)
* [AI天气模型的现状与未来](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486352&idx=1&sn=2f0cc81ace66c29b36a9538b9635d567&chksm=fabf63cacdc8eadcec873a6eb087c2165a52f7db4b6425f957acfd835d67a0303495516952c0&scene=21#wechat_redirect)
* [流式传输和渲染可视化三维地理空间数据](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486352&idx=2&sn=27f1e7b08ca444e348b5e814a5341ea9&chksm=fabf63cacdc8eadccca94008cd6d68ed7c72749f013536fd73fe9978756cb491ea66041c9677&scene=21#wechat_redirect)
* [GIS领域常用的24种数据格式](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486289&idx=1&sn=4e6ad5beb2c83622f5d816643cfcf0c4&chksm=fabf630bcdc8ea1dadb0c08d4f30a68c00871ab6c2e2334aa06f7ca8f48f6ee28ae539136775&scene=21#wechat_redirect)
* [一种基于图神经网络的三维建筑模型重建方法](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486289&idx=2&sn=cc3a650e367484828c957dae2d140b7e&chksm=fabf630bcdc8ea1d8f75d0af9e76311278e9a478822b0833d01e26143177965212247caa4ee8&scene=21#wechat_redirect)
* [WebGIS技术栈推荐](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486221&idx=1&sn=a0542f043c49ba135f277e66e048c331&chksm=fabf6357cdc8ea41650a459068cef1d83a57d77eb658783b2f7381ae7d5c99cfc4b35b73bdde&scene=21#wechat_redirect)
* [使用Python工具可视化大型图网络](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486178&idx=1&sn=f23ce75ebcd70e2e708bc40bcd56e699&chksm=fabf62b8cdc8ebae1972048a9bc3794bb50c454bb0b447a985387b518fc9712205144ba141cd&scene=21#wechat_redirect)
* [使用NetworkX提取图网络特征](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486153&idx=1&sn=638d596055d4cf730631d1ce63916beb&chksm=fabf6293cdc8eb8513bfc369e5bb0fae5721ee4abe8382c97918ccf0c4412d465a1038a0927c&scene=21#wechat_redirect)
* [Argo海洋观测数据处理分析python库:ArgoPy](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486119&idx=1&sn=80932a2dd3841325b1a9c3f04485715e&chksm=fabf62fdcdc8ebeb8777e71051192888116a82ce3a8cf798976f17515e755657f339eb81cc71&scene=21#wechat_redirect)
* [在Jupyter环境中创建交互式可视化地图](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486082&idx=1&sn=57e62f43df5b4568f93eec6c2576a5f2&chksm=fabf62d8cdc8ebcebf915ffd1c2f2c4b90cfefd2c3f8a03ff8a98593347c8954441c156abbf6&scene=21#wechat_redirect)
* [处理和可视化地理空间数据的Python库:EarthPy](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486068&idx=1&sn=dad52a2fddaae5ba34db65df298b83f1&chksm=fabf622ecdc8eb386b076b74dcd287b65f15eff9a1ebc8b0684e276d670046077acc817fdac8&scene=21#wechat_redirect)
* [地理空间深度学习python库:TorchGeo](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486055&idx=1&sn=24f10ec3f457cd44380ef233f9963e56&chksm=fabf623dcdc8eb2b4dced7aa8467d522a1383ff9bae20d5092d03d30955f7ba2253688056b5c&scene=21#wechat_redirect)
* [遥感数据分析python库scikit-eo](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486046&idx=1&sn=602acf1e2f5e559c299a8b13e80fb517&chksm=fabf6204cdc8eb12c0704c7a4e6037b554f68fe0826f09b1a91ae6e7bc41700a9e65ddad66b5&scene=21#wechat_redirect)
* [图网络的应用场景及图分析python库](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485965&idx=1&sn=f8aa290cd93feccdba3500abe0cff348&chksm=fabf6257cdc8eb41b666c59630d6a9d8d642ebf740fc79ef8c3f6027857c4d229808010a33fc&scene=21#wechat_redirect)
* [使用Python和NetworkX创建并可视化图网络(Graph Network)](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485946&idx=1&sn=530310279074989a0729ace617b7e0c9&chksm=fabf61a0cdc8e8b6b8ec33e9ec46aefed01672b6d4e9a6208020e6b9be7f8fbe0e38cc9577df&scene=21#wechat_redirect)
* [OpenResearcher:一个开源科学研究AI助理](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485934&idx=1&sn=3a35078ecfcec51014c24c1db9b2aaa3&chksm=fabf61b4cdc8e8a2cb0ef16fb0fd2bc2d3a3fdc42aef63e106152e55a6fbbf78c78c6b8f5c7a&scene=21#wechat_redirect)
* [NeuralGCM: 一种融合机器学习与物理原理来模拟地球大气的新方法](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485904&idx=1&sn=966cf544765b492436d42cfca66f3a7b&chksm=fabf618acdc8e89c59257b1150cf76ef8fe197ffbf390b7b4736b65ae3ba97c90c4d6d256b2b&scene=21#wechat_redirect)
* [Transformer Explainer:文本生成模型交互式可视化工具](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485859&idx=1&sn=e82c8ab4a071b123f4f3ab98eda381ec&chksm=fabf61f9cdc8e8ef2ba9dd265729eb51bdade88d69c57d4810771dc7d24af1521a5bd08dccf6&scene=21#wechat_redirect)
* [用于探索性数据分析(EDA)的开源python库](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485827&idx=1&sn=295572d805a167c620d0136b67c0aded&chksm=fabf61d9cdc8e8cfb8f3a26163daa4e94e5a8ce990e588f0e1880d1999f909f81d6a0bc28684&scene=21#wechat_redirect)
* [分享一个构建交互式D3js可视化的Python库](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485786&idx=1&sn=6a32cdd45a98b242fd8269b84f441448&chksm=fabf6100cdc8e8162e65c352f762665271ebf42a46345c7d0270ea72494c4c7068637ca7f21e&scene=21#wechat_redirect)
* [推荐15个图网络可视化python软件包](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485733&idx=1&sn=d75b69b4805f0b286026c663c1a934d2&chksm=fabf617fcdc8e869e3844db959192ef3fbae7a4faa703d54eabe7f81cdc5ec523d77fce589dc&scene=21#wechat_redirect)
* [9个提升科研效率的软件工具](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485691&idx=1&sn=9abc8927c179d0cf53eb4f04207820aa&chksm=fabf60a1cdc8e9b7c22e58b854e2a09e588742f59ff2207e437b69fb07362ba3ec381202c488&scene=21#wechat_redirect)
* [生成式人工智能模型颠覆传统天气预报](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485653&idx=1&sn=cfb223fb24824c01c773933c181969b8&chksm=fabf608fcdc8e999f74763593dd0f55b51a4776991060b28dfec146643b7f61ac0bc5d868133&scene=21#wechat_redirect)
* [分享5个python可视化图表工具](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485646&idx=1&sn=f1e740630334f88ef991439822b27fd3&chksm=fabf6094cdc8e9822c58338d80d5ef00f4f135bdcac2f9b893159701e789d37f44e90e4e0183&scene=21#wechat_redirect)
* [分享17个网络(Network)数据可视化工具](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485619&idx=1&sn=44696f7c089da0419bfa21ed181a6835&chksm=fabf60e9cdc8e9ff042c28395f16709da29f6ac0ab78d455cab018001d7264d39121fc5baa37&scene=21#wechat_redirect)====可视化展示风暴潮将会带来的危害.md====
---
title: "可视化展示风暴潮将会带来的危害"
published: 2018-09-14
description: "美国WeatherChannel频道使用一种叫做沉浸式混合现实(immersive mixed reality)的技术展示风暴潮、龙卷风等自然灾害将会造成的危害。比如最近的飓风#HurricaneFlorerence,身临其境的感觉。"
image: "/images/可视化展示风暴潮将会带来的危害/img_0c036979.jpg"
tags: ["数据可视化", "台风"]
category: "数据可视化"
draft: false
---
美国WeatherChannel频道使用一种叫做沉浸式混合现实(immersive mixed reality)的技术展示风暴潮、龙卷风等自然灾害将会造成的危害。比如最近的飓风#HurricaneFlorerence,身临其境的感觉。
还有之前关于龙卷风的危害展示,同样酷炫。
reference:
1. https://www.poynter.org/news/weather-channel-created-tornado-tore-down-their-walls
2. https://twitter.com/blkahn/status/1040306476273868800====可视化海洋持续增暖情况.md====
---
title: "可视化海洋持续增暖情况"
published: 2024-01-07
description: "本文的可视化数据来源于NOAA OISST v2.1的1985-2023年的日平均海表面温度数据,该数据产品同化了卫星遥感、调查船和浮标的观测数据,分辨率为0.25°x0.25°。"
image: "/images/可视化海洋持续增暖情况/img_a60b8644.jpg"
tags: ["数据可视化", "台风"]
category: "数据可视化"
draft: false
---
2023 年是NOAA在174 年前开始测量海洋温度以来最热的一年。然而,受厄尔尼诺现象和有增无减的化石燃料排放的影响,使得2024年可能成为另一个非常炎热的年份。
![](/images/可视化海洋持续增暖情况/img_f253b1f7.png)
本文的可视化数据来源于NOAA OISST v2.1的1985-2023年的日平均海表面温度数据,该数据产品同化了卫星遥感、调查船和浮标的观测数据,分辨率为0.25°x0.25°。
以下是基于 1991-2020 年平均值的 1989-2023 年南极海冰范围的每日标准偏差可视化,数据来源于https://ads.nipr.ac.jp/vishop,每条蓝线代表一整年的标准差。颜色越浅,表示时间越近。2023 年为红色。
**什么是海洋变暖?**
海洋温度的不断升高正在促使全球海洋生态系统、海平面和天气模式发生前所未有的变化。随着热量改变海洋,对食物供应、经济和天气的威胁成倍增加,人类和环境的健康面临危险。
海洋是地球气候系统的重要组成部分:海洋占地球面积的 70%,它吸收二氧化碳和其他温室气体滞留在大气中的热量。它有助于缓和气候,减缓全球变暖的影响。
海洋热量的增加与大气中温室气体浓度的增加密切相关,因此海洋是地球变暖程度的极佳指标。自 1971 年以来,海洋吸收了因燃烧化石燃料和其他人类活动而增加到地球气候中的 90% 的多余能量。
海洋表层是大多数海洋生物的家园,吸收了大部分热量。因此,自 1901 年以来,全球海洋表层 700 米的温度上升了约 1.5 华氏度。科学家们最近发现,在过去几十年里,海洋2000米以浅的变暖速度比之前估计的高出约 40%。
与陆地或空气相比,水能容纳更多的热量,因此它的变暖速度更慢,但这一速度仍然令人震惊。海洋不会永远保持这些热量。这些热量最终会被释放出来,重新回到气候系统中,导致气候进一步变暖。
![](/images/可视化海洋持续增暖情况/img_794398ef.png)
![](/images/可视化海洋持续增暖情况/img_de73474c.png)
**海洋变暖的危害**
海洋变暖将会影响海洋生物多样性、改变海洋化学成分、提高海平面高度并导致出现极端天气。地球已经在经历这些变化带来的后果,而且不仅仅是在沿海地区。
海洋温度上升与一些极端天气有关,可能导致更强烈的飓风、更大的降雨和暴风雪。海面温度升高会影响天气模式并改变降水量,导致一些地区遭遇暴雨和洪水,另一些地区的干旱状况和野火风险加剧。
海水变暖也会导致海平面上升,这种热膨胀可能是长期海平面上升的最大驱动力。因为水在升温时密度变小,体积膨胀,占据了更多空间,导致海平面上升。极地冰盖也会随之变薄和被侵蚀,从而使海平面进一步升高。海平面上升的速度和幅度因地而异;据科学家估计,到 2100 年,某些地区的海平面可能会上升至少 38cm,可能导致全球数百万人流离失所。
![](/images/可视化海洋持续增暖情况/img_b8cf05ba.png)
前所未有的海洋变暖对海洋生物的影响最大。现在,鱼类物种向北迁移,以寻找温度较低的食物来源,这对依赖渔业的社区和经济造成了影响。海洋温度升高会导致大片沿海和开阔海域出现缺氧的海洋死亡区,使海洋生物基本无法栖息。
![](/images/可视化海洋持续增暖情况/img_f263e0ce.png)
更热的海洋可以容纳更多的二氧化碳,从而导致海水酸性增强。这种现象被称为海洋酸化,将会使牡蛎、龙虾和珊瑚等碳酸钙形成生物更难构建它们生存所需的坚固外壳或骨骼。海洋酸化会产生多米诺骨牌效应:它会破坏整个生态系统,其中藻类和浮游生物(食物网的组成部分)以及具有文化、经济和生态重要性的动物(如鱼类、珊瑚和海胆)之间存在复杂的相互作用。虽然海洋化学变化的敏感性因物种和种群而异,但破坏的联系可能会降低整体生态系统功能,并造成难以预测和研究的未来情景。而且情况只会变得更糟。
![](/images/可视化海洋持续增暖情况/img_992533dd.png)
海洋水温升高还助长了频繁而漫长的海洋热浪,气温可能比平均气温高出几度或更多。这些长时间的高温对海洋健康造成严重破坏,增加了澳大利亚大堡礁和其他敏感珊瑚生态系统发生大规模白化现象的风险。
**海洋变暖与极端天气**
海洋温度上升使风暴增压,改变了全球天气模式,从而使一些极端天气事件变得更加严重。
温暖的表层海水为飓风和其他热带气旋提供了能量,增加了其频率和严重程度。2020 年大西洋飓风季产生了创纪录的 30 个命名风暴,这可能预示着未来的飓风活动。随着海洋的升温,2017 年飓风哈维和 2018 年飓风佛罗伦萨引发的大风、暴雨和洪水可能会变得更加常见,破坏力也会更大。
![](/images/可视化海洋持续增暖情况/img_3b4fe1b4.jpg)
由于海洋温度升高,天气模式正在发生变化,因为海洋是全球水流运动的关键。由于其巨大的体积,海洋通过推动地球的蒸发和降水循环,为天气提供动力。
较高的海面温度会增加蒸发,并为海洋上空的大气增加额外的水分。这些额外的水汽增加了沿海地区和内陆地区的暴雨和暴雪降水量。
![](/images/可视化海洋持续增暖情况/img_2a6c1ab3.jpg)
虽然较湿润地区的降水量会增加,但由于海洋变暖导致水循环发生变化,世界上的干旱地区可能会变得更加干燥。这些干旱状况将导致美国西南部等地区经历长期干旱,野火风险增加。
北极水域变暖与极地漩涡--美国和欧洲上空的冰冷气流--之间也可能存在联系。科学家们正在研究,海洋温度升高导致海冰减少是否会削弱喷气流,而喷气流通常会控制北极空气,使其向南流动。
![](/images/可视化海洋持续增暖情况/img_6e30a958.jpg)
References:
1. 海表温度数据:https://climatereanalyzer.org/clim/sst\_daily/
2. 海冰面积数据:https://ads.nipr.ac.jp/vishop====台风-飓风-卫星影像交互式可视化.md====
---
title: "台风(飓风)卫星影像交互式可视化"
published: 2024-01-08
description: "台风是一种强灾害性的天气系统,而我国又是世界上几个受台风影响最严重的国家之一,几乎每年都会有台风登陆。台风、"
image: "/images/台风-飓风-卫星影像交互式可视化/img_907a8eae.jpg"
tags: ["数据可视化", "台风"]
category: "数据可视化"
draft: false
---
台风是一种强灾害性的天气系统,而我国又是世界上几个受台风影响最严重的国家之一,几乎每年都会有台风登陆。
台风、飓风其实都是热带气旋。根据世界气象组织的定义,中心风力一般达到12级以上、风速达到每秒32.7米的热带气旋均可称为台风或飓风。区别在于,发生在西北太平洋及南海上的热带气旋是我们熟知的台风,而发生在东北太平洋和大西洋上的称之为飓风。
![](/images/台风-飓风-卫星影像交互式可视化/img_c3bd159e.gif)
卫星是台风监测的主要手段,它可以提供台风的全球覆盖和连续观测。气象卫星可以通过对地扫描方式获取地球的可见光、红外影像信息,确定台风的中心位置,监测热带气旋的生成、定位、移动、加强、影响、衰亡等各个阶段的云系发展和演变。海洋卫星上搭载有微波散射计,很适合在海洋环境下对台风风速及风向信息的测量。
![](/images/台风-飓风-卫星影像交互式可视化/img_1e350696.jpg)
美国高轨气象卫星GOES-16搭载有高速多光谱相机、闪电成像仪和一套空间天气仪器,可提供西半球连续的高分辨率飓风和其他风暴图像。
![](/images/台风-飓风-卫星影像交互式可视化/img_b6ee3e8c.jpg)
本文作者基于发生在2018年9月破坏力巨大的四级飓风佛罗伦斯(Hurricane Florence)的GOES-16卫星影像,使用数据分析Python工具包,无需下载影像文件到本地,直接通过planetary\_computer包从Microsoft地球科学数据池中读取GOES-16的STAC接口数据,然后进行在线绘制和交互式可视化。
该可视化应用目前运行在Jupyter环境中,下一步可以使用Streamlit将其发布成独立应用程序。
使用到的python工具包:
planetary\_computer, pystac, cartopy, hvplot, opendatacube====国际海洋数据资源汇总-1.md====
---
title: "国际海洋数据资源汇总#1"
published: 2023-12-25
description: "本文收集汇总了国际上常用的海洋数据资源相关网站。"
image: "/images/国际海洋数据资源汇总-1/img_c1d151bc.jpg"
tags: ["数据可视化", "台风"]
category: "数据可视化"
draft: false
---
国际海洋数据资源共享在全球范围内逐渐得到重视与推动,许多国际组织和国家间建立了合作框架。全球范围内,联合国海洋法公约强调各国有责任合作分享海洋科学数据。各国海洋研究机构也通过国际项目和协议共享海洋数据,促进科学研究和可持续管理。许多机构如美国地球物理数据中心 (NGDC)、欧洲中期天气预报中心(ECMWF)等都无偿共享实时性、完备性、可靠性的数据集这种国际数据共享的良好氛围影响下,许多国家纷纷建立海洋信息共享系统。
本文收集汇总了国际上常用的海洋数据资源相关网站。
1. **NCEI(National Centers for Environmental Information),美国国家环境信息中心**,提供水文、气象、地质地球物理等数据资源。
https://www.ncei.noaa.gov/products
![](/images/国际海洋数据资源汇总-1/img_0f7228bf.png)
2. **NASA EarthData**,NASA 地球科学数据系统计划的一部分,具体归属于地球观测系统数据和信息系统(EOSDIS),负责处理和发布来自地球观测卫星、飞机以及现场测量的地球科学数据。
https://www.earthdata.nasa.gov/
![](/images/国际海洋数据资源汇总-1/img_b5a12a80.jpg)
3. **美国地质调查局**(USGS)提供的数据对于地质研究、环境监测、资源管理和灾害预防等领域至关重要。
* 全球影像数据:USGS官方网站提供了全世界范围内大量影像数据的免费下载,且数据更新速度很快。
* 高程数据:国家高程数据集(NED)是USGS的主要高程数据产品,包含了美国本土、阿拉斯加部分地区、夏威夷和一些领土岛屿的最佳可用高程数据。包括NASA的ASTER GDEM和SRTM等
* 水资源数据:包括地下水水位、水质、径流等数据,补充水资源(USGS Water Data for the Nation)数据。
https://www.usgs.gov/products/data
4. **欧洲哥白尼海洋数据中心**,正式名称为哥白尼海洋环境监测服务中心(Copernicus Marine Environment Monitoring Service,简称CMEMS),是欧洲哥白尼计划的一部分,提供全球海洋环境的实时和历史数据。这些数据对于海洋科学研究、气候变化研究、海洋环境保护等领域具有重要价值。提供的数据包括:全球海平面高度异常数据、混合层深度数据、地转流场模式产品、全球海面高度(SSH)及参数模拟数据集。这些数据可以通过哥白尼海洋环境监测服务中心的官方网站下载。https://marine.copernicus.eu/
5. **澳大利亚海洋数据网络**(Australian Ocean Data Network, AODN)旨在提供开放的海洋数据。AODN通常会提供以下类型的数据:
* 海洋观测数据,包括温度、盐度、海流等。
* 海洋生物数据,涉及生物多样性和生态系统。
* 海洋地质数据,包括海床地形和地质结构。
* 海洋化学数据,如营养盐和其他化学物质的浓度。
这些数据支持海洋科学研究、环境监测、资源管理和政策制定等多个领域。数据通常可以通过AODN的门户网站访问,该门户网站提供了一个集成平台,用户可以搜索、访问和下载多个澳大利亚海洋和海岸数据集。https://portal.aodn.org.au/
6. **欧洲海洋观测和数据网络**(European Marine Observation and Data Network,简称EMODnet)是一个由欧盟支持的开放数据服务平台,旨在整合和提供高质量的海洋信息,以支持科学研究和政策制定。EMODnet由120多个组织组成的泛欧网络共同运作,这些组织协作收集和整合来自欧盟各种海洋观测、监测和数据收集能力的海洋环境数据,如水深测量等。
EMODnet的数据产品在支持科技创新、跨学科融合发展以及应对气候变化等方面发挥着重要作用。数据的质量、时空覆盖范围和开放共享程度是其关键特点。EMODnet的建立和未来发展已经进行了长期规划,其目标是提供一个统一的平台,以国际统一的标准,使海洋观测数据更加易于获取和使用。这样的平台不仅有助于科学研究和环境监测,还能支持海洋政策的制定和执行,以及公众对海洋环境的了解和参与。
https://emodnet.ec.europa.eu/en/emodnet-web-service-documentation
7. **美国集成海洋观测系统**(U.S. Integrated Ocean Observing System,简称IOOS)是一个协调全球到区域尺度的海洋观测的系统。IOOS支持对地观测,使用自主滑翔机和浮标作为常规配置,以提高对地下海洋环境的认识。在一些区域,IOOS能提供高达90%的观测。
具体提供的数据类型可能包括但不限于海洋温度、盐度、海流、海平面高度、海洋生物和化学物质等多种参数。这些数据对于科研、海洋资源管理、灾害预警、气候变化研究等领域具有重要价值。然而,具体提供的数据类型和格式可能会根据IOOS的具体实施和更新而变化,建议直接访问IOOS的官方网站或相关资源以获取最新和详细的信息。https://ioos.noaa.gov/data/8. **地球科学信息合作伙伴**(Earth Science Information Partners,简称ESIP)是一个广泛的、分布式的科学、数据和信息技术从业者社区。ESIP联盟成立于1998年,他们推动着地球科学界内外的新趋势。ESIP被誉为地球科学数据专业人士的“智囊”,并且在地球科学数据管理和管理领域有着杰出的贡献。ESIP的主要目标是通过提供数据和信息服务,支持地球科学研究和教育,以及环境决策。ESIP的成员包括来自政府、学术界和私营部门的数据和信息专业人士,他们共同努力提高地球科学数据和信息的质量、接入性和可用性。ESIP提供的资源主要包括以下几个方面:数据和信息服务:ESIP的主要目标是通过提供数据和信息服务,支持地球科学研究和教育,以及环境决策。专业知识和经验:ESIP的成员包括来自政府、学术界和私营部门的数据和信息专业人士,他们共同努力提高地球科学数据和信息的质量、接入性和可用性。会议和活动:ESIP定期举办会议和活动,以表彰地球科学数据管理和管理领域的杰出成就,同时也为成员和其他地球科学数据专业人士提供了交流和学习的机会。新趋势推动:ESIP推动着地球科学界内外的新趋势,包括数据管理、信息技术等领域的最新发展。https://www.esipfed.org/9. **Ocean Best Practices System** (OBPS)是一个全球性的持续系统,提供技术解决方案和社区方法来增强海洋学方法的管理。它支持整个海洋社区分享方法,发展最佳实践,并在其使用中培养能力。OBPS的目标是维持一个不断发展的系统,鼓励协作,达成共识和创新,通过提供对各种海洋相关领域的最佳实践和标准的协调和全球访问。OBPS由政府间海洋学委员会(IOC)通过国际海洋数据和信息交换(IODE)和全球海洋观测系统(GOOS)支持。https://www.oceanbestpractices.org/
![](/images/国际海洋数据资源汇总-1/img_dfb9b7af.png)
10. **SeaDataNet**是一个泛欧洲的基础设施,负责开发、管理和推广海洋数据的通用标准、词汇、软件工具和服务。创始合作伙伴包括美国国家海洋学中心(NODCs)、主要的海洋研究机构、联合国教科文组织-政府间海洋学委员会(UNESCO-IOC)、国际海洋科学委员会(ICES)和欧洲委员会联合研究中心(EC-JRC)。SeaDataNet网络始于90年代,随着时间的推移,其数据中心和工具以及服务的网络已经得到很大扩展,包括得到许多欧盟项目的支持,如Sea-Search、EuroCore、EuMarsin、EuroSeismics、BlackSeaScene、Upgrade-BlackSeaScene、GeoSeas、MicroB3,以及在过去10年作为SeaDataNet、SeaDataNet2、ODIP1&2、EMODnet项目和SeaDataCloud的一部分。SeaDataNet与EuroGOOS等各种其他海洋观测社区以及其他主要的海洋数据管理倡议和基础设施有着密切的合作,特别是联合了欧洲海洋观测和数据网络(EMODnet)和Copernicus Marine。
https://www.seadatanet.org/
![](/images/国际海洋数据资源汇总-1/img_982ea72d.png)====国际海洋数据资源汇总-2.md====
---
title: "国际海洋数据资源汇总#2"
published: 2024-01-31
description: "本文收集汇总了国际上提供海洋数据资源服务的网站和系统。"
image: "/images/国际海洋数据资源汇总-2/img_9a90eb19.jpg"
tags: ["数据可视化", "台风"]
category: "数据可视化"
draft: false
---
本文收集汇总了国际上提供海洋数据资源服务的网站和系统。第一篇推送内容请点击[国际海洋数据资源汇总#1](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247484622&idx=1&sn=1e13af97e872931cee9154869a178f58&chksm=fabf6c94cdc8e582e9c074efdaa1eac7a2c88be6afc5930c16a72204550bf982d517e4893830&scene=21#wechat_redirect)查看。
* **物理海洋学分布式活动存档中心(PO.DAAC)**
美国NASA物理海洋学分布式活动存档中心(PO.DAAC)是由地球科学数据和信息系统(ESDIS)项目管理的NASA地球观测系统数据和信息系统(EOSDIS)数据中心。PO.DAAC由位于加利福尼亚州帕萨迪纳的喷气推进实验室(JPL)运营。主要提供物理海洋学相关的数据,包括海洋温盐、海表面高度、海洋气象、海洋水色、观测浮标等。https://podaac.jpl.nasa.gov/cloud-datasets/dataaccess
![](/images/国际海洋数据资源汇总-2/img_2a74e1d4.png)
* **亚太数据研究中心(APDRC)**
亚太数据研究中心(APDRC)隶属于夏威夷大学国际太平洋研究中心。该中心汇集了区域和全球海洋水文、气象、地质、地球物理等数据和产品资源,基于主流科学数据协议接口(OPeNDAP、ERDDAP、LAS、DChart等)通过一站式在线数据平台提供数据资源服务。
https://apdrc.soest.hawaii.edu/data/data.php
![](/images/国际海洋数据资源汇总-2/img_bc808480.png)
* **欧盟WEkEO数据与信息访问服务平台**
WEkEO是欧洲联盟哥白尼计划(Copernicus Programme)的一部分,由欧洲气象卫星组织(EUMETSAT)、欧洲中期天气预报中心(ECMWF)、欧洲环境局(EEA)以及MERCATOR OCEAN等机构共同实施。WEkEO环境数据和信息访问服务平台主要提供对所有哥白尼计划(Copernicus)数据和信息的访问,包括地球观测卫星传感器的多种数据,例如气象、海洋、陆地和大气等方面的观测数据和数据产品。
https://www.wekeo.eu/data
![](/images/国际海洋数据资源汇总-2/img_014ce063.png)
![](/images/国际海洋数据资源汇总-2/img_57890ff0.png)![](/images/国际海洋数据资源汇总-2/img_2d55ce5a.png)
* **GEBCO**
GEBCO代表"General Bathymetric Chart of the Oceans"(大洋总体海底地形图),是一个国际性的组织,致力于收集、整理和提供全球海底地形数据。其任务是生成和发布高质量的全球海底地形图,以促进海洋研究和其他相关领域的科学工作。GEBCO当前的网格化海底地形数据集,即GEBCO\_2023网格,是一个全球海洋和陆地的地形模型,提供以米为单位的高程数据,以15弧秒间隔网格划分。GEBCO\_2023网格和TID网格可作为netCDF格式的全球文件或8个瓦片的集合(每个瓦片面积为90° x 90°)下载,提供Esri ASCII栅格和数据GeoTiff格式的全球覆盖。数据文件包含在一个zip文件中,同时附带有数据集文档。
https://www.gebco.net/data\_and\_products/gridded\_bathymetry\_data/
https://download.gebco.net/
![](/images/国际海洋数据资源汇总-2/img_24f07e37.png)![](/images/国际海洋数据资源汇总-2/img_31bbeade.jpg)
![](/images/国际海洋数据资源汇总-2/img_dd9c4377.png)
* **日本海洋数据中心JODC**
JODC是日本的海洋数据管理和共享机构,汇集包括政府机构、大学、研究所等多个组织的海洋观测数据和数据产品,这些数据涵盖了海洋水文、气象、地球物理、海洋生物等。
JODC目前通过海洋数据在线服务系统(J-DOSS)和东北亚区域全球海洋观测系统延时数据库(NEAR-GOOS Regional Delayed Mode Data Base),为用户提供海洋环境数据资源服务。
https://www.jodc.go.jp/jodcweb/aboutData.html
![](/images/国际海洋数据资源汇总-2/img_83900305.png)
* **美国SCRIPPS海洋研究所数据**
美国斯克里普斯海洋研究所(Scripps Institution of Oceanography)提供各种类型的海洋和地球科学数据。这些数据主要涵盖了大气、海洋、地球科学以及与气候变化、海洋生物、地球系统等相关的多个领域。以下是一些可能由斯克里普斯海洋研究所提供的数据类型:
* 海洋观测数据:包括海洋温度、盐度、海流、波浪、海平面高度等方面的观测数据。
* 气象和大气科学数据: 包括大气温度、气压、风速、大气成分等方面的观测数据。
* 地球系统模型输出: 涉及对地球大气、海洋和陆地过程的模拟和预测的模型输出数据。
* 海洋生物数据: 包括海洋生物多样性、浮游植物、浮游动物、鱼类等生态学数据。
* 地质和地球科学数据: 涵盖地球地壳、地震活动、海底地形等方面的数据。
* 遥感数据: 利用卫星、飞机等遥感技术获取的地球观测数据。
https://scripps.ucsd.edu/research/data-programs
![](/images/国际海洋数据资源汇总-2/img_42daa8e6.png)
* **ECMWF ORAS5**
ORAS5(Ocean ReAnalysis System 5)是欧洲中期天气预报中心(European Centre for Medium-Range Weather Forecasts,ECMWF)开发的全球海洋再分析系统。ORAS5采用三维变分同化技术,同化了包括浮标、船只、海洋浮标、卫星等多个观测平台的海洋观测数据,提供全球海洋从1979年至今的月平均数据。
https://cds.climate.copernicus.eu/cdsapp#!/dataset/reanalysis-oras5
![](/images/国际海洋数据资源汇总-2/img_3e00009b.png)
* **Ocean OPS**
OceanOPS是“Ocean Observing System Programme Support Centre”的缩写,曾被称为JCOMMOPS,即“Joint Centre for Oceanography and Marine Meteorology in situ Observations Programmes Support”(海洋学和海洋气象现场观测项目支持的联合中心)。它是全球海洋观测系统的关键组成部分,通过协调和支持观测项目,促进了跨国合作和数据共享。
https://www.ocean-ops.org/board
![](/images/国际海洋数据资源汇总-2/img_97503bc3.png)
* **NASA PACE项目**
NASA PACE(Plankton, Aerosol, Cloud, ocean Ecosystem)项目是美国国家航空航天局(NASA)旗下的一个地球科学项目。项目主要开展海洋生态系统和气溶胶云相互作用的研究,通过光谱辐射计、光学成像仪、气溶胶雷达等多种传感器测量全球海洋和大气系统的不同要素来提高对地球气溶胶、云、海洋生态系统和全球碳循环等过程的理解。
https://pace.oceansciences.org/data.htm
![](/images/国际海洋数据资源汇总-2/img_9cca7a7b.png)
---
**本公众号相关内容推荐:**
* [一个快速检索和下载NASA地球科学数据的Python软件包](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485332&idx=1&sn=1ab4dc70f4bf5ea2e1c66843d602bb5f&chksm=fabf6fcecdc8e6d8195c9c76e2fc0112a5d5d63410aec7c9bf5f0972d2568ba5bcd8631411d2&scene=21#wechat_redirect)
* [地理空间数据三维可视化R软件包](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485309&idx=1&sn=4ad935eba08892d5eae12259b2e1963d&chksm=fabf6f27cdc8e631966ca27e64274eea40eda5a5650a336c325134e8aabb30da8a245d61db26&scene=21#wechat_redirect)
* [使用Python+hvPlot绘制出版级可视化图表(附完整代码)](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485218&idx=1&sn=1f33256df8d5dced9cb505b0c5bae377&chksm=fabf6f78cdc8e66e0b3ad5754fa1cbfbc4f0a61627bb123f7fedfb300c43256f74b08db2dd89&scene=21#wechat_redirect)
* [全球海洋船舶定位数据交互式可视化(附数据)](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485165&idx=1&sn=c8c0b1018e8ebc0436ea03b65c5843bd&chksm=fabf6eb7cdc8e7a1c0beb16139174a4618738ba6a777d1386245c2d93856756d8bf151abf90e&scene=21#wechat_redirect)
* [地球科学领域开源python包#1](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247484833&idx=1&sn=bd4f827df3baed8d344c33c42f0ecccf&chksm=fabf6dfbcdc8e4ed3a0673b09e83f08b4333fa1617dd4e749b8ed0a90b7e3f4721ce01a71c71&scene=21#wechat_redirect)
* [地球科学领域开源python包#2](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247484867&idx=1&sn=5d1c8c4a37109630fba96654efe669a9&chksm=fabf6d99cdc8e48f6adce51ae82ecddfc7ca3ca0e754fd9a9ecb82e046c227353227ec5a929e&scene=21#wechat_redirect)
* [大规模空间矢量数据可视化Python库-lonboard](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247484935&idx=1&sn=1c24c747aa6cf7ee0ef22da56640d9c9&chksm=fabf6e5dcdc8e74b4f64bd6f193a29f3853a5c1e8b169bde237f958327edae07fc760461445c&scene=21#wechat_redirect)
* [可视化呈现2023年是有气象记录以来最热的一年](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247484982&idx=1&sn=1c37f6dff58570ff2b821f91c6776dc1&chksm=fabf6e6ccdc8e77a9640a30835cb7457e3eee2d951490e763f5c74f9280526a46897090ee7cb&scene=21#wechat_redirect)
* [大气海洋科学数据可视化案例集#1](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485054&idx=1&sn=086399b206e9ac29fb0583186dbd1665&chksm=fabf6e24cdc8e7329f9c1e7ef2a62bab78860f351916cd703be218690e620767814c0207722b&scene=21#wechat_redirect)
* [地球科学领域计算分析开源Julia软件包](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485098&idx=1&sn=507ce6d9353865edb44c7ae255078856&chksm=fabf6ef0cdc8e7e68650e02472f21799a4ca0f606f9305ffa0838ff9b9d4a6e4bf6862d5d162&scene=21#wechat_redirect)
* [地球观测数据可视化工具](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485142&idx=1&sn=a84720e5cbd8d732c74a3b9abca30922&chksm=fabf6e8ccdc8e79a39684dbb8a9860741f826f18f619fb2037d71a2b70ab33c2614516873124&scene=21#wechat_redirect)
* [数据可视化Python库-Holoviews](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247484651&idx=1&sn=f7ade1a3eb3b3fdc2a04392f7c451fc9&chksm=fabf6cb1cdc8e5a70d6b53ff2b11734eff538834aadad5ed7582bee822f3ccd97eb780ed6428&scene=21#wechat_redirect)
* [三维可视化Python库-PyVista](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247484707&idx=1&sn=842c4fd35e774851767938368e556146&chksm=fabf6d79cdc8e46f0afbe5d1383baa3823914d7af7d6678b413e38cdc013f32c645ae554edb5&scene=21#wechat_redirect)====图神经网络-处理图结构数据的强大工具.md====
---
title: "图神经网络:处理图结构数据的强大工具"
published: 2024-10-30
description: ""
image: "/images/图神经网络-处理图结构数据的强大工具/img_98377aa9.jpg"
tags: ["数据可视化", "台风"]
category: "数据可视化"
draft: false
---
****
数据并非总是能整齐地排列在行和列中。实际上,数据经常以图结构的形式呈现出来,比如社交网络、蛋白质结构、推荐系统或交通运输系统等。如果在机器学习模型中忽略了图的拓扑信息,可能会严重影响模型的性能。
## 图神经网络
图神经网络(Graph Neural Networks, GNN)是一类专门设计用于处理和分析图结构数据的神经网络模型。与传统的神经网络不同,GNN能够直接处理由节点和边组成的图数据,这使它在处理关系型数据时具有独特优势。图中的每个节点都关联着一个特征向量(或嵌入),用于捕捉其属性或特征。GNN通过聚合来自相邻节点和边的信息来更新这些嵌入。
![](/images/图神经网络-处理图结构数据的强大工具/img_45532f9e.gif)
在现实世界中,很多数据天然具有图结构特征。比如社交网络中的用户关系、科学文献之间的引用关系等。传统的神经网络主要处理规则的网格型数据(如自然语言处理中的序列数据或计算机视觉中的图像数据),而无法有效利用数据之间的关系信息。
![](/images/图神经网络-处理图结构数据的强大工具/img_797be799.jpg)
### GNN的核心特点:
* 每个节点都包含一个特征向量,用于描述该节点的属性特征
* 通过汇聚相邻节点的信息来更新节点的特征表示
* 能够同时捕捉数据的局部和全局关系
## 预测任务
Cora数据集(https://linqs-data.soe.ucsc.edu/public/lbc/cora.tgz)是一个常用的图神经网络基准数据集。该数据集包含了2708篇科学出版物的数据。这些出版物构成了图中的节点。当一篇出版物引用另一篇出版物时,就会在这两个节点(出版物)之间创建一条边。
加载数据集:
from torch_geometric.datasets import Planetoid
dataset = Planetoid(root=".", name="Cora")
data = dataset[0]
num_labels = len(set(data.y.numpy())
本文分别使用传统的神经网络和图卷积网络预测确定每篇论文的研究主题,总共有7个类别。
### 1. 传统神经网络
传统的神经网络由多个层组成:包括输入层、隐藏层和最终的输出层。每一层都由神经元构成,这些神经元通过权重与下一层相连。神经网络的目标是利用训练数据来优化这些权重。当数据通过神经元时,输出会与权重相乘,然后求和,并在每个神经元上通过激活函数进行转换。输出层产生最终的预测结果。神经网络的其他重要组成部分还包括损失函数(用于衡量预测结果与实际结果之间的差异,也就是误差),以及用于更新网络权重的反向传播(通过Adam等优化器实现)。
![](/images/图神经网络-处理图结构数据的强大工具/img_fcc48961.png)
首先使用传统的神经网络多层感知器(MLP)来训练这个数据集。这里我们不使用图的信息,仅使用每个节点的特征来预测目标。完全忽略了文献之间的引用关系。下面的代码展示了这个神经网络的类定义,它包含2个隐藏层。
1import torch
2import torch.nn as nn
3import torch.nn.functional as F
4
5class MLP(torch.nn.Module):
6 def __init__(self, input_dim, hidden_dim, output_dim):
7 super().__init__()
8 self.lin1 = nn.Linear(input_dim, hidden_dim)
9 self.lin2 = nn.Linear(hidden_dim, output_dim)
10
11 def forward(self, data):
12 x = data.x
13 x = F.relu(self.lin1(x))
14 x = self.lin2(x)
15 return F.log_softmax(x, dim=1)
我们使用下面的代码来训练和评估模型:
1device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')
2results = {}
3
4# iterate over the different model types
5for model_class in [MLP]:
6 results[model_class.__name__] = []
7 for i in range(10):
8 print(f"Training {model_class.__name__} iteration {i+1}")
9
10 # the output_dim is the number of unique classes in the set
11 model = model_class(input_dim=data.x.shape[1], hidden_dim=32, output_dim=num_labels).to(device)
12 optimizer = optim.Adam(model.parameters(), lr=0.01, weight_decay=5e-4)
13
14 # deal with the class imbalance
15 class_weights = torch.bincount(data.y) / len(data.y)
16 loss_fn = nn.CrossEntropyLoss(weight=1/class_weights).to(device)
17
18 data = data.to(device)
19
20 # training loop
21 for epoch in range(100):
22 model.train()
23 optimizer.zero_grad()
24 out = model(data)
25
26 # calculate loss
27 train_loss = loss_fn(out[data.train_mask], data.y[data.train_mask])
28 acc = accuracy(out[data.train_mask].argmax(dim=1), data.y[data.train_mask])
29 train_loss.backward()
30 optimizer.step()
31
32 if epoch % 10 == 0:
33 model.eval()
34 with torch.no_grad():
35 val_loss = loss_fn(out[data.val_mask], data.y[data.val_mask])
36 val_acc = accuracy(out[data.val_mask].argmax(dim=1), data.y[data.val_mask])
37 print(f'Epoch {epoch} | Training Loss: {train_loss.item():.2f} | Train Acc: {acc:>5.2f} | Validation Loss: {val_loss.item():.2f} | Validation Acc: {val_acc:>5.2f}')
38
39 # final evaluation on the test set
40 model.eval()
41 with torch.no_grad():
42 out = model(data)
43 test_loss = loss_fn(out[data.test_mask], data.y[data.test_mask])
44 test_acc = accuracy(out[data.test_mask].argmax(dim=1), data.y[data.test_mask])
45 print(f'{model_class.__name__} Test Loss: {test_loss.item():.2f} | Test Acc: {test_acc:>5.2f}')
46 results[model_class.__name__].append([acc, val_acc, test_acc])
47
48
49# print average on test set and standard deviation
50for model_name, model_results in results.items():
51 model_results = torch.tensor(model_results)
52 print(f'{model_name} Test Accuracy: {model_results[:, 2].mean():.2f} ± {model_results[:, 2].std():.2f}')
我们进行了10次训练,并计算了平均准确率和标准差。MLP类的输出结果是:
MLP Test Accuracy: 54.35 ± 1.06
### 2. 图卷积网络
图卷积网络(Graph Convolutional Network, GCN)是图神经网络家族中最基础和重要的模型之一。它的核心思想是将传统卷积神经网络在图像处理中的卷积操作推广到图结构数据上。在GCN中,每个节点会通过一种特殊的"卷积"操作来聚合其邻居节点的信息,这个过程可以类比为在图像中,一个像素点受到周围像素点的影响。具体来说,对于图中的每个节点,GCN会执行两个主要步骤:首先是信息聚合,即收集所有邻居节点的特征,并根据某种权重方案(通常基于图的结构特征)将这些信息加权组合;然后是特征转换,即将聚合后的信息通过一个神经网络层进行非线性变换,得到节点的新特征表示。通过多层GCN的堆叠,每个节点能够逐步获取到更大范围的结构信息,最终学习到既包含局部结构特征又包含全局网络信息的节点表示。这种设计使得GCN在社交网络分析、分子属性预测、推荐系统等众多领域都表现出色,成为了图学习领域的基石模型。
![](/images/图神经网络-处理图结构数据的强大工具/img_3005e3c7.webp)
![](/images/图神经网络-处理图结构数据的强大工具/img_f7330437.gif)
接下来使用相同的数据集来训练图卷积网络并计算准确率。GCN不仅考虑节点特征,还利用了图的边信息。
我们在PyTorch中使用GCNConv来定义卷积层:
1class GCN(torch.nn.Module):
2 def __init__(self, input_dim, hidden_dim, output_dim):
3 super().__init__()
4 self.conv1 = GCNConv(input_dim, hidden_dim)
5 self.conv2 = GCNConv(hidden_dim, output_dim)
6
7 def forward(self, data):
8 x, edge_index = data.x, data.edge_index
9 x = F.relu(self.conv1(x, edge_index))
10 x = self.conv2(x, edge_index)
11 return F.log_softmax(x, dim=1)
用于训练的代码与上面的传统神经网络下相同,只是把上面第5行的MLP替换为GCN。
输出结果如下:
GCN Test Accuracy: 78.76 ± 0.38
仅仅通过添加图结构信息,模型的准确率提升了超过24个百分点!通过汇聚邻近节点的信息,GCN能够提供更丰富的数据表示,从而带来更准确的预测结果。这个显著的性能提升充分说明了在处理关系型数据时,图神经网络的优势。
## 结论
虽然图神经网络表现优异,但在实际应用时需要注意:
* 确保数据中的图结构是有意义的,与预测任务相关
* 考虑计算复杂度的增加是否值得
* 可以尝试不同的GNN架构,如图注意力网络(GAT),以获得更好的效果
图神经网络展现了强大的数据处理能力,特别是在处理具有复杂关系结构的数据时。通过合理使用GNN,我们能够更好地挖掘数据中蕴含的关系信息,获得更准确的预测结果。
**References:**
* https://www.xenonstack.com/blog/graph-convolutional-neural-network
* https://www.geeksforgeeks.org/graph-convolutional-networks-gcns-architectural-insights-and-applications/
# **本公众号相关内容推荐**
* [推荐6个美化Matplotlib可视化样式的python库](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486373&idx=1&sn=0323423e8820ef72fb4b21f0a9d2d133&chksm=fabf63ffcdc8eae9f3c5f4b273ae8aab6deee25488c88c8065a3f70b826a329954fa8bd736d8&scene=21#wechat_redirect)
* [AI天气模型的现状与未来](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486352&idx=1&sn=2f0cc81ace66c29b36a9538b9635d567&chksm=fabf63cacdc8eadcec873a6eb087c2165a52f7db4b6425f957acfd835d67a0303495516952c0&scene=21#wechat_redirect)
* [流式传输和渲染可视化三维地理空间数据](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486352&idx=2&sn=27f1e7b08ca444e348b5e814a5341ea9&chksm=fabf63cacdc8eadccca94008cd6d68ed7c72749f013536fd73fe9978756cb491ea66041c9677&scene=21#wechat_redirect)
* [GIS领域常用的24种数据格式](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486289&idx=1&sn=4e6ad5beb2c83622f5d816643cfcf0c4&chksm=fabf630bcdc8ea1dadb0c08d4f30a68c00871ab6c2e2334aa06f7ca8f48f6ee28ae539136775&scene=21#wechat_redirect)
* [一种基于图神经网络的三维建筑模型重建方法](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486289&idx=2&sn=cc3a650e367484828c957dae2d140b7e&chksm=fabf630bcdc8ea1d8f75d0af9e76311278e9a478822b0833d01e26143177965212247caa4ee8&scene=21#wechat_redirect)
* [WebGIS技术栈推荐](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486221&idx=1&sn=a0542f043c49ba135f277e66e048c331&chksm=fabf6357cdc8ea41650a459068cef1d83a57d77eb658783b2f7381ae7d5c99cfc4b35b73bdde&scene=21#wechat_redirect)
* [使用Python工具可视化大型图网络](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486178&idx=1&sn=f23ce75ebcd70e2e708bc40bcd56e699&chksm=fabf62b8cdc8ebae1972048a9bc3794bb50c454bb0b447a985387b518fc9712205144ba141cd&scene=21#wechat_redirect)
* [使用NetworkX提取图网络特征](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486153&idx=1&sn=638d596055d4cf730631d1ce63916beb&chksm=fabf6293cdc8eb8513bfc369e5bb0fae5721ee4abe8382c97918ccf0c4412d465a1038a0927c&scene=21#wechat_redirect)
* [Argo海洋观测数据处理分析python库:ArgoPy](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486119&idx=1&sn=80932a2dd3841325b1a9c3f04485715e&chksm=fabf62fdcdc8ebeb8777e71051192888116a82ce3a8cf798976f17515e755657f339eb81cc71&scene=21#wechat_redirect)
* [在Jupyter环境中创建交互式可视化地图](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486082&idx=1&sn=57e62f43df5b4568f93eec6c2576a5f2&chksm=fabf62d8cdc8ebcebf915ffd1c2f2c4b90cfefd2c3f8a03ff8a98593347c8954441c156abbf6&scene=21#wechat_redirect)
* [处理和可视化地理空间数据的Python库:EarthPy](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486068&idx=1&sn=dad52a2fddaae5ba34db65df298b83f1&chksm=fabf622ecdc8eb386b076b74dcd287b65f15eff9a1ebc8b0684e276d670046077acc817fdac8&scene=21#wechat_redirect)
* [地理空间深度学习python库:TorchGeo](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486055&idx=1&sn=24f10ec3f457cd44380ef233f9963e56&chksm=fabf623dcdc8eb2b4dced7aa8467d522a1383ff9bae20d5092d03d30955f7ba2253688056b5c&scene=21#wechat_redirect)
* [遥感数据分析python库scikit-eo](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486046&idx=1&sn=602acf1e2f5e559c299a8b13e80fb517&chksm=fabf6204cdc8eb12c0704c7a4e6037b554f68fe0826f09b1a91ae6e7bc41700a9e65ddad66b5&scene=21#wechat_redirect)
* [图网络的应用场景及图分析python库](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485965&idx=1&sn=f8aa290cd93feccdba3500abe0cff348&chksm=fabf6257cdc8eb41b666c59630d6a9d8d642ebf740fc79ef8c3f6027857c4d229808010a33fc&scene=21#wechat_redirect)
* [使用Python和NetworkX创建并可视化图网络(Graph Network)](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485946&idx=1&sn=530310279074989a0729ace617b7e0c9&chksm=fabf61a0cdc8e8b6b8ec33e9ec46aefed01672b6d4e9a6208020e6b9be7f8fbe0e38cc9577df&scene=21#wechat_redirect)
* [OpenResearcher:一个开源科学研究AI助理](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485934&idx=1&sn=3a35078ecfcec51014c24c1db9b2aaa3&chksm=fabf61b4cdc8e8a2cb0ef16fb0fd2bc2d3a3fdc42aef63e106152e55a6fbbf78c78c6b8f5c7a&scene=21#wechat_redirect)
* [NeuralGCM: 一种融合机器学习与物理原理来模拟地球大气的新方法](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485904&idx=1&sn=966cf544765b492436d42cfca66f3a7b&chksm=fabf618acdc8e89c59257b1150cf76ef8fe197ffbf390b7b4736b65ae3ba97c90c4d6d256b2b&scene=21#wechat_redirect)
* [Transformer Explainer:文本生成模型交互式可视化工具](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485859&idx=1&sn=e82c8ab4a071b123f4f3ab98eda381ec&chksm=fabf61f9cdc8e8ef2ba9dd265729eb51bdade88d69c57d4810771dc7d24af1521a5bd08dccf6&scene=21#wechat_redirect)
* [用于探索性数据分析(EDA)的开源python库](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485827&idx=1&sn=295572d805a167c620d0136b67c0aded&chksm=fabf61d9cdc8e8cfb8f3a26163daa4e94e5a8ce990e588f0e1880d1999f909f81d6a0bc28684&scene=21#wechat_redirect)
* [分享一个构建交互式D3js可视化的Python库](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485786&idx=1&sn=6a32cdd45a98b242fd8269b84f441448&chksm=fabf6100cdc8e8162e65c352f762665271ebf42a46345c7d0270ea72494c4c7068637ca7f21e&scene=21#wechat_redirect)
* [推荐15个图网络可视化python软件包](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485733&idx=1&sn=d75b69b4805f0b286026c663c1a934d2&chksm=fabf617fcdc8e869e3844db959192ef3fbae7a4faa703d54eabe7f81cdc5ec523d77fce589dc&scene=21#wechat_redirect)
* [9个提升科研效率的软件工具](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485691&idx=1&sn=9abc8927c179d0cf53eb4f04207820aa&chksm=fabf60a1cdc8e9b7c22e58b854e2a09e588742f59ff2207e437b69fb07362ba3ec381202c488&scene=21#wechat_redirect)
* [生成式人工智能模型颠覆传统天气预报](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485653&idx=1&sn=cfb223fb24824c01c773933c181969b8&chksm=fabf608fcdc8e999f74763593dd0f55b51a4776991060b28dfec146643b7f61ac0bc5d868133&scene=21#wechat_redirect)
* [分享5个python可视化图表工具](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485646&idx=1&sn=f1e740630334f88ef991439822b27fd3&chksm=fabf6094cdc8e9822c58338d80d5ef00f4f135bdcac2f9b893159701e789d37f44e90e4e0183&scene=21#wechat_redirect)
* [分享17个网络(Network)数据可视化工具](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485619&idx=1&sn=44696f7c089da0419bfa21ed181a6835&chksm=fabf60e9cdc8e9ff042c28395f16709da29f6ac0ab78d455cab018001d7264d39121fc5baa37&scene=21#wechat_redirect)====图网络的应用场景及图分析python库.md====
---
title: "图网络的应用场景及图分析python库"
published: 2024-08-28
description: "图是存储信息的强大系统,也允许进行复杂的分析。图是描述复杂系统的最常见数据格式。在网络中,我们有一组称为节点或顶点的项目,它们之间的交互通过边表示,从而形成一种称为图的非线性数据结构。"
image: "/images/图网络的应用场景及图分析python库/img_e6056dbf.jpg"
tags: ["数据可视化", "台风"]
category: "数据可视化"
draft: false
---
****
图是存储信息的强大系统,也允许进行复杂的分析。图是描述复杂系统的最常见数据格式。在网络中,我们有一组称为节点或顶点的项目,它们之间的交互通过边表示,从而形成一种称为图的非线性数据结构。我们通常将图定义为𝐺=(𝑉,𝐸),其中𝑉是顶点,𝐸是边。节点可以具有不同的属性和特征,边也可以如此。简而言之,图的主要类型包括:
* **无向图**:图的边没有方向。
* **有向图**:边从一个节点指向另一个节点(例如,高德地图)。然而,我们可以将无向图视为所有边都是双向的有向图。
* **加权图**:图中有一些与之相关的权重。
* **同质图**:节点和边都是同一类型的图。相反,**异质图**则呈现不同类型的节点和/或边。这对于存储不同类型的信息很有用(网络中的不同节点可以代表不同类别的对象)。
* **动态图**:随时间变化的图(例如,在社交网络中,您可以添加或删除用户)。
# **图(Graph)的应用场景**
**社交网络**
社交网络图中的节点代表个人,边或节点之间的连接反映了它们之间的社交关系,例如友谊或项目合作。这些图有两种类型:有向和无向。例如,由于Facebook上友谊的双向性质,Carl和Lenny的关系可以建模为无向图。Carl和Lenny的友谊与Lenny和Carl的友谊是相同的。另一方面,有向图可以用来描述Twitter,其中Lenny可以关注Carl,而Carl不必也关注Lenny。
社交网络通常表现出可识别的网络特征。例如,存在“三角形”发展的倾向,任何两个节点之间都可能很接近(如著名的“六度分隔”研究,全球每个人之间仅相隔六度)。实际上,如果Lenny与Carl和Homer是朋友,Carl和Homer更有可能互为朋友(这也是Facebook建议Carl添加Homer的原因,如果他们还不是社交网络上的朋友)。
![](/images/图网络的应用场景及图分析python库/img_1cf768a1.jpg)
研究人类互动的社会科学家和试图针对特定人群进行广告的企业都重视社交网络。例如,如果他们将三个人联系为朋友、同事或家庭成员,并发现其中两个购买了广告商的商品,广告商可能会决定在广告上花费更多,因为他们认为这个目标群体有很高的购买概率。
![](/images/图网络的应用场景及图分析python库/img_2ed4a66b.jpg)
发表有关丙型肝炎论文的合作作者网络图。该图显示了 2008 年至 2012 年间发表有关丙型肝炎病毒论文的8500名医生和科学家的合著者网络。
通常每个节点都有特征(例如,用户喜欢的内容)。这些特征随后可以作为不同模型的输入。
## **交通网络**
公路、交通和铁路网络是交通地理中最常见的网络,这些网络通常更通过它们的链接而不是节点来描述。有一些交通网络并不一定如此。例如,由于链接有时定义不明确,海洋和航空网络往往更通过它们的节点而不是链接来描述。
![](/images/图网络的应用场景及图分析python库/img_db8bdfd4.png)
虽然电信系统的空间表现可能意义不大且难以描绘,但它也可以被描绘为网络。移动电话网络或互联网是结构可能难以描绘的网络的相关示例,这可能是考虑的最复杂的图。手机和天线可以视为节点,而通过电话线发送的电话可以视为连接。
连接它们的实际网络由光纤电缆组成,可以被视为图,服务器作为节点,服务器之间的连接作为连接。因此,图论可以在某种程度上用于建模所有交通网络。此外,可以使用图论来优化交通网络。
![](/images/图网络的应用场景及图分析python库/img_3dfa17ea.gif)地铁站点可视为节点
## **金融网络**
图网络在金融领域的应用主要体现在以下几个方面:
* **风险传播模型**
通过构建风险传播模型,金融机构可以利用图形结构来分析和识别风险事件的传播路径。例如,当信贷网络中的某个节点(如借款人)出现违约等风险事件时,图可以帮助描绘该风险事件如何通过关联关系在网络中传播。这种模型通常使用有向图来表示资金流动、信贷关系等,并通过图算法分析风险的扩散路径。
* **图神经网络(GNN)**
图神经网络是一种新兴的人工智能技术,专门用于处理图结构数据。它能够捕获金融网络中复杂的关系和模式,从而提高风险管理的准确性和效率。通过对借款人关系图进行信息传播,GNN可以提取借款人的信用特征,并识别潜在的风险。这种方法可以有效识别系统性风险和个体风险,帮助金融机构做出更为精准的风险管理决策。
* **关系网络分析**
金融网络分析通过构建金融资产之间的关系网络,揭示不同资产之间的关联程度和传染效应。分析这些网络的拓扑结构,可以帮助管理者理解市场波动的传播机制,从而识别系统性风险的传播路径和关键节点。这种分析不仅有助于预测市场波动,还能为风险决策提供量化支持。
* **风险防控**
在具体应用中,图数据库技术被广泛用于欺诈检测、信贷评分、市场分析等领域。通过建立客户、交易和其他相关实体之间的关系图,金融机构可以识别异常行为和潜在风险。例如,在反洗钱场景中,图可以帮助识别可疑团伙及其与可疑客户的关系,从而提高风险监测的效率。
* **动态监测与预测**
利用图网络分析,金融机构还可以进行动态监测和市场预测。通过对金融资产关联网络的演化过程进行建模,可以预测未来市场波动的可能路径和规模,及时调整投资组合和风险管理策略。
![](/images/图网络的应用场景及图分析python库/img_57cbb877.png)
## **传染病传播**
传染病的传播目前是全球社会的主要关注点,并对公共卫生政策的决策产生重大影响。建模是预测流行病在社会中传播的最常用方法之一。
模仿复杂系统的模型的发展,例如感染传播过程,是一个当前问题。图形可以让我们建模这个过程。例如,您可以使用不同类型的节点来建模:此外,您可以使用动态图来观察感染传播的演变。
![](/images/图网络的应用场景及图分析python库/img_e0b474f9.png)
![](/images/图网络的应用场景及图分析python库/img_f61e1a54.jpg)
## **知识图谱**
另一种广泛使用的图是知识图谱。知识图谱允许整合不同类型的实体(节点)和关系(链接)。知识模型,即一组相互连接的概念、实体、连接和事件的描述,是知识图谱的核心。
![](/images/图网络的应用场景及图分析python库/img_4872651f.jpg)
知识图谱通过链接和语义信息为数据集成、统一、分析和共享提供了框架。知识图谱的用途包括:
* 整合不同的数据源
* 为其他AI和机器学习模型增加深度和知识
* 搜索引擎
# **图分析python库:NetworkX和iGraph**
**NetworkX**
NetworkX(https://networkx.org/)是Python中分析、可视化和表示图形的主要库。NetworkX包含大量函数,本文将介绍如何开始在Python中构建和操作图的基本函数。
在NetworkX中,图通常是一个对象(一个类),您可以对这些对象应用不同的方法和函数。此外,NetworkX还提供了读取图数据集、存储对象和以不同格式保存的可能性。
![](/images/图网络的应用场景及图分析python库/img_5e864917.png)
Networkx实际上很容易安装和使用。NetworkX以其可扩展性和可移植性而闻名,正因为如此,它是Python中处理图最常用的库。这导致了其他数据科学家创建了与NetworkX兼容(或用作NetworkX图基础)的生机勃勃的扩展生态系统。
图只是一组通过边链接在一起的对象(节点或顶点)。图表示这些节点之间的关系,我们必须决定如何表示它们。我们必须决定是否将我们的图形设置为直接连接,或者是否不关心链接的方向。例如,我们想表示一个群体中不同人之间的友谊关系。在这种情况下,如果A是B的朋友,可以假设B也是A的朋友,因此不需要指明关系。如果我们正在表示一个货物从A运到B的运输图,最好使用有向图。

import networkx as nximport matplotlib.pyplot as plt

Create an undirected graph GG = nx.Graph()print(“graph G is directed: {}“.format(G.is_directed()) )#

Create a directed graph HH = nx.DiGraph()print(“graph H is directed: {}“.format(H.is_directed()) )#

#getting the number of edges and nodesG.number_of_nodes(), G.number_of_edges()
#adding nodeG.add_node(1)G.add_nodes_from([2, 3])# we can add from another graph H = nx.path_graph(3)G.add_nodes_from(H)#or directly a graphG.add_node(H)G.number_of_nodes(), G.number_of_edges()
#adding edgesG.add_edge(1, 2)e = (2, 3)G.add_edge(e)G.add_edges_from([(1, 2), (1, 3)])G.add_edges_from(H.edges())

Create an undirected graph GG = nx.Graph() #it is empty# Add first node with node level attributesG.add_node(0, feature=3, label=0)#

Get attributes of the node 0attr = G.nodes[0]print(“Node 0 has the attributes {}“.format(attr))#

You can add multiple nodes with attributes#a list, providing a tuple (node, dict(feat1, feat2..))G.add_nodes_from([ (1, {“feature”: 1, “label”: 1}), (2, {“feature”: 2, “label”: 2})])#

we can loop through the nodes # argument data = True to return attributesfor node in G.nodes(data=True): print(node)#

Get number of nodesn_nodes = G.number_of_nodes()print(“G has {} nodes”.format(n_nodes))#

Add one edge with edge weight 0.5G.add_edge(0, 1, weight=0.5)#

Get attributes of the edge (0, 1)edge_0_1_attr = G.edges[(0, 1)]print(“Edge (0, 1) has the attributes {}“.format(edge_0_1_attr))#

Add multiple edges with edge weightsG.add_edges_from([ (1, 2, {“weight”: 0.3}), (2, 0, {“weight”: 0.1})])#

Loop through all the edges# Here there is no data=True, so only the edge will be returnedfor edge in G.edges(): print(edge)#

Get number of edgesnum_edges = G.number_of_edges()print(“G has {} edges”.format(num_edges))#

Draw the graphnx.draw(G, with_labels = True)#

关于NetworkX库的使用可阅读本公众号文章《[使用Python和NetworkX创建并可视化图网络(Graph Network)](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485946&idx=1&sn=530310279074989a0729ace617b7e0c9&chksm=fabf61a0cdc8e8b6b8ec33e9ec46aefed01672b6d4e9a6208020e6b9be7f8fbe0e38cc9577df&scene=21#wechat_redirect)》
**iGraph**
Python iGraph是另一个用于处理和可视化图的python库。iGraph是用C实现的,而Networkx是用纯Python实现的。理论上,iGraph更快。
![](/images/图网络的应用场景及图分析python库/img_24c48c52.jpg)
使用iGraph从头开始构建图形非常简单,我们只需要创建一个Graph()对象。这个摘要为我们提供了关于顶点和边的数量,以及属性信息。添加节点或顶点并不困难,只需使用iGraph的本地方法将某些内容添加到图类的对象中。

!pip install igraph!apt install libcairo2-dev!pip install pycairo
from igrpaph import *#print(igraph.version)
#creating a graph from scratchg = Graph()#add verticesg.add_vertices(3)#add egdgesg.add_edges([(0,1), (1,2)])#check the graphprint(g)

g.vs[“label”] = g.vs[“name”]color_dict = {“m”: “blue”, “f”: “pink”}g.vs[“color”] = [color_dict[gender] for gender in g.vs[“gender”]]plot(g, layout=layout, bbox=(300, 300), margin=20)

![](/images/图网络的应用场景及图分析python库/img_5cbedd07.png)
我们可以用iGraph生成一些随机图。iGraph包含许多图生成器(确定性和随机性)。前者在用相同的参数调用时会生成相同的图,而后者每次调用函数时都会生成不同的图。iGraph允许用户使用一个函数生成树、环、弦环、Erdős-Rényi随机网络等。例如,如果我们想构建一个正则树图,可以使用Graph.tree。
iGraph的详细使用和示例代码详见https://python.igraph.org
![](/images/图网络的应用场景及图分析python库/img_9967e2b4.png)
# **本公众号相关内容推荐**
* [使用Python和NetworkX创建并可视化图网络(Graph Network)](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485946&idx=1&sn=530310279074989a0729ace617b7e0c9&chksm=fabf61a0cdc8e8b6b8ec33e9ec46aefed01672b6d4e9a6208020e6b9be7f8fbe0e38cc9577df&scene=21#wechat_redirect)
* [OpenResearcher:一个开源科学研究AI助理](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485934&idx=1&sn=3a35078ecfcec51014c24c1db9b2aaa3&chksm=fabf61b4cdc8e8a2cb0ef16fb0fd2bc2d3a3fdc42aef63e106152e55a6fbbf78c78c6b8f5c7a&scene=21#wechat_redirect)
* [NeuralGCM: 一种融合机器学习与物理原理来模拟地球大气的新方法](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485904&idx=1&sn=966cf544765b492436d42cfca66f3a7b&chksm=fabf618acdc8e89c59257b1150cf76ef8fe197ffbf390b7b4736b65ae3ba97c90c4d6d256b2b&scene=21#wechat_redirect)
* [Transformer Explainer:文本生成模型交互式可视化工具](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485859&idx=1&sn=e82c8ab4a071b123f4f3ab98eda381ec&chksm=fabf61f9cdc8e8ef2ba9dd265729eb51bdade88d69c57d4810771dc7d24af1521a5bd08dccf6&scene=21#wechat_redirect)
* [用于探索性数据分析(EDA)的开源python库](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485827&idx=1&sn=295572d805a167c620d0136b67c0aded&chksm=fabf61d9cdc8e8cfb8f3a26163daa4e94e5a8ce990e588f0e1880d1999f909f81d6a0bc28684&scene=21#wechat_redirect)
* [分享一个构建交互式D3js可视化的Python库](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485786&idx=1&sn=6a32cdd45a98b242fd8269b84f441448&chksm=fabf6100cdc8e8162e65c352f762665271ebf42a46345c7d0270ea72494c4c7068637ca7f21e&scene=21#wechat_redirect)
* [推荐15个图网络可视化python软件包](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485733&idx=1&sn=d75b69b4805f0b286026c663c1a934d2&chksm=fabf617fcdc8e869e3844db959192ef3fbae7a4faa703d54eabe7f81cdc5ec523d77fce589dc&scene=21#wechat_redirect)
* [9个提升科研效率的软件工具](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485691&idx=1&sn=9abc8927c179d0cf53eb4f04207820aa&chksm=fabf60a1cdc8e9b7c22e58b854e2a09e588742f59ff2207e437b69fb07362ba3ec381202c488&scene=21#wechat_redirect)
* [生成式人工智能模型颠覆传统天气预报](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485653&idx=1&sn=cfb223fb24824c01c773933c181969b8&chksm=fabf608fcdc8e999f74763593dd0f55b51a4776991060b28dfec146643b7f61ac0bc5d868133&scene=21#wechat_redirect)
* [分享5个python可视化图表工具](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485646&idx=1&sn=f1e740630334f88ef991439822b27fd3&chksm=fabf6094cdc8e9822c58338d80d5ef00f4f135bdcac2f9b893159701e789d37f44e90e4e0183&scene=21#wechat_redirect)
* [分享17个网络(Network)数据可视化工具](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485619&idx=1&sn=44696f7c089da0419bfa21ed181a6835&chksm=fabf60e9cdc8e9ff042c28395f16709da29f6ac0ab78d455cab018001d7264d39121fc5baa37&scene=21#wechat_redirect)
* [Napari:一个支持分析大型多维图像数据集的python工具](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485541&idx=1&sn=d80dec83191b3be53e3f6ee96099362b&chksm=fabf603fcdc8e9292a037159d9ab9ad06e63cfa3ef1d597c6b82bd8a487d60f686f707f5047e&scene=21#wechat_redirect)
* [地理空间数据分析可视化R软件包汇总](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485508&idx=1&sn=1aab2f8294b4dcdfdb864322833411b0&chksm=fabf601ecdc8e908d25a3d5d92806b27e7a1596bd792df7fc0b5c655825010ac4816deb919d0&scene=21#wechat_redirect)
* [大气海洋科学数据可视化案例集#2](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485494&idx=1&sn=ebe606ff1a13883d7534bd7b13f71653&chksm=fabf606ccdc8e97a668cfe1e2dd03ca028a1f4db140dfa24dd45bdc82d0fdd37e85e533f494f&scene=21#wechat_redirect)
* [一个快速检索和下载NASA地球科学数据的Python软件包](https://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485332&idx=1&sn=1ab4dc70f4bf5ea2e1c66843d602bb5f&scene=21#wechat_redirect)
* [可视化呈现海洋洋流-墨西哥湾流](https://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485413&idx=1&sn=3ac351d5a5a06ddee614e9a2ef313d39&scene=21#wechat_redirect)
* [探索NOAA提供的数据产品资源](https://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485448&idx=1&sn=d7ecc36be97f154af4153037e82be1ab&scene=21#wechat_redirect)
* [全球海洋船舶定位数据交互式可视化(附数据)](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485165&idx=1&sn=c8c0b1018e8ebc0436ea03b65c5843bd&chksm=fabf6eb7cdc8e7a1c0beb16139174a4618738ba6a777d1386245c2d93856756d8bf151abf90e&scene=21#wechat_redirect)
* [地球科学领域开源python包#1](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247484833&idx=1&sn=bd4f827df3baed8d344c33c42f0ecccf&chksm=fabf6dfbcdc8e4ed3a0673b09e83f08b4333fa1617dd4e749b8ed0a90b7e3f4721ce01a71c71&scene=21#wechat_redirect)
* [地球科学领域开源python包#2](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247484867&idx=1&sn=5d1c8c4a37109630fba96654efe669a9&chksm=fabf6d99cdc8e48f6adce51ae82ecddfc7ca3ca0e754fd9a9ecb82e046c227353227ec5a929e&scene=21#wechat_redirect)
* [大规模空间矢量数据可视化Python库-lonboard](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247484935&idx=1&sn=1c24c747aa6cf7ee0ef22da56640d9c9&chksm=fabf6e5dcdc8e74b4f64bd6f193a29f3853a5c1e8b169bde237f958327edae07fc760461445c&scene=21#wechat_redirect)
* [可视化呈现2023年是有气象记录以来最热的一年](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247484982&idx=1&sn=1c37f6dff58570ff2b821f91c6776dc1&chksm=fabf6e6ccdc8e77a9640a30835cb7457e3eee2d951490e763f5c74f9280526a46897090ee7cb&scene=21#wechat_redirect)
* [大气海洋科学数据可视化案例集#1](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485054&idx=1&sn=086399b206e9ac29fb0583186dbd1665&chksm=fabf6e24cdc8e7329f9c1e7ef2a62bab78860f351916cd703be218690e620767814c0207722b&scene=21#wechat_redirect)
* [地球科学领域计算分析开源Julia软件包](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485098&idx=1&sn=507ce6d9353865edb44c7ae255078856&chksm=fabf6ef0cdc8e7e68650e02472f21799a4ca0f606f9305ffa0838ff9b9d4a6e4bf6862d5d162&scene=21#wechat_redirect)
* [地球观测数据可视化工具](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485142&idx=1&sn=a84720e5cbd8d732c74a3b9abca30922&chksm=fabf6e8ccdc8e79a39684dbb8a9860741f826f18f619fb2037d71a2b70ab33c2614516873124&scene=21#wechat_redirect)
* [地球科学领域计算分析开源Julia软件包](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485098&idx=1&sn=507ce6d9353865edb44c7ae255078856&chksm=fabf6ef0cdc8e7e68650e02472f21799a4ca0f606f9305ffa0838ff9b9d4a6e4bf6862d5d162&scene=21#wechat_redirect)====在Jupyter环境中创建交互式可视化地图.md====
---
title: "在Jupyter环境中创建交互式可视化地图"
published: 2024-09-09
description: "ipyOpenlayers是一个基于OpenLayers的交互式地图库,可以在Jupyter Notebook和JupyterLab中使用。通过结合Jupyter和OpenLayers的优势,使用户能够轻松创建交互式地图。"
image: "/images/在Jupyter环境中创建交互式可视化地图/img_74a78da0.jpg"
tags: ["数据可视化", "台风"]
category: "数据可视化"
draft: false
---
****
地理空间数据交互式可视化地图是一种利用地理空间数据创建的动态地图,允许用户与地图进行互动,从而更好地理解和分析地理信息。这种地图通常集成了多种技术,包括地理信息系统(GIS)、全球定位系统(GPS)、数据可视化技术和网络技术,使用户能够实时访问和操作地图数据。交互式地图具有多种优势,使其在数据可视化和分析中成为一种重要工具。
![](/images/在Jupyter环境中创建交互式可视化地图/img_10c40206.png)
交互式地图的主要优势包括:
* **增强用户参与**:交互式地图允许用户通过缩放、平移和点击特定元素来获取更多信息,从而提供更身临其境和个性化的体验。这种参与感使用户能够更深入地探索和理解数据。
* **动态数据表示**:与静态地图不同,交互式地图可以实时或定期更新信息。这使得用户能够追踪天气模式、监测交通状况或可视化社交媒体趋势等,尤其在需要快速反应的场合中显得尤为重要。
* **分层数据可视化**:交互式地图能够展示多层数据,用户可以在不同数据层之间切换,全面了解信息。这种多层次的方法有助于分析复杂的数据集,识别不同变量之间的关系。
* **易于更新和维护**:更新交互式地图相对简单,可以轻松修改和更新数据,保持内容的新鲜和相关性,而静态地图则需要重新设计和印刷。
* **广泛的应用场景**:交互式地图在城市规划、环境监测、销售和市场分析等多个领域中被广泛应用,提供了强大的数据分析和决策支持工具。
![](/images/在Jupyter环境中创建交互式可视化地图/img_fae455b6.webp)
目前,Python生态系统已经提供了一系列出色的可视化库。ipyOpenlayers是一个基于OpenLayers的交互式地图库,可以在Jupyter Notebook和JupyterLab中使用。通过结合Jupyter和OpenLayers的优势,ipyOpenlayers使用户能够轻松创建交互式地图。它的多功能性和简单性使其成为从数据探索到地理空间分析展示等广泛应用的理想选择。它提供了一个简单易用的API,使用户能够快速创建功能丰富的地图可视化。ipyOpenlayers支持多种地图源,包括OpenStreetMap、Google Maps和天地图等。
本文将介绍ipyopenlayers的主要功能,并展示如何使用这个库将地理空间数据转化为动态交互式可视化地图。
![](/images/在Jupyter环境中创建交互式可视化地图/img_32ba01a4.jpg)
ipyOpenlayers可以通过pip进行安装:

pip install ipyopenlayers

使用以下3行代码即可创建一个简单的交互式地图:

from ipyopenlayers import Map
m = Map(center=[0, 0], zoom=2)m

![](/images/在Jupyter环境中创建交互式可视化地图/img_ac4e36c8.webp)
ipyopenlayers支持向地图添加图层和控件,以下是如何添加一个来自OpenStreetMap的栅格瓦片图层和一个缩放滑块控件。

from ipyopenlayers import RasterTileLayer, ZoomSliderm =Map()# Add a raster tile layerraster_layer = RasterTileLayer(url=‘https://{a-c}.basemaps.cartocdn.com/dark_all/{z}/{x}/{y}.png’)m.add_layer(raster_layer)

Add a zoom slider controlzoom_slider = ZoomSlider()m.add_control(zoom_slider)m#

![](/images/在Jupyter环境中创建交互式可视化地图/img_41b6b55e.webp)
# **ipyOpenlayers的主要功能**
ipyOpenlayers功能丰富,非常适合在Jupyter Notebook和JupyterLab中创建高级交互式地图。在ipyOpenlayers中,每个对象(包括地图、瓦片层、图层、控件等)都是交互式的,允许用户从Python或直接从浏览器动态更新属性。这种交互性使得ipyOpenlayers成为在Jupyter Notebook中创建复杂和响应式GIS应用程序的强大工具。从添加自定义控件到启用动态图层和叠加,该库为增强地理空间可视化提供了工具。以下是一些关键功能的简要介绍。
**1. 叠加矢量瓦片图层**
矢量瓦片图层支持高效、高质量的地理空间数据渲染,允许平滑缩放和动态样式调整地图特征。它们为在Jupyter Notebook中创建详细的交互式地图提供了灵活性和定制化选项。

from ipyopenlayers import Map, VectorTileLayer

Create a map centered at coordinates [0, 0] with zoom level 0m = Map(center=[0, 0], zoom=0)#

Add a VectorTileLayer to the mapvector_layer = VectorTileLayer(url=‘https://basemaps.arcgis.com/arcgis/rest/services/World_Basemap_v2/VectorTileServer/tile/{z}/{y}/{x}.pbf’,source_format={ ‘type’: ‘MVT’,})m.add_layer(vector_layer)#

Display the mapm#

![](/images/在Jupyter环境中创建交互式可视化地图/img_564c5f89.webp)
**2. 支持GeoJson格式数据**
GeoJSON是一种基于JSON的地理数据交换格式,用于表示各种地理数据结构。GeoJSON对象可以表示几何信息、要素或者要素集合。以下代码实现在地图上叠加GeoJson数据。

import osimport jsonfrom ipyopenlayers import Map, GeoJSON
m = Map(center=[-77.15641232105159, 34.561348453091625], zoom=9.5)# Note the coordinate order: [latitude, longitude]
with open(“demo.json”) as f: data = json.load(f)

Add the GeoJSON layergeo_json = GeoJSON( data=data)#

Add the GeoJSON layer to the mapm.add_layer(geo_json)m#

![](/images/在Jupyter环境中创建交互式可视化地图/img_146785c6.webp)
**3. 支持GeoTIFF格式数据**
GeoTIFF是一种基于TIFF(Tagged Image File Format)的地理空间栅格数据格式。它在标准TIFF格式的基础上添加了地理坐标信息,使得图像能够与地理空间位置相关联。GeoTIFF格式广泛应用于地理信息系统(GIS)和遥感领域。ipyopenlayers支持可视化GeoTIFF数据文件,能够可视化具有地理上下文的栅格数据。

from ipyopenlayers import GeoTIFFTileLayer

Create a GeoTIFF layergeo_tiff_layer = GeoTIFFTileLayer(url=‘https://sentinel-cogs.s3.us-west-2.amazonaws.com/sentinel-s2-l2a-cogs/36/Q/WD/2020/7/S2A_36QWD_20200701_0_L2A/TCI.tif’)m.add_layer(geo_tiff_layer)#

![](/images/在Jupyter环境中创建交互式可视化地图/img_7c3550fd.webp)
**4. 支持创建动态数据可视化应用**ipyOpenlayers除了支持基本的地图可视化,还能够与其他强大的Python工具集成来创建动态和交互式可视化应用。本文介绍一个电力地图数据可视化的应用案例,它使用ipyOpenlayers与electricityMap、ipywidgets、voila和bqplot等库结合,来可视化和分析全球电力数据的项目。项目地址https://github.com/Nour-Cheour10/electricitymap\_dashboard
## **主要特点:**
* **实时可视化**:使用electricityMap,仪表板将实时电力消耗和碳强度数据叠加到全球地图上,配合ipyopenlayers使用。
* **交互式控件**:ipywidgets使用户能够按区域过滤数据,选择特定时间段,并在不同地图图层之间切换,使数据探索变得高度互动。
* **动态绘图**:bqplot允许用户生成与地图同步的可定制图表,提供对电力趋势和碳排放的更深入洞察。
![](/images/在Jupyter环境中创建交互式可视化地图/img_e5702d49.webp)
* **项目地址:**https://github.com/QuantStack/ipyopenlayers
# **本公众号相关内容推荐**
* [处理和可视化地理空间数据的Python库:EarthPy](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486068&idx=1&sn=dad52a2fddaae5ba34db65df298b83f1&chksm=fabf622ecdc8eb386b076b74dcd287b65f15eff9a1ebc8b0684e276d670046077acc817fdac8&scene=21#wechat_redirect)
* [地理空间深度学习python库:TorchGeo](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486055&idx=1&sn=24f10ec3f457cd44380ef233f9963e56&chksm=fabf623dcdc8eb2b4dced7aa8467d522a1383ff9bae20d5092d03d30955f7ba2253688056b5c&scene=21#wechat_redirect)
* [遥感数据分析python库scikit-eo](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486046&idx=1&sn=602acf1e2f5e559c299a8b13e80fb517&chksm=fabf6204cdc8eb12c0704c7a4e6037b554f68fe0826f09b1a91ae6e7bc41700a9e65ddad66b5&scene=21#wechat_redirect)
* [图网络的应用场景及图分析python库](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485965&idx=1&sn=f8aa290cd93feccdba3500abe0cff348&chksm=fabf6257cdc8eb41b666c59630d6a9d8d642ebf740fc79ef8c3f6027857c4d229808010a33fc&scene=21#wechat_redirect)
* [使用Python和NetworkX创建并可视化图网络(Graph Network)](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485946&idx=1&sn=530310279074989a0729ace617b7e0c9&chksm=fabf61a0cdc8e8b6b8ec33e9ec46aefed01672b6d4e9a6208020e6b9be7f8fbe0e38cc9577df&scene=21#wechat_redirect)
* [OpenResearcher:一个开源科学研究AI助理](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485934&idx=1&sn=3a35078ecfcec51014c24c1db9b2aaa3&chksm=fabf61b4cdc8e8a2cb0ef16fb0fd2bc2d3a3fdc42aef63e106152e55a6fbbf78c78c6b8f5c7a&scene=21#wechat_redirect)
* [NeuralGCM: 一种融合机器学习与物理原理来模拟地球大气的新方法](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485904&idx=1&sn=966cf544765b492436d42cfca66f3a7b&chksm=fabf618acdc8e89c59257b1150cf76ef8fe197ffbf390b7b4736b65ae3ba97c90c4d6d256b2b&scene=21#wechat_redirect)
* [Transformer Explainer:文本生成模型交互式可视化工具](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485859&idx=1&sn=e82c8ab4a071b123f4f3ab98eda381ec&chksm=fabf61f9cdc8e8ef2ba9dd265729eb51bdade88d69c57d4810771dc7d24af1521a5bd08dccf6&scene=21#wechat_redirect)
* [用于探索性数据分析(EDA)的开源python库](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485827&idx=1&sn=295572d805a167c620d0136b67c0aded&chksm=fabf61d9cdc8e8cfb8f3a26163daa4e94e5a8ce990e588f0e1880d1999f909f81d6a0bc28684&scene=21#wechat_redirect)
* [分享一个构建交互式D3js可视化的Python库](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485786&idx=1&sn=6a32cdd45a98b242fd8269b84f441448&chksm=fabf6100cdc8e8162e65c352f762665271ebf42a46345c7d0270ea72494c4c7068637ca7f21e&scene=21#wechat_redirect)
* [推荐15个图网络可视化python软件包](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485733&idx=1&sn=d75b69b4805f0b286026c663c1a934d2&chksm=fabf617fcdc8e869e3844db959192ef3fbae7a4faa703d54eabe7f81cdc5ec523d77fce589dc&scene=21#wechat_redirect)
* [9个提升科研效率的软件工具](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485691&idx=1&sn=9abc8927c179d0cf53eb4f04207820aa&chksm=fabf60a1cdc8e9b7c22e58b854e2a09e588742f59ff2207e437b69fb07362ba3ec381202c488&scene=21#wechat_redirect)
* [生成式人工智能模型颠覆传统天气预报](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485653&idx=1&sn=cfb223fb24824c01c773933c181969b8&chksm=fabf608fcdc8e999f74763593dd0f55b51a4776991060b28dfec146643b7f61ac0bc5d868133&scene=21#wechat_redirect)
* [分享5个python可视化图表工具](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485646&idx=1&sn=f1e740630334f88ef991439822b27fd3&chksm=fabf6094cdc8e9822c58338d80d5ef00f4f135bdcac2f9b893159701e789d37f44e90e4e0183&scene=21#wechat_redirect)
* [分享17个网络(Network)数据可视化工具](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485619&idx=1&sn=44696f7c089da0419bfa21ed181a6835&chksm=fabf60e9cdc8e9ff042c28395f16709da29f6ac0ab78d455cab018001d7264d39121fc5baa37&scene=21#wechat_redirect)
* [Napari:一个支持分析大型多维图像数据集的python工具](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485541&idx=1&sn=d80dec83191b3be53e3f6ee96099362b&chksm=fabf603fcdc8e9292a037159d9ab9ad06e63cfa3ef1d597c6b82bd8a487d60f686f707f5047e&scene=21#wechat_redirect)
* [地理空间数据分析可视化R软件包汇总](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485508&idx=1&sn=1aab2f8294b4dcdfdb864322833411b0&chksm=fabf601ecdc8e908d25a3d5d92806b27e7a1596bd792df7fc0b5c655825010ac4816deb919d0&scene=21#wechat_redirect)
* [大气海洋科学数据可视化案例集#2](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485494&idx=1&sn=ebe606ff1a13883d7534bd7b13f71653&chksm=fabf606ccdc8e97a668cfe1e2dd03ca028a1f4db140dfa24dd45bdc82d0fdd37e85e533f494f&scene=21#wechat_redirect)
* [一个快速检索和下载NASA地球科学数据的Python软件包](https://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485332&idx=1&sn=1ab4dc70f4bf5ea2e1c66843d602bb5f&scene=21#wechat_redirect)
* [可视化呈现海洋洋流-墨西哥湾流](https://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485413&idx=1&sn=3ac351d5a5a06ddee614e9a2ef313d39&scene=21#wechat_redirect)
* [探索NOAA提供的数据产品资源](https://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485448&idx=1&sn=d7ecc36be97f154af4153037e82be1ab&scene=21#wechat_redirect)
* [全球海洋船舶定位数据交互式可视化(附数据)](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485165&idx=1&sn=c8c0b1018e8ebc0436ea03b65c5843bd&chksm=fabf6eb7cdc8e7a1c0beb16139174a4618738ba6a777d1386245c2d93856756d8bf151abf90e&scene=21#wechat_redirect)
* [地球科学领域开源python包#1](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247484833&idx=1&sn=bd4f827df3baed8d344c33c42f0ecccf&chksm=fabf6dfbcdc8e4ed3a0673b09e83f08b4333fa1617dd4e749b8ed0a90b7e3f4721ce01a71c71&scene=21#wechat_redirect)
* [地球科学领域开源python包#2](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247484867&idx=1&sn=5d1c8c4a37109630fba96654efe669a9&chksm=fabf6d99cdc8e48f6adce51ae82ecddfc7ca3ca0e754fd9a9ecb82e046c227353227ec5a929e&scene=21#wechat_redirect)
* [大规模空间矢量数据可视化Python库-lonboard](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247484935&idx=1&sn=1c24c747aa6cf7ee0ef22da56640d9c9&chksm=fabf6e5dcdc8e74b4f64bd6f193a29f3853a5c1e8b169bde237f958327edae07fc760461445c&scene=21#wechat_redirect)
* [可视化呈现2023年是有气象记录以来最热的一年](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247484982&idx=1&sn=1c37f6dff58570ff2b821f91c6776dc1&chksm=fabf6e6ccdc8e77a9640a30835cb7457e3eee2d951490e763f5c74f9280526a46897090ee7cb&scene=21#wechat_redirect)
* [大气海洋科学数据可视化案例集#1](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485054&idx=1&sn=086399b206e9ac29fb0583186dbd1665&chksm=fabf6e24cdc8e7329f9c1e7ef2a62bab78860f351916cd703be218690e620767814c0207722b&scene=21#wechat_redirect)
* [地球科学领域计算分析开源Julia软件包](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485098&idx=1&sn=507ce6d9353865edb44c7ae255078856&chksm=fabf6ef0cdc8e7e68650e02472f21799a4ca0f606f9305ffa0838ff9b9d4a6e4bf6862d5d162&scene=21#wechat_redirect)
* [地球观测数据可视化工具](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485142&idx=1&sn=a84720e5cbd8d732c74a3b9abca30922&chksm=fabf6e8ccdc8e79a39684dbb8a9860741f826f18f619fb2037d71a2b70ab33c2614516873124&scene=21#wechat_redirect)
* [地球科学领域计算分析开源Julia软件包](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485098&idx=1&sn=507ce6d9353865edb44c7ae255078856&chksm=fabf6ef0cdc8e7e68650e02472f21799a4ca0f606f9305ffa0838ff9b9d4a6e4bf6862d5d162&scene=21#wechat_redirect)====在Web浏览器上可视化和分析PB级科学数据.md====
---
title: "在Web浏览器上可视化和分析PB级科学数据"
published: 2025-08-01
description: ""
image: "/images/在Web浏览器上可视化和分析PB级科学数据/img_bcbd1a73.jpg"
tags: ["数据可视化", "台风"]
category: "数据可视化"
draft: false
---
在地球科学研究领域,数据规模的爆炸式增长带来了前所未有的挑战。每天,来自卫星观测、数值模型和各类模拟的数据以PB级别累积。然而,传统的数据处理和分析工具已经无法满足现代科研的需求。本文将介绍犹他大学研究团队如何通过创新的Web架构和数据处理技术,解决大规模气候数据的访问和分析难题。
![](/images/在Web浏览器上可视化和分析PB级科学数据/img_0cc3566b.jpg)
## 大规模气候数据面临的核心挑战
### 1. 存储成本的指数级增长
在云计算时代,存储PB级数据的成本仍然是一个重要考量因素。以AWS S3为例,存储1PB数据的月成本约为23000美元,这还不包括数据传输和API调用费用。对于许多研究机构来说,这是一笔巨大的开支。
### 2. 计算资源的瓶颈
传统的数据分析流程需要:
* • 申请高性能计算集群的使用时间
* • 等待作业调度系统分配资源
* • 批处理模式下运行分析脚本
* • 等待结果生成(通常是静态的视频或图像)
这种工作流程严重限制了科学家的探索效率和创新能力。
### 3. 网络带宽的限制
即使拥有充足的存储和计算资源,数据传输仍然是一个巨大挑战。以37TB的CMIP6数据集为例,即使在1Gbps的网络环境下,完整下载也需要超过80小时。
### 4. 技术门槛的障碍
许多领域科学家并不具备深厚的编程背景,编写复杂的数据处理脚本对他们来说是额外的负担。这限制了数据的可访问性和科研效率。
## 创新解决方案:三层架构设计
该团队提出了一种创新的、基于Web的架构,旨在从根本上改变科学家与大规模数据的交互方式。
![](/images/在Web浏览器上可视化和分析PB级科学数据/img_919c1cbc.png)
### 第一层:基于Web的访问架构
用户不再需要强大的本地硬件,只需通过浏览器即可访问一个功能丰富的仪表板。 这个平台支持可定制的小部件,允许研究人员根据自己的需求构建分析环境。
#### 核心设计理念
* • **零安装部署**:用户只需浏览器即可访问
* • **跨平台兼容**:支持桌面、平板和移动设备
* • **可定制组件**:提供可重用的可视化小部件
### 第二层:数据结构抽象层(Data Fabric)
这一层是整个系统的“智能核心”。它向用户隐藏了数据的存储位置、格式和底层复杂性。 通过采用一种基于空间填充曲线的创新树状数据结构,它极大地优化了从云端到浏览器的数据流,使用户能够快速获取他们真正需要的数据子集。
#### 核心功能
1. 1. **统一查询接口**:屏蔽底层数据格式差异
2. 2. **智能数据定位**:自动处理数据源选择和路由
3. 3. **透明格式转换**:支持NetCDF、HDF5、Zarr等多种格式
#### IDX格式:为云原生时代而生的数据格式
IDX(Indexed Data eXchange)格式是团队开发的核心创新,采用基于空间填充曲线的层次化存储结构。 与传统的行优先存储(如NetCDF)不同,IDX专为高效的云端查询而设计,其特点包括:
* • **层次化存储**: 数据被组织成一个从粗糙到精细的金字塔结构。顶层是数据的概览,随着层级深入,数据分辨率和精度也随之提高。
* • **灵活的查询能力**: 用户可以根据感兴趣的区域(ROI)、空间分辨率、数值精度甚至最大数据大小来精确查询所需的数据,避免了不必要的数据传输。
* • **惊人的压缩效率**: 在处理一个25TB的NASA气候数据集时,IDX格式在几乎可忽略的均方误差(MSE)下实现了高达6倍的压缩。

IDX数据编码示例#

import numpy as np
from openvis import IDXFile

def convert_to_idx(netcdf_file, output_path):
    """将NetCDF文件转换为IDX格式"""
    
    # 读取原始数据
    data = read_netcdf(netcdf_file)
    
    # 创建IDX文件,定义元数据
    idx = IDXFile(output_path)
    idx.set_dimensions(data.shape)
    idx.set_fields([‘temperature’, ‘precipitation’, ‘wind_speed’])
    idx.set_timesteps(data.time_range)
    
    # 使用空间填充曲线重组数据
    for level in range(max_levels):
        resolution = 2 ** level
        resampled_data = resample_data(data, resolution)
        idx.write_level(level, resampled_data)
    
    # 应用压缩
    idx.compress(algorithm=‘zfp’, tolerance=1e-6)
    
    return idx

### 第三层:高级压缩和缓存策略
为了最大限度地减少网络传输,系统内置了强大的压缩和缓存机制。 它支持多种有损和无损压缩算法,并同时在服务器端和浏览器端实现缓存,显著提升了重复访问和交互探索的效率。
#### 压缩技术选择
团队对多种压缩算法进行了评估:
| 压缩算法 | 压缩率 | 精度损失(RMSE) | 压缩速度 | 适用场景 |
| --- | --- | --- | --- | --- |
| ZFP | 6:1 | < 1e-6 | 快 | 浮点数据,科学计算 |
| SZ | 8:1 | < 1e-5 | 中 | 高压缩率需求 |
| GZIP | 2:1 | 0 | 慢 | 无损压缩需求 |
| LZ4 | 1.5:1 | 0 | 极快 | 实时传输 |
### 数据转换流程
将传统数据格式(如NetCDF或GeoTIFF)转换为IDX格式的流程非常直接,主要使用团队开发的开源Python库OpenVis。
* • **创建元数据**: 首先,创建一个包含字段、维度和时间步等信息的IDX元数据文件。
* • **读取源数据**: 使用标准库打开NetCDF、TIFF或其他格式的文件,并将其内容读入NumPy数组。
* • **内存编码**: 调用Open Vis库提供的函数,在内存中将NumPy数组编码为IDX的层次化结构。
* • **写入与压缩**: 将编码后的数据写入新的IDX文件,并应用所选的压缩算法。
* • **云端部署**: 最后,将生成的IDX文件上传到云存储,即可通过Web访问。
* ```
import numpy as np
import netCDF4 as nc
# 假设存在一个名为openvis的库
import openvis
# 1. 打开原始数据文件
source_dataset = nc.Dataset('my_climate_data.nc', 'r')
temperature_data = source_dataset.variables['temperature'][:] # 读取为NumPy数组
# 2. 创建IDX数据集的元数据
db = openvis.create_idx_dataset(db_name="my_climate_data.idx",
                                fields=[openvis.Field('temperature', 'float32')],
                                dims=[('time', 100), ('lat', 1800), ('lon', 3600)])
# 3. 在内存中编码数据并写入文件
# Open Vis库将处理分块、层次化和编码
db.write(data=temperature_data, time_step=0)
# 4. 应用压缩并保存
db.compress_data(algorithm='zfp') # 假设使用zfp压缩
db.close()
# 5. 上传到云存储 (伪代码)
# cloud_storage.upload('my_climate_data.idx', 's3://my-nasa-data-bucket/')

实际应用案例分析#

案例1:NASA ECCO 4320数据集#

成功将1.5PB的NASA气候数据集变得“触手可及”。研究人员现在甚至可以通过手机浏览器进行交互式探索,如播放时间序列动画、切换变量模型以及查看数据统计信息。

解决步骤

    1. 使用IDX格式重新组织数据
    1. 部署全球CDN加速访问
    1. 提供自适应分辨率控制

成果

  • • 移动设备可访问PB级数据
  • • 初始加载时间 < 3秒
  • • 交互响应时间 < 100ms

案例2:CMIP6气候模型数据#

将一个37TB的CMIP6气候数据集从笨重的NetCDF文件解放出来,实现了完全的Web访问。 特别是为网络条件较差的用户提供了一个分辨率滑块,允许他们通过请求较少的数据来保证交互的流畅性。

案例3:NASA JPL海洋-大气相互作用研究#

彻底改变了气候科学家的工作流。过去,研究人员需要排队申请GPU时间并提交批处理作业来研究海洋涡流对大气的影响;现在,他们可以直接在浏览器中交互式地选择感兴趣的区域和变量,实时观察现象的变化。

  • • 分析中尺度海洋涡旋对大气的影响
  • • 需要高时空分辨率数据
  • • 要求实时交互式探索

技术创新

  1. 1. 双向数据流优化:同时加载海洋和大气数据
  2. 2. 智能预取策略:基于用户行为预测数据需求
  3. 3. GPU加速渲染:使用WebGL实现流畅可视化

未来展望:RAG增强的智能数据分析#

研究团队正在开发基于RAG(Retrieval-Augmented Generation)的智能查询系统。

通过自然语言查询气候数据:

  • • “显示过去10年太平洋海温异常与厄尔尼诺事件的关系”
  • • “比较不同气候模型对2050年北极海冰覆盖的预测”
  • • “分析亚马逊雨林区域降水模式的季节性变化”

结语#

研究团队通过云原生架构、创新的数据格式、高效压缩技术以及前沿AI技术的结合,成功地将PB级气候数据的访问门槛降低到了前所未有的水平。研究人员通过浏览器即可访问和分析大规模气候数据。====在Web浏览器渲染大规模geoparquet数据.md====#

title: “在Web浏览器渲染大规模geoparquet数据” published: 2025-08-07 description: "" image: “/images/在Web浏览器渲染大规模geoparquet数据/img_5bd1d071.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#

在处理大规模地理空间矢量数据时,通常会立即想到矢量瓦片(Vector Tiles)。它是公认的高性能标准,尤其在需要概览和快速缩放的场景中表现出色。但矢量瓦片也带来了额外的复杂性:数据需要被复制和预处理,开发者必须成为制图专家,投入精力设计概览层级和优化参数。

那么,我们能否跳过瓦片化的步骤,直接在浏览器中可视化用于分析的原始数据格式呢?

本文将介绍如何在Web浏览器中直接渲染GeoParquet的方法,并分析这种方法与传统方法的优劣。

为什么选择GeoParquet?#

在处理网格数据时,我们可以使用Zarr这样的云原生格式,实现完全无服务器的云原生可视化。然而,当转向像Overture建筑物足迹这样的大规模矢量数据集时,就需要新的加载和渲染策略。

研究团队最终选择将所有科学分析的输出存储为GeoParquet格式,主要基于以下三个原因:

  • • 卓越的性能:GeoParquet在数据分析和查询性能方面表现出色。
  • • 高效的压缩:能够生成体积很小的文件,非常便于数据分发。
  • • 前沿的技术生态:作为一个新兴的技术,社区正在为其投入大量精力,构建了许多强大的工具,整个生态系统在快速发展。

理解GeoParquet的核心结构#

为了在浏览器中高效地使用GeoParquet,首先需要理解其内部结构。GeoParquet并不仅仅是一个“带地理信息的文件”,它的设计包含了许多为性能优化的特性:

  • • 列式存储 (Columnar Format):与行式存储不同,你可以只读取你需要的特定数据列(例如,只读取几何信息,而忽略其他属性),极大地减少了数据传输量。
  • • 行组 (Row Groups):数据被分割成多个独立的块,称为“行组”。你可以将其类比于Zarr格式中的数据块(chunks)。
  • • 元数据 (Metadata):文件包含描述行组位置和内容的元数据。这意味着你可以查询元数据来了解数据的分布,而无需下载整个文件或任何实际的数据块。
  • • 空间索引 (Spatial Indexing):GeoParquet支持一个关键特性——每个行组都带有一个边界框(Bounding Box),这形成了一种有效的空间索引。你可以通过地理空间查询,只选择与特定区域相交的行组。

然而,矢量数据的空间索引也带来了挑战。与分布均匀的网格数据不同,矢量数据的行组边界框可能会大量重叠,这会对查询性能产生影响,这一点在后续的探索中非常重要。

初步尝试:直接加载与性能瓶颈#

最初的灵感来源于开发者Kyle Barron的一个出色示例,他在Observable上展示了如何直接加载约100万个建筑物的GeoParquet文件,并在deck.gl中实现了流畅的平移和缩放。这证明了将GeoParquet数据直接渲染到浏览器中的可行性。

但这种方法的局限也很明显:它需要一次性下载整个GeoParquet文件。对于小区域的数据集或许可以接受,但当数据扩展到更大的区域时,动辄数百兆甚至上GB的文件会让用户在糟糕的网络环境下体验极差。

进阶方案:利用空间索引与WebAssembly#

既然GeoParquet内部有行组和边界框索引,我们自然会想:能否只加载当前地图视口内的数据?

答案是肯定的。借助一个基于Rust并能编译成WebAssembly(WASM)的库,在浏览器中进行高效的空间查询成为了可能。

其工作流程的伪代码如下:

// 1. 引用Parquet Wasm工具库
import { ParquetFile } from 'parquet-wasm';
// 2. 传入GeoParquet文件的URL
const url = 'path/to/your/data.parquet';
// 3. 读取文件元数据
const parquetFile = await ParquetFile.fromUrl(url);
// 4. 获取地图视口的边界框
const viewBbox = map.getBounds();
// 5. 使用视口边界框查询相交的行组
//    read()方法内部会利用空间索引,只拉取相关的行组数据
const geojson = await parquetFile.read({
  bbox: [viewBbox.getWest(), viewBbox.getSouth(), viewBbox.getEast(), viewBbox.getNorth()]
});
// 6. 将返回的GeoJSON数据传递给deck.gl进行渲染
// ...

这种方法实现了按需加载,当用户平移和缩放地图时,只会下载几KB到几MB的相关数据,体验大为改善。但新的问题随之而来:随着数据集的增长,初始的元数据请求会变得越来越大。这个元数据瓶颈使得该方案无法真正扩展到我们期望的级别。

终极解决方案:四叉键分区 (Quadkey Partitioning)#

为了解决元数据过大的问题,研究团队计划使用空间索引(如S2、Geohash或四叉键)作为分区依据。

四叉键(Quadkey)是Web地图的理想搭档。地图的每个缩放级别和瓦片位置都可以用一个唯一的四叉键标识符来表示。这意味着我们可以从地图的当前视图中轻易地知道需要哪些四叉键。

基于此,研究团队设计了新的数据组织方式:

    1. 选择一个合适的缩放级别(例如,zoom level 10)。
    1. 将庞大的数据集按照每个四叉键进行分割。
    1. 每个四叉键对应一个独立的、较小的GeoParquet文件。

这种分区策略的优势在于,它为元数据请求的大小设置了上限。浏览器不再需要一次性获取整个数据集的元数据,而是仅在需要时加载特定四叉键对应文件的元数据。
数据加载的步骤为:

    1. 从地图视口计算出覆盖范围内的四叉键。
    1. 构建这些四叉键对应的GeoParquet文件URL列表。
    1. 将URL列表传递给ParquetDataset
    1. 执行空间查询,获取数据并渲染。

通过这种方式,研究团队成功地将数据加载扩展到了任意规模,同时获得了并行化查询带来的性能提升。

性能对比与权衡#

这次探索最终形成了一套可行的方案,但它与其他数据格式相比表现如何呢?

加载方式Web性能分析性能备注
单个GeoParquet文件差(不可扩展)优秀仅适用于小型数据集。
四叉键分区的GeoParquet良好(可扩展)良好分析性能略有下降,因为需要遍历更多文件。代码复杂度增加。
FlatGeobuf良好良好另一种优秀的云原生矢量格式。
PMTiles (矢量瓦片)卓越较差Web端可视化的黄金标准,但不是为分析而设计的。

有趣的是,通过四叉键分区,实际上是在“重新发明”一个瓦片系统。但这套系统的好处是,数据源(GeoParquet)同时也是分析端友好的格式,实现了分析与可视化的统一

仍待探索的方向#

尽管取得了显著进展,但仍有挑战需要解决。其中一个关键问题是如何对行组进行空间排序。目前,地图上一个区域可能重叠了10个行组,而旁边的区域只有2个,这会导致用户体验和加载性能的不一致。如何更均匀地组织数据以提供更流畅的体验,是下一步需要探索的方向。

结论#

本文介绍的在Web浏览器中渲染大规模矢量数据的创新方法,证明了在浏览器中直接、高效且可扩展地可视化GeoParquet是完全可行的。通过四叉键分区策略,巧妙地绕过了传统一次性加载的瓶颈,创造了一套兼顾Web性能和分析需求的解决方案。

这个过程不仅为大规模矢量数据的Web可视化提供了新的思路,也展示了开源社区(在推动技术创新中的巨大力量。对于那些希望简化数据管道、实现分析与可视化一体化的团队来说,这无疑是一次充满启发性的成功实践。

 

 

 

 

References#


title: “地球板块10亿年的变化过程可视化” published: 2022-07-06 description: “根据板块构造理论,地球的表面是由岩石板组成的,这些岩石板就在我们的脚下慢慢移动。由于这种不断的运动,今天的地球看起来与数百万年前有很大的不同。这段视频动画展示了地球板块从10亿年前的地质学时间到现在的变化过程。” image: “/images/地球板块10亿年的变化过程可视化/img_e9677a30.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#

根据板块构造理论,地球的表面是由岩石板组成的,这些岩石板就在我们的脚下慢慢移动。由于这种不断地运动,今天的地球看起来与数百万年前有很大的不同。下面这段视频动画展示了地球板块从10亿年前的地质学时间到现在的变化过程。该视频时长40秒钟,从10亿年前(1000Ma)开始,每秒约2500万年的速度展示变化情况。

      根据《地质学百科全书》,地球曾存在5个超大陆(Supercontinent):

          ·Kenorland: 2.7-2.5 billion years ago

          ·Nuna/Columbia: 1.6-1.4 billion years ago

          ·Rodinia: 950–800 million years ago

          ·Pannotia: 620-580 million years ago

          ·Pangea: 325-175 million years ago

      根据该理论,地球板块的破裂和合拢的循环是由于俯冲作用而发生的,而俯冲作用是在构造板块相互交汇时发生的。超大陆周期也与海洋的形成有关。下面这个威尔逊周期的例子具体说明了大西洋及其前身伊普特斯洋是如何随着超大陆的漂移而形成的。

     板块构造学理论帮助解释了大量未解答的地质问题,协助科学家了解火山、山脉和海脊是如何形成的。它对石油和天然气行业也很有价值,因为它解释了沉积盆地是如何形成的,使得我们有机会找到巨大的石油储备。

      由于板块构造理论相对较新,在这一研究领域仍有许多东西有待发现。在2021年3月,多位科学家联合在《地球科学评论》发表了一篇题为《Extending full-plate tectonic models into deep time: Linking the Neoproterozoic and the Phanerozoic》的文章。文章首次将一个连续的板块模型可视化,显示了地球板块在过去10亿年中的移动情况。本文中的视频动画就是基于这篇文章的数据而制作的。

喜马拉雅山脉的形成:

Reference:

  1. Andrew S. Merdith, Simon E. Williams, Alan S. Collins, Michael G. Tetley, Jacob A. Mulder, Morgan L. Blades, Alexander Young, Sheree E. Armistead, John Cannon, Sabin Zahirovic, R. Dietmar Müller,

Extending full-plate tectonic models into deep time: Linking the Neoproterozoic and the Phanerozoic,Earth-Science Reviews,Volume 214,2021,103477,

ISSN 0012-8252,https://doi.org/10.1016/j.earscirev.2020.103477.

2. https://twitter.com/ErikSolheim/status/1543494751693029376====地球碳循环以及它是如何随时间变化的.md====#

title: “地球碳循环以及它是如何随时间变化的” published: 2021-05-26 description: “碳以各种形式,包括二氧化碳和有机物质,在大气圈、水圈、岩石圈和生物圈之间不断地交换,并随地球的运动循环不止。几千年来,工业化前地球的碳循环一直处于平衡状态,大气中的二氧化碳水平几乎保持不变。” image: “/images/地球碳循环以及它是如何随时间变化的/img_535f01b7.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#

地球的碳以各种形式,包括二氧化碳和有机物质,在大气圈、水圈、岩石圈和生物圈之间不断地交换,并随地球的运动循环不止。

      几千年来,工业化前地球的碳循环一直处于平衡状态,大气中的二氧化碳水平几乎保持不变。然而,人类发现了化石燃料(煤炭、石油、天然气等)的用处,开始向大气中排放大量的碳,已经扰乱了碳循环。

      近几百年来,排放的碳更多的进入海洋。如果人类停止燃烧大量的化石燃料,这将使大气中的二氧化碳水平有所下降。

      然而,让碳回到地球的主要机制是通过沉积物的形成。这是一个非常缓慢的过程。自然过程可能需要超过10万年的时间,我们通过燃烧化石燃料增加的额外碳才会回到地球。

 

       动画的第一帧,显示了人类干预前的估计碳储量和流量。

       动画的最后一帧,显示了我们燃烧的化石燃料以及对碳的存量和流量的影响。====地球科学领域开源python包-1.md====#

title: “地球科学领域开源python包#1” published: 2024-01-09 description: “本文收集了地球科学领域常用的开源Python软件包,涵盖包括地球物理学、地球化学、地质学、气候科学、海洋科学等地球科学领域。” image: “/images/地球科学领域开源python包-1/img_16f242eb.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#

本文收集了地球科学领域常用的开源Python软件包,涵盖包括地球物理学、地球化学、地质学、气候科学、海洋科学等地球科学领域。

  • GeoPandas:GeoPandas是用来处理地理空间数据的python第三方库,它无缝集成了空间数据处理功能和Pandas的数据分析能力。使用它可以轻松创建、操作和分析几何对象、拓扑关系和坐标参考系等地理空间数据结构。https://geopandas.org/

  • Pysal:是一个面向地理空间数据科学的开源跨平台库,支持空间分析高级应用程序的开发。https://pysal.org/

    它包括四个主要功能模块:explore-用于对空间和时空数据进行探索性分析的模块,包括对点、网络和多边形格的统计测试以及空间不等式和分布动力学的方法。viz-可视化空间数据中的模式,以检测集群、异常值和热点。model-用各种线性、广义线性和非线性模型对数据中的空间关系进行建模。lib-解决各种各样的计算几何问题:从多边形格、线和点构建图形。空间权重矩阵与图形的构建与交互编辑、 α形状、空间指数和空间拓扑关系的计算、读写稀疏图形数据,以及纯python空间矢量数据阅读器。

  • WhiteboxTools:是一个高级地理空间数据分析平台,可用于执行常见的地理信息系统(GIS)分析操作,如成本-距离分析、距离缓冲和栅格重新分类。遥感和图像处理任务包括图像增强(如全色锐化、对比度调整)、图像镶嵌、多种过滤操作、分类和常见图像转换。WhiteboxTools 还包含用于空间水文分析(如流量累积、流域划分、溪流网络分析、水槽清除)、地形分析(如坡度、曲率、湿度指数、山影等常见地形指数;湿度分析;多尺度地形位置分析)和激光雷达数据处理的高级工具。可对激光雷达点云进行查询(LidarInfo、LidarHistogram)、分割、平铺和连接、异常值分析、插值到栅格(DEM、强度图像),并对地面点进行分类或过滤。WhiteboxTools 并非制图或空间数据可视化软件包,而是作为其他数据可视化软件(主要是地理信息系统)的分析后台。https://www.whiteboxgeo.com/

  • **MovingPandas:**是一个基于Python和GeoPandas的开源地理时空数据处理库,用于处理移动物体的轨迹数据。https://movingpandas.org/

北大西洋鲸鱼迁徙路线利用空间、时间和时空方法归纳轨迹

  • **Rasterio:**是一个基于 GDAL 和 Numpy处理地理空间栅格数据的Python库,它自动注册所有已知的 GDAL 驱动程序,以读取支持的栅格数据格式。https://github.com/rasterio/rasterio

  • Geemap: 基于Google Earth Engine进行交互式地理空间分析和可视化的Python软件包。https://geemap.org/

  • Awesome-GEE: Google Earth Engine相关python资源列表。https://github.com/opengeos/Awesome-GEE

    ====地球科学领域开源python包-2.md====


title: “地球科学领域开源python包 #2” published: 2024-01-10 description: “本文收集了地球科学领域常用的开源Python软件包,涵盖包括地球物理学、地球化学、地质学、气候科学、海洋科学等地球科学领域。这是该系列资源的第二篇推送。” image: “/images/地球科学领域开源python包-2/img_8f6be943.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#

本文收集了地球科学领域常用的开源Python软件包,涵盖包括地球物理学、地球化学、地质学、气候科学、海洋科学等地球科学领域。这是该系列资源的第二篇推送,第一篇内容在此处:地球科学领域开源python包#1

  • Verde**:** 是一个基于机器学习方法处理地形、点云、水深、地球物理等空间数据,并在二维表面上进行插值(即网格划分)的Python库。Verde 实现了与scikit-learn 库类似的接口,提供了经常与插值相结合使用的其他分析方法,如趋势去除、阻塞/窗口操作、交叉验证等!https://www.fatiando.org/verde

使用verde.BlockMean对数据进行去量化,并在插值过程中使用基于数据不确定性的权重

  • Harmonica**:** 是一个用于重力和磁力数据处理与建模的 Python 库。它包括常用的处理步骤,如计算布格和地形修正、还原到极点、向上延续、等效源等。还有用于基本几何形状的前向建模函数,如点源、棱镜和魔方。https://www.fatiando.org/harmonica

  • scikit-learn: 是一个开源的基于python语言的机器学习工具包。它通过NumPy, SciPy和Matplotlib等python数值计算的库实现高效的算法应用,并且涵盖了几乎所有主流机器学习算法。尽管 Scikit-learn 并非专门从事地理空间分析,但其多功能性已扩展到空间分析领域。Scikit-learn 可帮助建立用于空间预测、分类和聚类的机器学习模型,并结合空间特征以提高准确性。https://scikit-learn.org/

  • lidar: 是一个用于在数字高程模型(DEM)中划分地表凹陷的嵌套层次的Python软件包。它尤其适用于分析高分辨率地形数据,例如由光探测与测距(LiDAR)数据生成的 DEM。https://github.com/opengeos/lidar

  • GeoViews: 是一个可视化地理、气象和海洋数据的python库,基于HoloViews库构建,可用于构建灵活的多维数据可视化。GeoViews基于 Cartopy 库添加了一系列地理绘图类型,使用Matplotlib 或Bokeh软件包绘制。有了GeoViews,可以轻松处理大规模多维地理空间数据集,即时可视化其中的任何子集或组合,同时始终能够访问任何绘图背后的原始数据。https://geoviews.org/

  • Datashader: 高性能和可扩展地对海量数据进行可视化。Datashader 包含一些工具,只需几行代码就能以可组合的方式轻松创建这些管道。Datashader可以单独使用,但也可以作为绘图库的预处理阶段,使绘图库可以处理比原来大得多的数据集。datashader渲染可视化使用Numba以透明方式编译为机器代码,并使用Dask或CUDA在CPU或GPU上灵活分配。这种方法提供了一个高度优化的渲染管道,即使在普通PC上也能处理超大数据集。https://datashader.org/

  • Leafmap: 是一个用于在Jupyter环境中以最少的编码进行交互式制图和地理空间分析的Python软件包。它是geemap Python软件包的衍生项目,后者是专为与谷歌地球引擎(GEE)协同工作而设计的。然而,并非每个人都能访问GEE云计算平台。Leafmap就是为了填补非 GEE 用户的这一空白而设计的。它是一个免费开源的Python软件包,用户只需在Jupyter环境(如 Google Colab、Jupyter Notebook 和 JupyterLab)中进行少量编码,就能对地理空间数据进行分析和可视化。https://leafmap.org/====地球科学领域计算分析开源Julia软件包.md====


title: “地球科学领域计算分析开源Julia软件包” published: 2024-01-17 description: “本文选取9个用于地球科学领域科学计算、建模、数据分析和可视化相关的开源Julia软件包进行介绍。” image: “/images/地球科学领域计算分析开源Julia软件包/img_e0ad84eb.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#

Julia是一种高级通用动态编程语言,最初设计用于满足高性能数值分析和计算科学的需求。它的主要目标用户是数据科学家,统计学习者,和机器学习者。Julia语言的编程范式与其他流行语言(例如Python,C++,MATLAB)有很大不同,它强调的是通用性和性能。

Julia语言的特点包括卓越的性能,强大的基础库,容易上手,用户友好的界面。它可以轻松地集成R或Python等语言编写的库,大大提高工作效率。它的设计兼具 Matlab、Lisp、Mathematica、Ruby、Perl、R、Python 甚至 C 等其他编程语言的优点。Julia可以支持科学计算、机器学习、数据挖掘、大规模线性代数、分布式计算和并行计算等广泛的工作。

Julia软件包集合

Julia的社区和生态已经很完善,本文选取9个用于地球科学领域科学计算、建模、数据分析和可视化相关的开源Julia软件包进行介绍。

  • Oceananigans.jl

主要应用于在CPU和GPU上对非流体静力学和流体静力学Boussinesq方程进行有限体积模拟分析。使用它可以让简单的模拟变得容易,让复杂的、创造性的模拟成为可能。

https://github.com/CliMA/Oceananigans.jl

Deep convection in the ocean

海洋深层对流是一个将不同深度的水层混合在一起的过程。当密度高的水层覆盖在较浅的水层上时,就会发生对流。当海水冷却或海面盐度变高时,这一过程就会发生

Free ocean convection

自由对流又称对流,是浮力作用下的流体运动。当密度相对较大的流体位于密度相对较小的流体上方时,就会发生自由对流

对作用于分层海洋表面的强风应力以及从表面吸走热量的冷却通量进行理想化模拟。视频显示的是温度场,为直观起见,该域被切成两半。线图显示了水平平均温度曲线(右上角)、水平平均湍流动能(右中部)和水平平均浮力通量(或温度通量)。不寻常的周期棱镜色图用于显示表面冷却时的细节,以及受到内波扰动的不同温度层(isopycnals)

涡流通道

  • GeoStats.jl

是一个完全用 Julia 编写的地理空间数据科学和地理统计建模的可扩展框架。它由多个模块组成,用于高级几何处理、最先进的地质统计算法和复杂的地理空间数据可视化。

https://github.com/JuliaEarth/GeoStats.jl

  • SpeedyWeather.jl

支持全球光谱大气模型计算分析:

  • 不同的物理模型(气压涡度、浅水、原始方程干核和湿核)
  • 不同的空间网格(全网格和八面体网格、高斯网格和克伦肖-柯蒂斯网格、HEALPix、OctaHEALPix)
  • 不同的水平分辨率(T31 至 T1023 及更高分辨率,即使用线性、二次或三次截断的 400 公里至 10 公里分辨率)
  • 32 位单精度和 64 位双精度(16 位正在开发中)
  • 多线程,动力学为分层多线程,物理为网格点多线程(多处理正在开发中)
  • 不同的架构(X86 和 arm,GPU 正在开发中)

https://github.com/SpeedyWeather/SpeedyWeather.jl

浅水模型相对涡度

  • GMT.jl

通用制图工具(Generic Mapping Tools,GMT)是一个开放源码工具集合,用于处理地理和笛卡尔数据集(包括过滤、趋势拟合、网格划分、投影等),并制作 PostScript 插图,例如简单的 x-y 图到等值线图,并能转换为最常见的栅格格式(PNG、JPG、GeoTIFF 等)。虽然这是一个更适合地球科学的软件包,但它也可用于绘制二维和三维(透视,非体积)图形。

https://github.com/GenericMappingTools/GMT.jl

  • GeoMakie.jl

一个用于在给定地图投影上绘制地理空间数据的 Julia 软件包。

https://github.com/MakieOrg/GeoMakie.jl

全球海底光缆网络分布

  • ClimateTools.jl

一个气候科学常用工具集,其中包括气候场分析的基础知识,以及一些探索性技术。该工具包旨在简化从 netCDF 文件中分析气候模型输出的典型步骤,该文件遵循气候预测惯例,并可创建气候情景。

https://github.com/JuliaClimate/ClimateTools.jl

  • ShallowWaters.jl

一个类型灵活的 16 位浅水模型,采用能量和能量守恒平流方案以及类似于 Smagorinsky 的双谐扩散算子。示踪平流采用半拉格朗日平流方案。采用不同阶次和阶段的强稳定性 Runge-Kutta 方案,对连续性方程进行半隐式处理。边界条件为周期性(仅在 x 方向)或非周期性超滑移、自由滑移、部分滑移或无滑移。

https://github.com/milankl/ShallowWaters.jl

  • DIVAnd.jl

DIVAnd Variational Analysis in n dimensions. 可以对任意位置的观测数据进行 n 维变异分析/网格划分。观测数据将在 1、2、3 或更多维的曲线网格上进行插值/分析。https://github.com/gher-uliege/DIVAnd.jl

  • ArchGDAL.jl

此软件包旨在成为在 Julia 中使用 GDAL 的完整解决方案,其范围类似于 Python 的 SWIG 绑定以及 Fiona 和 Rasterio。它建立在 GDAL.jl 的基础之上,为 GDAL 提供了高级 API。

https://github.com/yeesian/ArchGDAL.jl


本公众号关于地球科学领域软件包的文章:


title: “地球观测数据可视化工具” published: 2024-01-20 description: “地球观测数据的可视化越来越重要,有助于提高人们对环境现象、极端天气事件和气候变化影响的认识。在当下围绕科学研究的误导和虚假信息日益泛滥的情况下,可视化对于科学成果的准确传播也很重要。本文介绍其中一部分地球观测数据的获取、应用和可视化工具。” image: “/images/地球观测数据可视化工具/img_5c2f60f6.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#

现代地球观测卫星提供的观测数据可以帮助我们了解地球系统的几乎所有方面,从陆地到海洋,从大气层到冰层,从短期天气到长期气候,卫星观测数据都能说明我们赖以生存的地球各部分的现状。地球观测数据的有效可视化越来越重要,有助于提高人们对环境现象、极端天气事件和气候变化影响的认识。另一方面,在当下围绕科学研究的误导和虚假信息日益泛滥的情况下,可视化对于科学成果的准确传播也很重要。

本文介绍其中一部分地球观测数据的获取、应用和可视化工具。

年平均气温异常(ERA5数据)

  • Sentinel Hub EO Browser

是一个免费、开源、基于网络的工具,允许用户浏览、下载、可视化和分析欧洲哥白尼计划的Sentinel-1/2/3/5P,Landsat 5/7/8/9,MODIS等卫星的数据。支持搜索感兴趣的区域,选择数据质量、时间范围或云层覆盖范围等标准,并对不同的数据进行比较分析

https://apps.sentinel-hub.com/eo-browser

  • MyOcean Pro

该平台汇聚集成了欧洲哥白尼计划约280种海洋数据产品,面向互联网提供数据查询、下载和可视化分析。

https://data.marine.copernicus.eu/viewer/expert

平台支持从提供的海洋数据产品目录中选择要素变量图层添加到数字地球上进行数据展示

点击地图上的任意位置可以绘制时间序列图、剖面图

  • IPCC Interactive Atlas

政府间气候变化专门委员会(IPCC)交互式地图集是一个制图工具,提供全球及区域观测数据和模型模拟数据交互式可视化分析。

https://interactive-atlas.ipcc.ch

  • Allen Coral Atla

是一个绘制和监测全球珊瑚礁的工具,ACA利用卫星图像和机器学习绘制了全球浅水珊瑚礁地图。其中,亚洲珊瑚礁局的数据集以5米像素的分辨率绘制了全球浅水珊瑚礁的底栖生境和地貌分区图。此外,ACA 还包括一个全球珊瑚礁范围产品,用于绘制更多珊瑚礁区域的地图。

https://allencoralatlas.org

珊瑚礁白化区域分布

  • NASA Earth Viewer

这是一款免费的交互式工具,可访问美国国家航空航天局(NASA)的全球卫星图像。Worldview使用OpenLayers作为地图库,也可从其他客户端获取图像。

  • 浏览和下载图像:用户可浏览1000多个卫星图像层并下载底层数据。
  • 创建快照和 GIF:用户可以创建快照和GIF动画,与他人分享。
  • 探索地球的过去:用户可以探索地球现在或近20年前的样子。

https://worldview.earthdata.nasa.gov

  • Himawari Earth Viewer

Himawari-8是一颗地球静止轨道卫星,主要搭载一个多光谱成像仪,在约 35,800公里的高度和约东经140.7°围绕地球运行,可捕捉亚太地区的可见光和红外图像。该系统是日本国家信息与通信技术研究所科学中心开发的实时天气预报系统。可通过 NICT 科学云上的WSDBank(世界科学数据库)访问图形和数据(观测后24小时)。


本公众号科学数据可视化相关的文章:


title: “地理空间数据三维可视化R软件包” published: 2024-01-26 description: “本文介绍一个利用高程数据、光线跟踪和阴影算法创建二维和三维地图及数据可视化效果的开源R软件包-rayshader。它可以根据高程数据生成逼真的三维地图,并输出视频和 gif 等图形来展示它们。” image: “/images/地理空间数据三维可视化R软件包/img_3f16132e.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#

地理空间数据或地理数据包括与地球表面上的位置相关的信息。它包括 GPS 坐标、地址、时间戳、分类以及与位置相关的其他类型信息,可以将对象、事件和其他真实世界的现象映射到由纬度和经度坐标标识的特定地理区域。

地理空间可视化是指使用地理空间数据创建可视化(如地图和 3D 模型)。科学家通常会将来自多个来源的数据结合起来,以创建某个位置的完整图片。例如,他们会将土质、水质和温度数据结合起来,以寻找具有最大产量潜力的农地。借助地理空间可视化,可以获得针对地球表面的特定主题、模式和趋势的深入了解。此类可视化可以洞察环境,揭示其对人类和自然生活的影响。地理空间可视化通常需要使用地理空间技术来创建交互式3D地图和图形。

本文介绍一个利用高程数据、光线跟踪和阴影算法创建二维和三维地图及数据可视化效果的开源R软件包-rayshader。它可以根据高程数据生成逼真的三维地图,并输出视频和 gif 等图形来展示它们。与二维热图或山丘阴影图像相比,rayshader生成的地图更容易解读。rayshader还支持将ggplot2对象转化为三维数据可视化效果。

  • 软件包安装
# To install the latest version from Github:# install.packages("devtools")devtools::install_github("tylermorganwall/rayshader")

如果使用Ubuntu操作系统,需要安装以下依赖包:

libpng-dev libjpeg-dev libfreetype6-dev libglu1-mesa-dev libgl1-mesa-dev pandoc zlib1g-dev libicu-dev libgdal-dev gdal-bin libgeos-dev libproj-dev
  • 使用示例
library(rayshader)
loadzip = tempfile() download.file("https://tylermw.com/data/dem_01.tif.zip", loadzip)localtif = raster::raster(unzip(loadzip, "dem_01.tif"))unlink(loadzip)
#转换为R矩阵:elmat = raster_to_matrix(localtif)
#使用desert渲染绘图:elmat %>% sphere_shade(texture = "desert") %>% add_water(detect_water(elmat), color = "desert") %>% add_shadow(ray_shade(elmat, zscale = 3), 0.5) %>% add_shadow(ambient_shade(elmat), 0) %>% plot_3d(elmat, zscale = 10, fov = 0, theta = 135, zoom = 0.75, phi = 45, windowsize = c(1000, 800))Sys.sleep(0.2)render_snapshot()

  • 可视化应用案例
  1. 高程数据可视化

模拟退火法可视化。随着 “温度 “的降低,随机波动(可使粒子摆脱局部最小值/最大值)也会降低,粒子就会采用爬坡法。无需梯度计算

2. 地形叠加水淹效果

2021年伊达Ida飓风造成的舒基尔河洪水

  1. 极地海冰面积变化可视化

  2. ggplot2对象转化为三维数据可视化效果

  3. 人口密度可视化

References:


本公众号关于数据可视化相关文章:


title: “地理空间数据分析可视化R软件包汇总” published: 2024-02-08 description: “R是一种专为数据科学和统计学设计的开源编程语言。用户围绕该语言建立了一个专业软件包社区,开发了很多面向不同应用领域数据处理、分析、可视化等需求的软件工具包。本文介绍部分应用于数据分析和可视化、数据集管理、地理空间分析等方面的R语言软件包。” image: “/images/地理空间数据分析可视化R软件包汇总/img_1be5520c.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#

R是一种专为数据科学和统计学设计的开源编程语言。用户围绕该语言建立了一个专业软件包社区,开发了很多面向不同应用领域数据处理、分析、可视化等需求的软件工具包。

本文汇总了部分应用于地理空间数据集管理、分析与可视化方面的R软件包,供参考。

  • rgee

是一个支持在R语言中调用Google Earth Engine API的工具包。R语言的强大统计分析能力结合GEE 的海量遥感数据处理能力,可以让用户在同一个工作流中应用R空间数据分析和GEE的遥感大数据处理能力。

https://github.com/r-spatial/rgee

  • rnaturalearth

是一个支持读取和下载Natural Earth数据的R软件包。该软件包功能包括提供 :

  • 访问预下载的 Natural Earth v4.1.0(2018 年 3 月)子集,该子集是世界制图中常用的矢量数据
  • 支持按国家和地区进行子集设置
  • 下载其他自然地球矢量和栅格数据
  • 从自然地球数据到rnaturalearth的简单、可复制和可持续的工作流程,可在新版本出现时进行更新
  • 与 “自然地球 “的命名规则保持一致,以便 rnaturalearth 的用户可以使用 “自然地球 “的文档资料

https://ropensci.github.io/rnaturalearth/

  • gdalcubes

该软件包用于对大型卫星图像数据集的分析变得更简单、更快捷、更直观和更具互动性。该软件包将数据表示为具有波段、时间、y 和 x 维度的常规栅格数据立方体,并隐藏了因不同空间分辨率、地图投影、数据格式和不规则时间采样而导致的数据复杂性。该软件包已成功用于处理来自Sentinel-2、Landsat、PlanetScope、MODIS和全球降水测量地球观测卫星的数据。

https://github.com/appelmar/gdalcubes

  • Leaftlet

Leaflet 是一个交互式地图开源JavaScript库。包括OpenStreetMap、Mapbox和CartoDB等软件都已将其集成到系统中。这个R软件包可以轻松地在R中集成和控制Leaflet地图。

  • Plotly

一个基于开源JavaScript图形库 plotly.js 创建交互式网络图形的R软件包。Plotly 的 R 图形库可制作出版物质量的交互式图形,包括折线图、散点图、面积图、条形图、误差条、箱形图、直方图、热图、子图、多轴图和三维(基于 WebGL)图表。

https://plotly.com/r/

  • Mapview

支持快速方便地创建空间数据的交互式可视化。它的主要目标是填补快速(非演示级)交互式绘图的空白,以检查和可视化研究空间数据的两个方面,即几何图形及其属性。它也可以被视为传单软件包的数据驱动 API,因为它会根据数据类型(点、线、多边形、栅格)自动渲染正确的地图类型。此外,它还使用了一些高级渲染功能,可以查看比 leaflet 大得多的数据。

https://r-spatial.github.io/mapview/

  • Scatterplot3d

用于在三维空间中可视化多元数据。它使用平行投影法生成三维空间中的散点图。并可以可视化数据的更高维度(四维、五维等),例如使用不同的颜色、符号类型或符号大小。

http://www.sthda.com/english/wiki/scatterplot3d-3d-graphics-r-software-and-data-visualization

  • ggplot2

是一个绘图软件包,可以根据数据帧中的数据绘制复杂的图形。它提供了一个程序界面,用于指定要绘制的变量、变量的显示方式以及一般的可视化属性。

https://ggplot2.tidyverse.org/

  • tmap

用来绘制空间数据分布可视化地理图。该软件包提供了一种灵活、基于图层且易于使用的方法来创建专题地图,如choropleths 和气泡图。创建地图的语法与 ggplot2 类似。https://r-tmap.github.io/tmap/

  • ggridges

是一个绘制山脊线图的R软件包。山脊线图是部分重叠的折线图,它能营造出山脉的外观。它们是可视化分布随时间或空间变化的一种便捷方法。

https://cran.r-project.org/web/packages/ggridges/vignettes/introduction.html

  • Streamgraph

流式图是一种堆叠区域图。它表示几组数值变量的变化情况。面积通常围绕中心轴显示,边缘采用圆角处理,以呈现流动的形状。

https://hrbrmstr.github.io/streamgraph/


本公众号相关内容推荐:


title: “地理空间深度学习python库:TorchGeo” published: 2024-09-02 description: “微软人工智能研究院与美国伊利诺伊大学厄巴纳-香槟分校的研究人员联合推出了TorchGeo,这是一个用于将地理空间数据集成到PyTorch深度学习生态系统中的Python库。” image: “/images/地理空间深度学习python库-TorchGeo/img_1c84649d.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#


几十年来,地球观测卫星、飞机以及最近的无人机平台一直在收集越来越多的地球表面图像。遥感图像包含有关季节性和长期趋势的信息,对于解决人类面临的一些最大挑战,包括气候变化适应、自然灾害监测、水资源管理和全球人口增长的粮食安全,具有不可估量的价值。从计算机视觉的角度来看,这包括土地覆盖制图(语义分割)、森林砍伐和洪水监测(变化检测)、冰川流动(像素跟踪)、飓风跟踪和强度估计(回归)以及建筑物和道路检测(目标检测,实例分割)等应用。通过利用深度学习架构的最新进展、更便宜、更强大的 GPU 以及 PB 级的免费卫星图像数据集,我们可以更接近于解决这些重要问题。

然而,数据采集方法的差异以及地理空间元数据的处理使得将深度学习方法应用于遥感数据变得复杂。例如,卫星图像通常包含红、绿、蓝之外的额外光谱波段,并且必须与其他可能具有不同坐标系统、边界和分辨率的地理空间数据源结合。

为了实现深度学习在遥感应用中的潜力,微软人工智能研究院与美国伊利诺伊大学厄巴纳-香槟分校的研究人员联合推出了TorchGeo,这是一个用于将地理空间数据集成到PyTorch深度学习生态系统中的Python库。

TorchGeo提供了多种基准数据集的数据加载器、用于通用地理空间数据源的可组合数据集、地理空间数据的采样器,以及适用于多光谱图像的变换。TorchGeo还是首个提供多光谱卫星图像(例如,使用Sentinel 2卫星所有波段的模型)的预训练模型的库,这使得在有限标记数据的情况下,进行下游遥感任务的迁移学习取得进展。

TorchGeo 旨在使机器学习专家可以轻松地处理地理空间数据,并且遥感专家可以探索机器学习解决方案。

TorchGeo的安装与使用示例#

TorchGeo 支持在不同的操作系统(Linux、macOS、Windows)上运行。它可以使用用户擅长的任何包管理器轻松安装,包括 pip、conda 和mamba。

$ pip install torchgeo

TorchGeo 的设计目标是拥有与 torchvision、torchtext 和 torchaudio 等其他 PyTorch 领域库相同的 API。如果用户已经在工作流程中使用 torchvision 处理计算机视觉数据集,则只需更改几行代码即可切换到 TorchGeo。

所有 TorchGeo 数据集和采样器都与 PyTorch DataLoader 类兼容,这意味着用户可以利用 PyTorch Lightning 等包装库进行分布式训练。

以下示例应用程序中,我们组合了 A) 来自 Landsat 8 的场景和 B) 农田数据层标签,即使这些文件位于不同的 EPSG 投影中。我们希望使用地理空间边界框作为索引,从这些数据集中采样补丁 C) 和 D)。许多遥感应用都涉及处理 地理空间数据集(具有地理元数据的数据集)。在 TorchGeo 中定义了一个GeoDataset类来表示这类数据集。每个GeoDataset不是由整数索引,而是由时空边界框索引,这意味着可以智能地组合覆盖不同地理范围的两个或多个数据集。在这个例子中展示使用 TorchGeo 处理地理空间数据以及从 Landsat 和农田数据层 (CDL) 数据的组合中采样小图像块是多么容易。首先,假设用户已经下载了 Landsat 7 和 8 图像。由于 Landsat 8 比 Landsat 7 具有更多的光谱波段,因此只使用这两颗卫星共有的波段。然后将通过取这两个数据集的并集来创建一个包含Landsat 7和8数据的所有图像的单个数据集。

from torch.utils.data import DataLoaderfrom torchgeo.datasets import CDL, Landsat7, Landsat8, stack_samplesfrom torchgeo.samplers import RandomGeoSampler
landsat7 = Landsat7(root=”…“)landsat8 = Landsat8(root=”…”, bands=Landsat8.all_bands[1:-2])landsat = landsat7 | landsat8

接下来,我们取这个数据集和 CDL 数据集的交集。我们想要取交集而不是并集,以确保我们只从同时拥有 Landsat 和 CDL 数据的区域采样。请注意,我们可以自动下载和校验 CDL 数据。另请注意,这些数据集中的每一个都可能包含不同 CRS 或分辨率的文件,但 TorchGeo 会自动确保使用匹配的 CRS 和分辨率。#

cdl = CDL(root="...", download=True, checksum=True)dataset = landsat & cdl

该数据集现在可以与 PyTorch 数据加载器一起使用。与基准数据集不同,地理空间数据集通常包含非常大的图像。例如,CDL 数据集由覆盖整个美国本土的单一图像组成。为了使用地理空间坐标从这些数据集中采样,TorchGeo 定义了许多采样器。在本例中,我们将使用一个随机采样器,它返回 256 x 256 像素的图像,每个时期返回1万个样本。我们还将使用自定义整理函数将每个样本字典组合成一个样本的 mini-batch。

sampler = RandomGeoSampler(dataset, size=256, length=10000)dataloader = DataLoader(dataset, batch_size=128, sampler=sampler, collate_fn=stack_samples)

这个数据加载器现在可以在用户正常的模型训练/评估流程中使用。

for batch in dataloader: image = batch["image"] mask = batch["mask"]
# train a model, or make predictions using a pre-trained model

许多应用程序需要根据像这样的地理空间元数据智能地组合数据集。例如,用户可能希望:

  • 组合多个图像源的数据集并将它们视为等效的(例如,Landsat 7 和 8)
  • 组合不同地理位置的数据集(例如,切萨皮克纽约州和宾夕法尼亚州)

这些组合要求所有查询都存在于至少一个数据集中,并且可以使用 UnionDataset 创建。

  • 组合图像和目标标签并同时从两者中采样(例如,Landsat 和 CDL)
  • 组合多个图像源的数据集以进行多模态学习或数据融合(例如,Landsat 和 Sentinel)

这些组合要求所有查询都存在于两个数据集中,并且可以使用 IntersectionDataset 创建。当您使用交集(&)和并集(|)运算符时,TorchGeo 会自动为您组合这些数据集。

TorchGeo升级至版本0.6.0#

近期,TorchGeo升级到了版本0.6.0,此次大型更新包含了新的数据集、基础模型等。具体来说,此次发布包含18个新数据集、15个新的Lightning数据模块(使得在给定数据集上训练/验证/测试模型变得简单),以及27个新的预训练模型(针对不同类型的地球观测数据进行专业化设计)。

  • AgriFieldNet Competition Dataset
  • Smallholder Cashew Plantations in Benin
  • Sentinel-2 Cloud Cover Segmentation Dataset
  • CV4A Kenya Crop Type Competition
  • Tropical Cyclone Wind Estimation Competition
  • Marine Debris Dataset for Object Detection in Planetscope Imagery
  • Rwanda Field Boundary Competition Dataset
  • South Africa Crop Type Competition
  • SpaceNet Datasets
  • Western USA Live Fuel Moistur

其中一个新模型DOFA(https://arxiv.org/abs/2403.15356)支持RGB、SAR、MSI和HSI,且可以处理任意数量的光谱波段。这与TorchGeo的RasterDatasets的灵活性相结合,使用户几乎可以开箱即用地测试预训练模型在他们的下游应用中的表现。

新版本数据、预训练模型与代码:

本公众号相关内容推荐#


title: “基于Transformer+AIS的全球实时船舶行为分析开源AI模型” published: 2025-04-29 description: “点击下面卡片,快速关注本公众号美国非营利组织人工智能研究所(AI2)近期推出了一套名为Atlantes的开源” image: “/images/基于Transformer-AIS的全球实时船舶行为分析开源AI模型/img_e81a58bd.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#

美国非营利组织人工智能研究所(AI2)近期推出了一套名为Atlantes的开源深度学习系统。该系统利用船舶自动识别系统(AIS)产生的GPS数据,对全球范围内的船舶行为进行实时分析。Atlantes的核心是名为ATLAS的定制Transformer架构,能够高效处理海量GPS信息流,精准、快速地识别船舶类型及其活动状态(例如捕鱼、航行或抛锚)。这一技术为打击非法、未报告和无管制(IUU)捕鱼等非法海上活动提供了有力的决策支持。目前,相关的模型、代码及部署容器均已在github开放。

这张地图展示了2023年全年广播的所有AIS消息,总计达147亿条,数据量超过5TB。图中的全球AIS数据通过颜色编码区分不同的船舶类别,以此可视化全年的海上活动。

全球AIS数据传输示意图

引言#

在全球尺度上监控海上活动是一项艰巨的任务,挑战主要源于庞大的船舶数量和随之产生的海量数据。AIS系统虽然能提供数十万艘船舶持续发送的GPS信息(包含经纬度及时间戳),为我们洞察船舶行为提供了丰富的数据基础,但如何从这些原始轨迹数据中实时、准确地解读出具体的船舶活动,则需要更为先进的分析工具。正是为了应对这一挑战,AI2开发了Atlantes 系统。该系统旨在从庞杂的AIS数据中提炼出有价值的船舶行为信息,现已成功应用于Skylight海事情报平台,并以开源项目的形式向公众开放。Atlantes的出现,标志着深度学习技术,特别是Transformer模型,在地理空间轨迹分析领域取得了重要突破。


                 该模型现已成功应用于Skylight海事情报平台

模型架构#

Atlantes直接处理原始的AIS GPS消息序列,能够应对每年高达数十亿条信号的庞大数据量(仅2023年就超过5TB)。系统的核心技术是ATLAS架构,其关键组成部分包括:

  • • **连续点嵌入 (CPE) 层:**负责处理原始且连续的 GPS 坐标和时间戳数据。
  • • **一维卷积神经网络 (CNN) 层:**用于从嵌入后的序列数据中提取局部的时空特征。
  • • **Transformer编码器层:**采用定制的Transformer模型处理上述特征,对船舶的轨迹和行为进行时序建模,有效捕捉复杂的行为模式和依赖关系。


模型学习如何连续地表示每条AIS消息周围的时空变化

该系统基于监督学习范式进行训练,训练数据包含了超过1500万条由资深海事分析专家逐一标注的GPS消息。研究团队开发了两个核心模型:

  1. 1. 实体分类模型: 用于区分GPS信号是来自船舶还是固定的浮标。
  2. 2. 活动分类模型: 将船舶的行为状态细分为航行、捕鱼、抛锚、停泊或其他等具体类别。

模型能力与性能表现#

Atlantes在实时分析方面表现出色,具备以下显著优势:

  • • **处理速度:**系统能够达到每秒28次活动分类的处理速度,完全满足实时监控的需求。
  • • **分类精度:**模型的准确率很高,实体分类准确率达到97.5%。活动分类的整体准确率为71%,尤其在识别捕鱼活动方面,准确率高达90%。这一性能已接近人类专家的水平(经评估,专家间标注一致性约为85%)。
  • • **数据效率:**模型设计精良,只需利用较短的历史轨迹数据,甚至有时仅凭最新的AIS GPS消息和少量近期数据,就能有效推断出船舶的行为模式。

应用场景#

Atlantes为众多海事应用领域带来了重要的价值:

  • • **打击IUU捕鱼:**通过实时、准确地识别捕鱼行为,Atlantes 能有效协助相关部门发现并阻止非法捕鱼活动。
  • • **提升海域态势感知:**为海上安全监控提供更清晰、全面的船舶动态及行为画像。
  • • **异常行为检测:**有助于识别需要进一步关注的异常船舶活动。
  • • **港口物流与规划:**通过分析船舶的航行与停泊规律,为港口运营和物流规划提供数据支持。

Atlantes已集成到了AI2的Skylight平台,充分证明了其在实际业务环境中的应用价值。

开源共享与访问方式#

Atlantes项目已在GitHub上开源。开源内容包括:

  • • 用于实体分类和活动分类的预训练模型权重。
  • • 完整的模型训练与推理源代码。
  • • 与生产环境一致的Docker容器镜像,极大地简化了部署和环境复现工作。

模型代码配置与运行#

若想使用Atlantes的开源模型与代码,可以参照以下步骤:

    1. 克隆代码库
  • 首先,从GitHub克隆项目代码。

    git clone https://github.com/allenai/atlantes.git
    cd atlantes
    1. 配置环境
  • •参照requirements.txt文件安装所需的Python依赖库。强烈建议在虚拟环境中进行安装。

    pip install -r requirements.txt
  • • 若有计划贡献代码,建议安装pre-commit钩子,以保证代码风格的统一和质量:

    pip install pre-commit
    pre-commit install
    1. 项目代码结构
  • • ais/: 包含 AIS 数据处理相关的脚本和工具。
  • • src/atlantes/: 存放 Atlantes 模型的核心实现逻辑。
  • • data/: 用于存放 AIS 相关数据文件(通常需要用户自行准备数据,或下载项目方可能提供的特定数据集)。
  • • tests/: 包含项目的单元测试和集成测试代码。
    1. 模型应用(推理/训练):
  • • 可以直接加载预训练模型权重进行推理预测。
  • • 代码库提供了在新的 AIS 数据上运行推理任务所需的脚本。
  • • 同时也支持模型的重新训练,方便用户在自有数据集上进行微调或开展新的架构实验。
  • • 查阅具体说明: 关于如何执行特定任务(如数据预处理、运行推理、启动训练等)的详细操作指南,请务必查阅各子目录(如 ais/src/atlantes/)下的 README 文件。这些文件通常会提供具体的命令行示例和使用说明。
  • • 利用Docker容器: 用户可以方便地使用项目提供的 Dockerfile 和容器镜像,快速搭建一个与生产环境一致的运行环境,有效解决依赖管理和部署难题。

该项目代码遵循了较高的开发标准,例如强制静态类型检查 (mypy) 和文档覆盖率要求,这无疑降低了研究和开发人员的接入门槛,并鼓励社区参与贡献。

References#

本公众号相关内容推荐#


title: “基于xarray扩展的开源地图可视化Python库” published: 2024-12-19 description: "" image: “/images/基于xarray扩展的开源地图可视化Python库/img_057924f6.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#

****#

在数据科学领域,地图可视化是理解地理空间数据的重要方式。然而,当数据量变得非常大时,传统的可视化方法往往难以实现可视化功能。本文将介绍两个基于 xarray 扩展的开源Python库:xarray-leaflet和xtrude,它们分别针对二维和三维地图可视化提供了高效的解决方案。这两个库充分利用了前端的切片技术以及 xarray 的数据处理能力,使其能够轻松处理存储在云端或本地的大型数据集。

xarray-leaflet:二维切片地图数据可视化#

xarray-leaflet 是一个基于ipyleaflet(以及底层的 LeafletJS)的xarray扩展库,专为 二维地图可视化而设计。它允许用户通过xarray对象直接绘制地图,并具备以下特性:

  • 切片渲染: xarray-leaflet的核心思想是“切片渲染”。在Web地图中,地图通常会被分割成许多小的瓦片(tiles),每个瓦片通常为256x256像素。xarray-leaflet 会根据地图的当前视图,向后端请求必要的瓦片数据。这种方式可以避免一次性加载所有数据,显著提升渲染效率,尤其是在处理大数据集时。
  • 自定义投影: xarray-leaflet支持自定义地图投影,这使得它可以处理各种不同类型的空间数据。虽然库默认使用的Web Mercator (EPSG:3857)投影在很多情况下已经足够,但有时我们需要使用特定的投影方式,例如,极地地区的EPSG:3413投影。自定义投影功能使得xarray-leaflet可以更加灵活地应对不同的地理场景。
  • 数据处理管道: xarray-leaflet提供了一个灵活的数据处理管道,可以对数据进行各种转换。该管道包含以下几个阶段:
  • transform0: 对整个xarray数据集进行操作,常用于数据的全局归一化处理,将数值范围调整到0到1之间。
  • transform1: 对当前地图视图可见的数据部分进行操作,用于动态调整显示效果。
  • transform2: 对每个瓦片的数据进行预处理,例如,数据降采样以适应瓦片的大小。
  • transform3: 对每个瓦片的数据进行最终处理,例如,应用样式或颜色映射。
  • 动态和静态模式: xarray-leaflet支持动态和静态两种模式。动态模式下,地图会根据缩放级别和视角位置动态加载和更新瓦片数据,提供更为流畅的交互体验。静态模式下,地图则会保持相对不变,渲染效率更高。
  • Dask 集成: xarray-leaflet与Dask集成,可以利用Dask的惰性计算能力,实现并行处理瓦片数据,进一步提升处理效率。这对于处理大型数据来说至关重要。
  • Zarr 支持: 如果数据以Zarr格式存储,xarray-leaflet可以直接读取Zarr文件,而无需将所有数据加载到内存中。

链接地址:https://github.com/xarray-contrib/xarray\_leaflet

安装方法:

使用 pip 安装#

pip install xarray_leaflet

使用 conda 安装#

conda install xarray_leaflet

xtrude:三维地形数据可视化#

xtrude是xarray-leaflet的3D版本,它基于pydeck (以及底层的deck.gl) 实现3D地形可视化。与xarray-leaflet相似,xtrude也利用了切片技术和xarray的数据处理能力,可以高效地渲染大型三维地形数据。其主要特性包括:

  • 3D瓦片渲染: xtrude使用与xarray-leaflet类似的切片渲染方式,将地形数据分割成瓦片,并根据视角位置动态加载。
  • 高度数据支持: xtrude接受xarray的DataArray作为高度数据(DEM),并将其渲染成 三维地形。
  • 表面纹理: 除了地形高度,xtrude还支持添加表面纹理,例如,卫星影像或其它类型的栅格数据。这使得用户可以更好地理解地形信息。
  • Jupyter Notebook 集成: xtrude与Jupyter Notebook集成良好,用户可以在Notebook中直接交互式地探索三维地形数据。
  • Zarr 支持: xtrude同样可以利用Zarr存储数据,实现处理大规模数据。

链接地址:https://github.com/davidbrochart/xtrude

安装方法:

使用 conda 安装#

conda install -c conda-forge xtrude

使用 pip 安装#

pip install xtrude

xarray-leaflet和xtrude扩展了xarray的功能,使得用户可以更方便地进行大型地图可视化。它们的核心优势在于切片渲染以及与并行处理库Dask的集成,这使得它们可以高效处理大规模的数据。这两个库不仅为地图可视化提供了一种新的思路,也进一步体现了xarray在空间数据处理方面的潜力。

本公众号相关内容推荐#


title: “处理和可视化地理空间数据的Python库:EarthPy” published: 2024-09-04 description: “本文介绍能够简化处理和可视化空间栅格和矢量数据过程的Python包:EarthPy。EarthPy建立在Rasterio、GeoPandas和Matplotlib等成熟库之上,为地理空间数据操作提供了直观的接口。” image: “/images/处理和可视化地理空间数据的Python库-EarthPy/img_580cb4ad.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#


地理空间技术是指使用地理信息系统(GIS)、遥感、全球定位系统(GPS)和其他地理空间数据和工具来捕捉、分析和可视化有关地球表面物理特征和特性的信息。地理空间技术的出现彻底改变了我们分析和解读地球表面的方式。另一方面,在地理空间数据日益丰富的背景下,开发高效且用户友好的数据分析工具的需求变得至关重要。

本文介绍能够简化处理和可视化空间栅格和矢量数据过程的Python包:EarthPy。EarthPy建立在Rasterio、GeoPandas和Matplotlib等成熟库之上,为地理空间数据操作提供了直观的接口。

EarthPy的主要功能#

  • 数据处理与可视化:EarthPy简化了栅格和矢量数据的加载、处理和可视化。它提供了易于使用的函数,支持数据标准化、阴影计算和空间范围计算等常见任务,这些功能对于环境科学研究尤为重要。

  • 遥感数据分析:EarthPy允许用户查看遥感图像中单个波段的直方图和图形,以探索数据校准和质量问题。此外,它能够创建具有独特符号的底图、绘制带有颜色条的图像以及渲染多波段光谱遥感图像。

  • 教育与教学:EarthPy被广泛应用于教育领域,特别是在教授学生如何使用开源Python工具处理地球和环境数据时。它的**io**模块简化了教学数据的下载过程,支持课堂上工作流程的可重复性。

  • 空间分析:支持输入/输出、掩膜处理、绘图和空间分析等功能,使得用户能够高效地执行地理空间数据操作。提供了高效的平台,使研究人员能够快速进行空间数据探索和清理。集成了GeoPandas和Rasterio的功能,使得用户能够在一个包中处理矢量和栅格数据。

EarthPy的应用领域#

EarthPy在环境科学、城市规划和地球观测等领域有广泛的应用。例如:

  • 生态学研究人员使用EarthPy进行栖息地制图和物种分布建模。
  • 在城市规划中,它有助于分析土地利用模式和基础设施发展。
  • 在地球观测领域,它在处理卫星图像方面发挥着关键作用,应用于灾害管理、资源勘探和气候变化研究等领域。

EarthPy的一个重要方面是它对不同编程水平的用户都很友好。该库简单明了的语法,加上详细的文档和教程等丰富的在线资源,大大降低了初学者的入门门槛。对于高级用户来说,EarthPy提供了强大和灵活性,使其成为复杂地理空间分析的有价值工具。EarthPy为环境科学、城市规划和地球观测等领域提供了强大的数据分析工具,支持研究人员更好地理解和分析地球系统。它的简单易用的接口和丰富的功能,使得这些领域的科研人员能够更高效地处理和可视化地理空间数据。

EarthPy的使用示例#

EarthPy能够与数据科学工具如Pandas、NumPy和Scikit-learn无缝集成,这意味着用户可以将地理空间数据纳入更广泛的数据分析工作流程中。这种互操作性对于需要结合空间和非空间数据分析的多学科项目至关重要。

使用pip安装EarthPy:

pip install earthpy

1. 加载和可视化DEM数据

该示例展示EarthPy进行复杂的数据分析,包括处理多波段栅格数据、对栅格数据进行计算,以及与其他地理空间Python库集成以实现高级地理空间工作流程。

import osimport matplotlib.pyplot as pltimport earthpy as etimport earthpy.plot as epimport rioxarray
# Download sample datadata = et.data.get_data('colorado-flood')
# Set working directory to earthpy data directoryos.chdir(os.path.join(et.io.HOME, 'earth-analytics', 'data'))
# Define path to filedem_pre_path = os.path.join("colorado-flood", "spatial", "boulder-leehill-rd", "pre-flood", "lidar", "pre_DTM.tif")
# Read the data using rioxarraydem_pre = rioxarray.open_rasterio(dem_pre_path, masked=True).squeeze()
# Plot DEMfig, ax = plt.subplots(figsize=(10, 6))ep.plot_bands(dem_pre, cmap='terrain', title="Lidar Digital Elevation Model (DEM) \n Boulder Flood 2013", ax=ax)plt.show()

该脚本显示了美国科罗拉多州博尔德地区发生洪水前的激光雷达数字高程模型(DEM)地图。

2. 可视化LandSat8波段数据

Landsat8数据集有7个波段。本文使用EarthPy包中内置的plot_bands方法绘制这些波段。plot_bands方法支持根据自定义标题进行可视化绘制。可以通过使用“title=”参数传递一个包含每个图像唯一标题的列表来实现。

import earthpy as ep
ep.data.path = "."ep.data.get_data('colorado-flood')
im = epp.plot_bands(arr_st, cmap='RdYlGn', figsize=(12, 12))
plt.show()

输出结果如下图:

3. 绘制高光谱图像波段直方图

可视化高光谱图像数据集的波段有助于我们理解波段值的分布。本文使用earthpy.plot的hist方法绘制波段直方图,还可以修改每个直方图的列大小、标题和颜色。

import earthpy.plot as epp
data = ep.data.get_data('vignette-landsat') landsat_path = glob("vignette-landsat/LC08_L1TP_034032_20160621_20170221_01_T1_sr_band*_crop.tif")landsat_path.sort()
# Stacking Bandsarr_st, meta = es.stack(landsat_path, nodata=-9999)
colors = ['tomato', 'navy', 'MediumSpringGreen', 'lightblue', 'orange', 'maroon', 'yellow']
epp.hist(arr_st, colors = colors, title=[f'Band-{i}' for i in range(1, 8)], cols=3, alpha=0.5, figsize = (12, 10), )
plt.show()

4. 计算和分类归一化植被指数(NDVI)

归一化植被指数(NDVI)通过测量近红外光(植被强烈反射)与红光(植被吸收)的差异来量化植被。

# Landsat 8 red band is band 4 at [3]# Landsat 8 near-infrared band is band 5 at [4]
ndvi = es.normalized_diff(arr_st[4], arr_st[3])
titles = ["Landsat 8 - Normalized Difference Vegetation Index (NDVI)"]
epp.plot_bands(ndvi, cmap="RdYlGn", cols=1, title=titles, vmin=-1, vmax=1, figsize=(10, 10))
plt.show()

基于高光谱图像数据,NDVI的计算结果被划分为不同的类别。0以下的值将被归类为无植被。将为裸露区域和低、中、高植被区域创建其他类别。

ndvi_class_bins = [-np.inf, 0, 0.15, 0.23, 0.6, np.inf]
ndvi_landsat_class = np.digitize(ndvi, ndvi_class_bins)
# Apply the nodata mask to the newly classified NDVI datandvi_landsat_class = np.ma.masked_where(np.ma.getmask(ndvi), ndvi_landsat_class)
np.unique(ndvi_landsat_class)
nbr_colors = ["gray", "y", "yellowgreen", "g", "darkgreen"]nbr_cmap = ListedColormap(nbr_colors)
# Define class namesndvi_cat_names = [ "No Vegetation", "Bare Area", "Low Vegetation", "Moderate Vegetation", "High Vegetation",]
# Get list of classesclasses = np.unique(ndvi_landsat_class)
classes = classes.tolist()
# The mask returns a value of none in the classes. remove thatclasses = classes[0:5]
# Plot the datafig, ax = plt.subplots(figsize=(10, 10))
im = ax.imshow(ndvi_landsat_class, cmap=nbr_cmap)
epp.draw_legend(im_ax=im, classes=classes, titles=ndvi_cat_names)
ax.set_title( "Landsat 8 - Normalized Difference Vegetation Index (NDVI) Classes", fontsize=14,)
ax.set_axis_off()
# Auto adjust subplot to fit figure size
plt.tight_layout()

EarthPy在简化了使用Python进行地理空间数据分析的流程。它的易用性结合强大的数据处理和可视化能力,使其成为地理空间分析领域不可或缺的工具。随着地理空间数据的数量和种类不断增长,像EarthPy这样的工具将在地球观测和分析方面发挥关键作用。

本公众号相关内容推荐#


title: “大气海洋科学数据可视化案例集#1” published: 2024-01-16 description: “本文收集了72个大气海洋科研领域数据可视化案例,主要是动画视频的形式可视化呈现大气环流、海洋环境要素数据、大气海洋模式等过程和数据产品。” image: “/images/大气海洋科学数据可视化案例集-1/img_a0857b59.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#

点击下面链接卡片,快速关注本公众号

本文收集了72个大气海洋科研领域数据可视化案例,主要是动画视频的形式可视化呈现大气环流、海洋环境要素数据、大气海洋模式等过程和数据产品。所有视频都是基于观测数据或数值模拟数据的无声动画,大多数视频长度不到两分钟。希望本案例集能帮助您提升大气海洋科学领域数据可视化技能,并为您的科研工作提供支持和参考。这是本系列案例集的第一部分内容。

  • 全球陆地表面温度

基于MODIS卫星图像反演得到的2000年2月至2013年年中的每月白天陆地表面温度。此处显示的测量值代表白天陆地表面 “表皮”(或顶部 1 毫米)的温度,包括裸露土地、冰雪覆盖层,与地表空气温度可能有很大不同。黄色表示最热的温度(45°C),浅蓝色表示最冷的温度(<-25°C)。

  • 全球海表温度

该可视化展示全球2016-2020年的全球海表温度变化情况,描绘了海洋在大气总环流中的作用。可视化视频中显示了暖池、西边界流、带有缓慢演变的涡旋和蜿蜒的SST锋面、赤道冷舌、热带不稳定波、沿岸上升流等海洋过程现象。

  • 陆地植被和海洋生物圈演变

接下来的两段视频展示了NASA海洋观测宽视场传感器卫星(SeaWIFS,1997-2010 年)拍摄的陆地和海洋生物圈的演变过程。在陆地上,图像显示的是归一化植被指数(NDVI);在海洋上,图像显示的是生物量的测量值-颜色,深蓝色表示最清澈的水域(即生物荒漠),多位于太平洋、大西洋和南印度洋的副热带环流区。所有这些 “生物荒漠”的总面积约占地球表面的40%。近十年来的观测发现,全球海洋生物荒漠的面积正在不断扩大,并且远远超过全球变暖模型预测的结果。陆地上的显著特点包括热带雨林中终年茂盛的植被,以及其他地方植被的地理季节性。在海洋上,深蓝色的副热带反气旋是全年的显著特征。赤道上升流以狭窄的绿色带表示,大部分时间出现在东太平洋和中太平洋,在大西洋则时断时续。沿岸上升流带十分明显,尤其是在各大洲的西海岸。在一些河流的入海口可以看到持续的高生物量区。

  • 数值模拟地形激发重力波

该视频中左侧面板为山地纬度地带风扰动的垂直截面图,右侧为65公里水平地带风扰动图。左侧中的潜在温度面用等值线表示,图中的彩色阴影与带状风扰动相对应。波浪从地球表面的源头向上发散,每增加2个尺度高度就会放大 e 倍。当波幅达到足够大时,它们会分解成更小的尺度特征,气流变得越来越复杂。右侧面板中的水平气流类似于卫星图像中船只的尾流和孤立山脉下游低云层的扰动。请注意波浪是如何向上游和下游传播的,而群速度则是直接向上的。

  • 大气气溶胶

大气气溶胶按色调分类:尘埃(橙色)、烟雾(红色)、有机碳/黑碳(绿色)和硫酸盐(白色),以其消光气溶胶光学厚度显示。水蒸气显示为暗淡的白色。全球圆柱投影。覆盖 4 个多月的时间(2018年8月5日至2020年1月)。

  • 大气一氧化碳浓度

可视化展示全球2006年12月的每小时一氧化碳浓度。浓度范围从浅蓝色(最低)到黑色(最高)。请注意从工业区和农业焚烧区喷出的清晰烟羽中的零星出口。

  • 全球降水量

该可视化基于GEOS5数据同化系统2006 年4月至7月的每小时数据。根据卫星遥感红外图像推断的云层显示为白色,展示了热带大气环流背景下的柱状水汽场。

  • 极地海冰面积变化

该可视化展示了2019-2021年南半球和北半球的冰雪覆盖变化情况。时间步长约为 5 天。

  • 北极漂流浮标轨迹

该可视化国际北极浮标计划数据,展示1979-2022年的漂流浮标的轨迹,用红色圆圈和蓝色尾巴表示,与海冰的部分区域覆盖率叠加,用阴影表示(白色冰覆盖,深蓝色无冰)。====大气海洋科学数据可视化案例集-2.md====#

title: “大气海洋科学数据可视化案例集#2” published: 2024-02-06 description: “本文收集了大气海洋科研领域数据可视化案例,主要是动画视频的形式可视化呈现大气环流、海洋环境要素与现象等。” image: “/images/大气海洋科学数据可视化案例集-2/img_b3645788.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#

本文收集了大气海洋科研领域数据可视化案例,主要是动画视频的形式可视化呈现大气环流、海洋环境要素与现象等。这是第二篇推送,第一篇内容请点击大气海洋科学数据可视化案例集#1查看。

  • 全球海表面高度异常

该动画展示了1997年和2015年卫星测高仪观测的海表高度异常数据变化情况,在东太平洋赤道附近,沿赤道延伸的海平面一年中的升高,被一些暖水向东的涌动所打破,这些涌动可归因于赤道Kelvin波的传播。1997年和2015年发生了厄尔尼诺事件。

  • 全球海表温度异常

可视化数据来源于NOAA OISST v2。该动画展示了1982年至2017年的全球月平均海表温度异常数据,结合Nino 3.4的时序演变相结合,可以看到厄尔尼诺和拉尼娜期间对比鲜明的海温模式,充分论证了ENSO的存在。

  • 全球海表盐度

该动画展示了2011年9月至2021年8月的全球海表面盐度的季节变化情况。可以看到,恒河、亚马逊、刚果、圣劳伦斯等大河系统的变化情况明显。孟加拉湾相对淡水区域的水块向西流入印度南部,进入盐度较高的阿拉伯海。

  • 地表以上3m温度变化

由于地表存在昼夜变化和与地形有关的准静止特征,锋区在陆地上很难追踪。然而,可以辨认出一些明确定义的冷锋区,例如1月10日至12日位于黑海北部。在海洋上,模式较为简单,但它们较弱,因为3米温度从未偏离基础海温超过几度。

  • 极向涡旋热输运

可视化时间为2022年12月1日至2023年1月3日。在此期间,大西洋和太平洋风暴路径上发展了许多气旋。较暖的气流持续向极地移动,而较冷的气流则向赤道移动,导致了极向涡旋热输运。极向涡旋热输运是大气中能量传递的一种方式。在台风形成和发展过程中,海洋表面的热量被蒸发并释放到大气中,形成暖湿气流。这些能量丰富的气流可以通过极向涡旋热输运向极地方向传递,影响大气环流。

  • 海洋中尺度涡旋

海洋中尺度涡旋是一种在海洋中形成的中等尺度的旋涡结构。这些涡旋通常具有直径几十到几百千米的范围,相对于更大的洋流和更小的湍流结构而言,它们处于中等尺度的范畴。中尺度涡旋的形成和演变通常与复杂的海洋动力学和气象过程有关。中尺度涡旋的形成通常涉及到海洋中的潜在能量。这些涡旋可能由于潜在的位能和温度差异引起的不稳定性而产生,也可能受到风场的影响。中尺度涡旋对海洋环流产生显著影响。它们可以在水平和垂直方向上传输质量、能量和其他物质,对海洋中的温度、盐度和生物活动产生影响。中尺度涡旋的存在可以影响海洋生态系统。它们可能导致携带富营养物质的上升流,并在涡旋边缘形成生态位,影响浮游生物的分布。

  • 南大洋温度场

南大洋状态估算(SOSE)是根据南大洋观测数据的最佳拟合模型生成的。因此,它为南大洋的平均状态提供了一个有用的定量气候学。SOSE 是 MITgcm 的一个解决方案。SOSE 是水平分辨率为 1/6 ° 的网格数据集,时间步长从每天到每年不等。使用的观测数据包括 Argo 浮漂剖面图、船上 CTD 测量数据、各种系泊数据、海面高度和海冰的卫星测量数据等。


本公众号相关内容推荐:


title: “大规模空间矢量数据可视化Python库-lonboard” published: 2024-01-12 description: “lonboard基于GeoArrow 和 GeoParquet 等技术,使用GPU地图渲染技术,能够通过简单的界面实现大型地理空间数据集的交互式可视化。” image: “/images/大规模空间矢量数据可视化Python库-lonboard/img_809c646a.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#

数据可视化,尤其是交互式数据可视化,往往是从数据中提取有意义见解的第一步。然而,在不遇到系统崩溃或延迟的情况下呈现大型数据集是一项挑战。在Jupyter环境中,使用常用的python可视化库对大规模地理空间矢量数据进行快速交互式可视化依然比较困难。例如,ipyleaflet 和Folium适合小数据集,随着数据量的增加,它们的性能很快就会受到影响。pyDeck 支持稍大的数据集,但在数据量超过十万个坐标后也很吃力。GeoPandas 绘制的是静态图像,失去了交互性的优势。

本文介绍一个用于在Jupyter中实现快速、交互式地理空间矢量数据可视化的 Python 库-lonboard。lonboard基于GeoArrow 和 GeoParquet 等技术,使用GPU地图渲染技术,能够通过简单的界面实现大型地理空间数据集的交互式可视化。在一个有 300 万个点的数据集上,ipyleaflet在 3.5 分钟后崩溃,pydeck 在 2.5 分钟后崩溃,但 lonboard 在 2.5 秒内就成功渲染了。不仅所有 300 万个点都会同时呈现在地图上,而且每个点都有不同的颜色和半径,这两种颜色和半径都是通过属性列计算得出的。计算这些颜色和半径、将数据集从 Python 移植到浏览器,以及将其渲染到屏幕上仅需 2.5 秒。Lonboard 速度如此之快,是因为它更高效地将数据从 Python 传输到 JavaScript(浏览器),然后再从 JavaScript 传输到图形处理器(GPU)。其他用于交互式地图的 Python 库将数据编码为 GeoJSON,然后从 Python 复制到浏览器。GeoJSON 的读写速度非常慢,导致必须将一个非常大的数据文件复制到浏览器。

Lonboard 基于四项基础技术构建:deck.gl、GeoArrow、GeoParquet 和 anywidget。在lonboard中,整个管道都是二进制的。在 Python 中,从 GeoPandas 到 GeoArrow 再到 GeoParquet,避免了像 GeoJSON 那样的文本编码,从而产生了一个压缩的二进制缓冲区,可以高效地复制到浏览器。在 JavaScript 中,GeoParquet 到 GeoArrow 提供了高效的解码(在 WebAssembly 中)。然后,deck.gl 可以直接解释 GeoArrow 表的原始二进制缓冲区,而无需进行任何解析。lonborad地址:https://github.com/developmentseed/lonboard以下是使用lonboard形成的可视化demo:**1150万建筑物数据可视化****DuckDB和lonboard集成,轻松查询和可视化大型矢量数据集**纽约市一年的车辆碰撞情况,半径由行人和骑车人受伤人数决定,并按一天中的时间着色​**亚洲的河流数据**

美国2009-2013年人口迁徙数据====大语言模型在基因组学中的应用.md====#

title: “大语言模型在基因组学中的应用” published: 2023-11-27 description: “论文全面回顾了基于Transformer架构的大型语言模型(LLM)在基因组学中的变革作用,探讨了Transformer和其它基因组学大型语言模型的优势和局限性,为对基因组数据大语言模型感兴趣的计算生物学家和计算机科学家提供了指导。” image: “/images/大语言模型在基因组学中的应用/img_15387ea1.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#

这篇综述文章题为“To Transformers and Beyond Language Models for the Genome“,由来自加拿大、美国、德国的科研人员共同完成。论文全面回顾了基于Transformer架构的大型语言模型(LLM)在基因组学中的变革作用,探讨了Transformer和其它基因组学大型语言模型的优势和局限性以及未来基因组数据分析和研究模式的转变方向,为对基因组数据大语言模型感兴趣的计算生物学家和计算机科学家提供了指导。论文还根据当前的研究趋势,展望了未来基因组建模技术超越Transformer架构的可能性。

     论文讨论了Transformer在基因组建模中的应用,强调了LLMs在应对基因组学复杂计算挑战方面的潜力以及LLMs在不断发展的基因组研究领域中的重要性。论文介绍了捕捉基因组信息的新技术的使用,如染色质可及性、甲基化、转录状态、染色质结构和结合分子,这些信息提供了大量可挖掘的各种全局数据源。

      基因组 LLM 是 Transformer 混合模型,能够处理序列数据和非序列数据。它可以提取信号来预测功能区、识别单个 DNA 序列中的致病 SNP、估计基因表达等。

    论文还讨论了Transformer中的自我注意力和微调机制,以及 “Hyena”层的使用。“Hyena”层是注意力的次四元替代物,由隐含参数化的长卷积和数据控制的门控组成。另一方面,Transformer的注意力分数(attention scores)已被提出作为基因组学中深度学习模型黑箱性质的可解释性解决方案。然而,仅报告原始注意力分数可能无法捕捉到模型决策过程的全部信息和解释。其他方法,如注意力流(attention flow)、注意力滚动(attention rollout)和层相关性传播(Layer-Wise Relevance Propagation,LRP)等,已被成功应用于解释transformer模型。      论文还强调,在使用这些模型时,数据隐私是一个值得关注的问题,尤其是在临床环境中。要注意保护个人的基因信息,就需要强大的去识别技术和隐私保护算法,如差分隐私和联邦学习。

        论文地址:https://arxiv.org/abs/2311.07621====大语言模型在科学研究中的应用.md====#

title: “大语言模型在科学研究中的应用” published: 2025-01-26 description: "" image: “/images/大语言模型在科学研究中的应用/img_433bb1f2.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#

****#

科学研究是一个严谨的系统性探索过程。传统模式下,研究人员首先收集背景知识、提出假设,然后设计并执行实验、收集和分析数据,最终通过同行评议的手稿报告研究结果。尽管这一循环过程推动了现代科学技术的进步,但其依然受到人类研究者的创造力、专业知识以及有限的时间和资源的制约。数十年来,科学界一直致力于通过自动化科学研究的某些方面来提高科学家的生产力。早期的计算机辅助研究可以追溯到20世纪70年代,例如“自动化数学家”和BACON系统,它们展示了机器在定理生成和经验定律识别等特定研究任务中的潜力。近年来,AlphaFold和OpenFold等系统成为自动化特定研究任务的先锋,显著加速了各自领域的研究进展。然而,只有随着基础模型的出现和大型语言模型的爆发式发展,在多个研究领域实现全面AI辅助的愿景才变得现实。LLMs,如GPT-4和LLaMA,在理解、生成和交互人类语言方面树立了新的标杆。其强大的能力,得益于海量数据集和创新架构,使其应用范围超越了传统的自然语言处理任务,扩展到更复杂和特定领域的挑战。尤其值得注意的是,LLMs处理海量数据、生成类人文本和辅助复杂决策的能力引起了科学界的广泛关注,预示着LLMs有潜力彻底改变科学研究的开展、记录和评估方式。

近年来,大型语言模型(LLMs)的快速发展深刻地改变了科学研究的格局,为研究周期的各个阶段提供了前所未有的支持。该论文作为首个专门探讨LLMs如何革新科学研究过程的系统性综述,深入分析了LLMs在科学研究的四个关键阶段所扮演的独特角色:科学假说发现、实验规划与实施、科学写作以及同行评议。该综述文章全面展示了针对特定任务的方法论和评估基准,并通过识别当前挑战和提出未来研究方向,不仅突出了LLMs的变革潜力,也旨在启发和指导研究人员和实践者利用LLMs来推进科学探索。

论文链接:https://arxiv.org/abs/2501.04306

以下是大语言模型在科学假说发现、实验规划与实施、科学写作以及同行评议等四个方面的论文、代码、软件工具等资源链接。

LLMs for Scientific Hypothesis Discovery#


LLMs for Experiment Planning and Implementation#

Optimizing Experimental Design#

Automating Experimental Processes#

Data Preparation#

  • Data-Juicer Data-Juicer: A One-Stop Data Processing System for Large Language Models (Dec. 20, 2023) (https://arxiv.org/abs/2309.02033)
  • Jellyfish Jellyfish: A Large Language Model for Data Preprocessing (Oct. 28, 2024) (https://arxiv.org/abs/2312.01678)
  • Can Large Language Models Transform Computational Social Science? (Feb. 26, 2024) (hhttps://arxiv.org/abs/2305.03514)
  • CAAFE Large Language Models for Automated Data Science: Introducing CAAFE for Context-Aware Automated Feature Engineering (Sep. 28, 2023) (https://arxiv.org/abs/2305.03403)
  • Are you in a Masquerade? Exploring the Behavior and Impact of Large Language Model Driven Social Bots in Online Social Networks. (Jun. 19, 2023) (https://arxiv.org/abs/2307.10337)
  • Training Socially Aligned Language Models in Simulated Human Society (Oct. 28, 2023) (https://arxiv.org/abs/2305.16960)

Experiment Execution and Workflow Automation#

Data Analysis and Interpretation#

Benchmarks#


LLMs for Scientific Paper Writing#

Citation Text Generation#

Drafting andWriting#

Benchmarks#


LLMs for Peer Reviewing#

Automated Peer Reviewing Generation#

LLM-assisted Peer Reviewing Workflows#

Benchmarks#


本公众号相关内容推荐#


title: “大语言模型的智能体推理:从被动生成到主动思考的范式转变” published: 2026-01-25 description: “点击下面卡片,快速关注本公众号推理是智能的核心能力,它支撑着逻辑推断、问题解决和决策制定等高级认知过程。” image: “/images/大语言模型的智能体推理-从被动生成到主动思考的范式转变/img_262a9bf4.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#

推理是智能的核心能力,它支撑着逻辑推断、问题解决和决策制定等高级认知过程。尽管大语言模型(LLMs)在数学和代码等封闭领域的标准基准测试中展现出强大的推理能力,但在开放式和动态环境中,它们仍然面临诸多挑战。智能体推理(Agentic Reasoning)的出现标志着一个范式转变,它将大语言模型从简单的序列生成器重新定义为能够规划、行动并通过持续交互学习的自主推理智能体。

本文将深入解读来自伊利诺伊大学、Meta、亚马逊、Google DeepMind、加州大学圣地亚哥分校和耶鲁大学等顶尖机构联合发布的综述论文《Agentic Reasoning for Large Language Models》,全面剖析智能体推理的核心概念、技术框架和应用前景。

什么是智能体推理?#

传统大语言模型推理通常被视为一个静态的、一次性的预测任务,其能力主要依赖于模型规模和推理预算的扩展。与之相对,智能体推理则强调通过与环境的动态交互来扩展能力,将推理过程转变为一个连接模型、记忆与环境的迭代决策循环

下表系统性地对比了这两种范式在五个核心维度上的差异。

维度 (Dimension)LLM推理 (LLM Reasoning)↔ 智能体推理 (Agentic Reasoning)
范式 (Paradigm)被动式 (passive)   静态输入 (static input)互动式 (interactive)   动态上下文 (dynamic context)
计算 (Computation)单次传递 (single pass)   内部计算 (internal compute)多步迭代 (multi step)   结合反馈 (with feedback)
状态性 (Statefulness)依赖上下文窗口 (context window)   无持久化 (no persistence)依赖外部记忆 (external memory)   状态追踪 (state tracking)
学习 (Learning)离线预训练 (offline pretraining)   固定知识 (fixed knowledge)持续改进 (continual improvement)   自我演进 (self evolving)
目标导向 (Goal Orientation)基于提示 (prompt based)   反应式 (reactive)基于明确目标 (explicit goal)   规划式 (planning)

这一范式转变的本质在于,推理能力的扩展路径从依赖静态容量(如增加模型参数规模)转向了依赖结构化交互。智能体不再仅仅是知识的存储器,而是通过规划、适应和协作等交互行为,在动态环境中主动构建解决方案。这种转变使得智能体能够处理那些解决方案路径事先未知、需要长时程规划且信息不完全的复杂问题,并通过从经验中学习来持续优化其行为。

智能体推理将行动作为感知、规划、决策和验证的组织原则,从根本上改变了LLMs的工作方式。与传统的静态输入输出映射不同,智能体推理范式要求智能体能够:

  • • 长期规划:在不确定性下进行长远思考
  • • 环境交互:主动与环境进行持续交互
  • • 动态适应:通过反馈机制不断改进

这种范式类似于从静态的单次推理转变为在不确定性下的序贯决策过程,就像从简单的函数调用演变为复杂的决策系统。

智能体推理的三层架构#

论文提出了一个系统性的三层分类框架,将智能体推理沿着三个互补维度进行组织:

1. 基础智能体推理(Foundational Agentic Reasoning)#

这一层建立了核心的单智能体能力,主要包括:

规划能力:智能体需要能够进行规划、使用工具和搜索。例如,程序辅助推理将逻辑推导建立在代码执行基础上;OpenHands等仓库级系统将推理、规划和测试整合到统一循环中;结构化内存模块能够将事实回忆转化为程序性能力。

工具使用:智能体可以调用外部API、访问数据库、执行代码等,大大扩展了推理边界。

环境交互:在稳定环境中操作,完成确定性任务。

2. 自我演化智能体推理(Self-evolving Agentic Reasoning)#

这一层使智能体能够通过累积经验持续改进,包括:

任务特定的自我提升:通过迭代批评等机制,智能体能够在动态环境中持续适应。这种范式将适应扩展到包括对内部状态(如记忆和策略)的持久更新。

反思机制:Reflexion等基于反思的框架允许智能体批评和精炼自己的推理过程。

强化学习集成:RL-for-memory等强化学习方法将记忆写入和检索形式化为策略优化问题,使智能体能够动态整合推理时推理与学习,在不需要完全重新训练的情况下积累能力并泛化到不同任务。

3. 集体多智能体推理(Collective Multi-Agent Reasoning)#

这一层将智能体从孤立求解器扩展到协作生态系统:

角色分工:多个智能体通过明确的角色分配(如管理者-工作者-评论者模式)协调工作。

通信协议:智能体之间通过自然语言进行多轮交互,共享知识和协调行动。

协作放大推理多样性:使系统能够辩论、解决分歧,并通过多轮交互达成一致。然而,这种复杂性也带来了稳定性、通信效率和可信度方面的挑战,需要结构化的协调框架和严格的评估标准。

应用场景#

基于三层分类,智能体推理已经开始支撑广泛的实际应用:

  • • 数学探索:自动定理证明和数学问题求解
  • • 代码生成:从简单的代码补全到复杂的软件工程任务
  • • 科学发现:加速研究过程,辅助假设生成和实验设计
  • • 机器人技术:使机器人能够在真实环境中进行推理和决策
  • • 医疗保健:辅助诊断、治疗方案推荐等
  • • 自主研究:自动化文献综述、实验设计等
应用领域核心挑战智能体推理的应用方式
科学发现 (Scientific Discovery)自动化实验设计、海量数据分析、假设验证。智能体通过规划设计实验流程,利用工具使用操作虚拟或真实的实验室设备,并通过多智能体协作分析和整合跨学科数据。
具身智能 (Embodied Agents)将抽象指令转化为物理世界的具体动作,处理环境不确定性。智能体利用规划能力将“整理房间”等高级指令分解为一系列低级物理动作,并通过反馈机制适应物理世界的动态变化。
医疗健康 (Healthcare)处理复杂的临床信息、辅助诊断、个性化治疗方案设计。智能体通过智能体搜索整合病历和文献数据,并通过协调多个专业子智能体模拟专家会诊专家会诊),辅助诊断推理。
自主探索与研究 (Autonomous Web Exploration & Research)在广阔的互联网上搜集、筛选和整合信息,生成综合报告。智能体通过动态搜索工具使用(如浏览器操作)自主导航和提取信息,并通过记忆规划来完成长时程的研究任务。
数学探索与代码生成 (Math Exploration & Code Generation)解决复杂数学问题,自动化软件开发和调试。智能体利用规划将问题分解,通过工具使用(如代码解释器)进行验证和计算,并通过反思性反馈循环进行代码调试和优化。

挑战与未来方向#

尽管智能体推理已经取得了显著进展,但仍然面临诸多挑战:

  1. 1. 个性化:如何使智能体更好地适应个体用户的需求和偏好
  2. 2. 长期交互:如何在长时间跨度内保持一致性和有效性
  3. 3. 世界建模:如何构建更准确的环境模型以支持更好的规划
  4. 4. 可扩展的多智能体训练:如何高效训练大规模多智能体系统
  5. 5. 真实世界部署的治理框架:如何确保智能体系统的安全性、可靠性和可解释性

总  结#

智能体推理代表了大语言模型发展的重要方向,它将静态的模型转变为能够主动思考、规划和学习的智能系统。通过基础能力、自我演化和多智能体协作三个层次的有机结合,智能体推理正在桥接思想与行动,为跨环境动态、优化设置和智能体交互设置的智能体系统提供可操作的指导。

这篇综述论文为研究者和开发者提供了一个统一的路线图,不仅综合了当前的方法论,还指出了未来的研究方向。随着技术的不断进步,我们有理由相信,智能体推理将在更多领域发挥重要作用,推动人工智能向更加智能、自主和协作的方向发展。


论文信息:


title: “实用深度学习(Practical Deep Learning)免费课程资源” published: 2022-07-26 description: “@fastdotai发布了一套为有一定编码经验的人而设计的免费的实用深度学习(Practical Deep Learning)课程。通过课程学习如何将深度学习和机器学习应用于解决实际场景问题。” image: “/images/实用深度学习-Practical-Deep-Learning-免费课程资源/img_f37d14c6.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#

深度学习是一种通过使用多层神经网络来提取和转换数据的计算机技术,其使用场景包括人类语音识别、图像分类、模式识别等。 @fastdotai发布了一套为有一定编码经验的人而设计的免费的实用深度学习(Practical Deep Learning)课程。通过课程学习如何将深度学习和机器学习应用于解决实际场景问题。

       主要学习内容涵盖:

  • 如何为计算机视觉、自然语言处理、表格分析和协同过滤问题建立和训练深度学习模型
  • 如何把你的模型变成网络应用,并部署它们,提供在线推理服务。
  • 深度学习模型如何工作,以及如何使用这些知识来提高模型的准确性、速度和可靠性
  • 在实践中真正重要的最新深度学习技术
  • 如何实现随机梯度下降和一个完整的训练循环
  • 学习使用世界上发展最快的深度学习框架PyTorch,以及fastai/Hugging Face/DeBERTa/ConvNeXt/Gradio等深度学习库

      学习者不需要任何特殊的硬件或软件—课程将指导如何使用免费资源来建立和部署模型。课程会教你所需的微积分和线性代数知识,不需要全面的大学数学知识。

     该课程录制于澳大利亚昆士兰大学(University of Queensland),共有9节课,每节课的时间约为90分钟。

  1. 线上课程学习链接:

https://course.fast.ai/Lessons/lesson1.html

  2. 课程在油管上的视频链接(需备梯子):       

https://www.youtube.com/playlist?list=PLfYUBJiXbdtSvpQjSnJJ\_PmDQB\_VyT5iU

  3. 配套免费书籍:

https://github.com/fastai/fastbook====小龙虾OpenClaw从零开始配置使用指南.md====#

title: “小龙虾OpenClaw从零开始配置使用指南” published: 2026-02-17 description: “点击下面卡片,快速关注本公众号什么是 OpenClaw?OpenClaw 是一个开源的个人 AI 助手框架” image: “/images/小龙虾OpenClaw从零开始配置使用指南/img_4adb2b5b.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#

什么是 OpenClaw?#

OpenClaw 是一个开源的个人 AI 助手框架,由 PSPDFKit 创始人 Peter Steinberger(@steipete)创建。它允许你在自己的设备上运行一个真正的 AI 代理(Agent),不仅能对话,还能读写文件、执行脚本、控制浏览器、连接各种消息平台,实现 7×24 小时自动化运作。

截至 2026 年 2 月,OpenClaw 在 GitHub 上已获得超过 195,000 个 Star,成为 2026 年初最火爆的开源 AI 项目。

Info

项目简史OpenClaw 最初于 2025年11月发布,名为Clawdbot。2026年1月27日因商标问题更名为Moltbot,三天后再次更名为 OpenClaw——因为创始人觉得 Moltbot”念起来不够顺口”。🦞

官方资源:

  • • GitHub 仓库:openclaw/openclaw
  • • 官方网站:openclaw.ai
  • • 文档:docs.clawd.bot
  • • 技能市场:clawhub.ai

核心特性#

本地优先架构#

OpenClaw 采用本地优先设计,所有数据和对话都在你的设备上处理和存储,不依赖第三方云服务托管你的数据。你只需自带API Key 即可使用。

多通道消息网关#

OpenClaw 的核心是一个Gateway网关,通过 WebSocket 控制面板(ws://127.0.0.1:18789)统一管理所有消息通道:

平台实现方式
WhatsAppBaileys
TelegramgrammY
SlackBolt
Discorddiscord.js
Google Chat原生 API
Signal原生协议
iMessageBlueBubbles
Microsoft Teams原生 API
Matrix原生协议
Zalo原生 API
WebChat内置

OpenClaw 核心架构流程图

多模型支持#

OpenClaw 支持多个 AI 模型提供商:

  • • Anthropic:Claude Opus 4.6(推荐)、Claude Sonnet 4.5
  • • OpenAI:GPT-5.3 Codex
  • • Google:GLM-5
  • • MiniMax:M2.5
  • • Kimi:K2.5(成本约为旗舰模型的 1/8)
  • • HuggingFace:社区模型
  • • 通过 OpenRouter 可接入更多模型

Tip

模型选择建议官方推荐使用 Anthropic Pro/Max + Opus 4.6 获得最佳的长上下文性能和提示注入防护能力。如果预算有限,Kimi K2.5 可提供约 90% 的旗舰性能,成本仅为 1/8。

技能生态系统#

OpenClaw 拥有一个名为 ClawHub 的技能市场,目前已有 5,700+ 社区构建的技能(Skills)。技能是 OpenClaw 的插件系统,通过 Markdown 文件定义,可以扩展 Agent 的能力边界。

设备支持#

  • • macOS:菜单栏控制应用
  • • iOS:Canvas 支持的移动节点
  • • Android:支持屏幕截图的移动节点
  • • Linux:完整命令行支持
  • • Windows:通过 WSL 2 支持

安装配置#

OpenClaw 安装配置流程

环境要求#

  • • Node.js ≥ 22(必需)
  • • macOS / Linux / Windows(WSL 2)
  • • AI 模型的 API Key(如 Anthropic API Key)

方式一:一键安装(推荐)#

打开终端,执行以下命令:

curl -fsSL https://openclaw.ai/install.sh | bash

或通过 npm 全局安装:

npm install -g openclaw@latest
openclaw onboard --install-daemon

安装向导会自动引导你完成配置,包括安装系统守护进程(macOS 使用 launchd,Linux 使用 systemd),确保 OpenClaw 持续运行。

方式二:从源码构建(开发者)#

git clone https://github.com/openclaw/openclaw.git
cd openclaw
pnpm install
pnpm ui:build
pnpm build
pnpm openclaw onboard --install-daemon

方式三:云端部署#

如果不想在本地运行,有多种云端方案:

服务特点
Emergent一键安装,5 分钟部署,无需终端操作
Ampere.sh60 秒部署,无需 Docker/Node.js 配置
ClawNode全托管服务,24/7 专用服务器
ClawCloud按小时计费,低至 $0.04/小时
DigitalOcean一键部署模板,安全加固

Warning

安全提醒创始人 @steipete 明确提醒:避免使用快速安装器,花时间学习正确的安装流程。第三方托管意味着他们可能接触到你的数据。

基础配置#

核心配置文件#

OpenClaw 的配置文件位于 ~/.openclaw/openclaw.json

{
  "agent": {
    "model": "anthropic/claude-opus-4-6"
  }
}

配置 API Key#

根据你选择的模型提供商,设置对应的 API Key:

# Anthropic(推荐)
export ANTHROPIC_API_KEY="sk-ant-xxxxx"
# OpenAI
export OPENAI_API_KEY="sk-xxxxx"
# OpenRouter(可接入多种模型)
export OPENROUTER_API_KEY="sk-or-xxxxx"

启动 Gateway#

openclaw gateway --port 18789 --verbose

与 Agent 对话#

openclaw agent --message "你好,介绍一下你自己" --thinking high

发送消息#

openclaw message send --to +1234567890 --message "Hello"

运行诊断#

安装完成后,建议运行诊断命令检查配置是否正确:

openclaw doctor

检查模型状态#

openclaw models status --deep

连接消息平台#

配置 Telegram#

Telegram 是最常用的连接方式之一。在配置文件中添加:

{
  "channels": {
    "telegram": {
      "enabled": true,
      "token": "YOUR_TELEGRAM_BOT_TOKEN"
    }
  }
}

配置 Discord#

{
  "channels": {
    "discord": {
      "enabled": true,
      "token": "YOUR_DISCORD_BOT_TOKEN"
    }
  }
}

DM 安全策略#

OpenClaw 对私信(DM)有严格的安全默认设置:

  • • dmPolicy: "pairing"(默认):未知发送者会收到配对码,bot 忽略其消息直到通过 openclaw pairing approve 批准
  • • dmPolicy: "open":需要显式启用,并在频道允许列表中添加 "*"

[!danger] 注意
所有入站 DM 都被视为不受信任的输入。务必运行 openclaw doctor 检查是否存在不安全的 DM 策略配置。

技能系统(Skills)#

什么是技能?#

技能是 OpenClaw 的插件系统,本质上是 Markdown 文件,定义了 Agent 可以执行的特定任务。技能存放在 ~/.openclaw/workspace/skills/<skill>/SKILL.md

从 ClawHub 安装技能#

# 安装 Grok 搜索技能
clawhub install grok
# 安装特定开发者的技能
npx skills add openserv-labs/skills

技能分类#

截至 2026 年 2 月,ClawHub 已收录 5,700+ 技能,awesome-openclaw-skills 项目经过质量筛选后整理了 3,002 个优质技能。主要类别包括:

类别数量代表技能
AI 与 LLM287模型切换、Prompt 优化
搜索与研究253Grok 搜索、Tavily、Brave Search
DevOps 与云212Docker Sandbox、AWS、Coolify 部署
Web 与前端开发202网页自动化、截图工具
生产力与任务135Apple Notes/Reminders、Notion、Obsidian、Trello
浏览器自动化139Agent Browser(Playwright)、Chrome 控制、NotebookLM
营销与销售143HubSpot CRM、社交媒体管理
编程 Agent 与 IDE133claude-team 多 Worker 编排、debug-pro 调试
Git 与 GitHub66PR 审查、GitLab 管理、Git 工作流
智能家居Philips Hue、Elgato、Home Assistant
安全VirusTotal 扫描、安全审计

技能安装方式#

# 方式一:通过 ClawHub CLI 安装
npx clawhub@latest install <skill-slug>
# 方式二:手动放置到技能目录
# 全局:~/.openclaw/skills/
# 项目:<project>/skills/
# 方式三:直接粘贴 GitHub 仓库链接到对话中

浏览器控制#

OpenClaw 可以通过 CDP(Chrome DevTools Protocol)控制浏览器,实现网页自动化:

    1. 安装 OpenClaw Chrome 扩展
    1. 启用开发者模式 → 加载未打包的扩展
    1. 开启浏览器中继
    1. 告诉 OpenClaw “导航到这个 URL”
    1. 观察它自动点击和操作

这是 OpenClaw 最强大的能力之一,可以与 NotebookLM 等工具配合使用,实现自动化研究、报告生成等工作流。

定时任务(Cron)#

OpenClaw 支持 cron 定时任务,让 Agent 在你睡觉时也能自动执行任务:

# 在对话中直接设置
"每天早上 8 点给我发送新闻摘要"

Warning

Cron 注意事项早期版本中 cron 可能会静默失败。2026.2.9 版本进行了可靠性大修。确保保持设备开机和网络连接。

真实应用场景#

OpenClaw 不只是一个聊天机器人,它是一个能真正执行任务的自主代理。以下是社区中已被验证的高价值应用场景。

每日简报与信息管理#

场景:每天早上 8 点自动推送个人简报,包含天气、日历事项、待办任务、系统状态、新闻摘要。

实现:通过 Cron 定时任务 + 多个集成(日历、天气 API、邮件、RSS),Agent 自动汇总并发送到 Telegram/WhatsApp。

[!example] 真实案例
一位用户配置了 15 个 Cron 任务,覆盖每日简报、邮件分诊、健康监控、安全审计、知识库维护等,实现了完全自动化的数字生活管理。
—— Everything I’ve Done with OpenClaw

邮件自动化管理#

场景:Agent 每 30 分钟扫描收件箱,按紧急程度分类,为常规查询起草回复,退订垃圾邮件,通过 Slack 推送优先级摘要。

效果:原本每天花 2+ 小时处理 50-100 封邮件的客户经理,时间减少了 78%。

开发者工作流#

场景:在手机上通过消息指令完成代码审查、运行测试、合并 PR、部署上线、监控日志。

实现

  • • 连接 GitHub/GitLab,自动审查 Pull Request
  • • 监控 ArgoCD 部署状态和 Loki 日志
  • • 定期扫描代码质量、硬编码密钥、已知漏洞
  • • 一个用户用 OpenClaw 开发了完整的 SvelteKit 应用并部署到 Kubernetes

内容创作与发布#

场景:从选题研究到内容生成、配图制作、平台发布的全流程自动化。

实现

  • • 分析高流量视频/文章,提取成功模式(钩子、节奏、结构)
  • • 基于模式生成新的脚本/文章草稿
  • • 通过 Gemini API 生成配图
  • • 自动发布到 Ghost、GitHub Pages 等平台
  • • SEO 内容管线:研究关键词 → 生成草稿 → 优化发布

个人知识管理#

场景:将 Obsidian 笔记、聊天记录、邮件等多源信息自动整理为结构化知识图谱。

实现

  • • 将 5,000+ Obsidian 笔记导入 Wikibase,构建人物/地点/项目/公司的结构化实体
  • • 从 ChatGPT 导出中提取 49,000+ 原子事实,构建可搜索的记忆系统
  • • 支持语义 SPARQL 查询,如”所有在 X 公司工作过的人”

客户服务与业务运营#

场景:自动化客户入职流程——创建项目文件夹、发送欢迎邮件、安排启动会议、添加跟进提醒。

效果:原本需要 3-4 小时的新客户入职流程,缩短到 15 分钟。

智能家居控制#

场景:通过自然语言指令控制家中设备。

实现

  • • “把客厅灯光调到 50%”
  • • “我要出门了”——自动触发离家模式(关灯、调温、锁门)
  • • 分析 Garmin/Apple Health 的运动和睡眠数据,提供健身建议

财务与生活助手#

场景:拍照发送收据/账单,Agent 自动提取商家、日期、金额、类别,录入电子表格。

更多场景

  • • 将血检报告 PDF 翻译成通俗易懂的解释
  • • 自动追踪订阅费用和预算
  • • 餐饮规划与购物清单生成

Tip

最佳实践社区推荐从邮件自动化每日简报两个场景入手,这是最容易实现且回报最高的用例。熟练后再扩展到开发工作流、内容创作等更复杂的场景。

官方集成(50+)#

OpenClaw 官方提供了超过 50 个第三方集成,覆盖日常工作的各个方面:

生产力与办公#

  • • 笔记:Apple Notes、Obsidian、Notion
  • • 任务管理:Apple Reminders、Things 3、Trello、Asana
  • • 办公套件:Microsoft 365、HubSpot CRM

开发者与 DevOps#

  • • 代码托管:GitHub、GitLab
  • • CI/CD:Jenkins、自动化部署
  • • 容器与云:Docker、Kubernetes、AWS
  • • 自托管 PaaS:Coolify
  • • 资讯聚合:Hacker News、GitHub Trending、Product Hunt

智能家居#

  • • 照明:Philips Hue
  • • 设备:Elgato 系列
  • • 中枢:Home Assistant
  • • 健康:可穿戴设备与健身追踪器

浏览器自动化#

  • • Agent Browser:基于 Playwright 的浏览器控制
  • • Web Scraper:基于 Cheerio 的数据采集
  • • 截图工具:Puppeteer 驱动
  • • PDF 提取:pdf-parse 文档解析

AI 模型扩展#

  • • Gemini CLI / Gemini Computer Use
  • • Replicate API / OpenRouter

Info

完整集成列表详见 OpenClaw Extensions Ecosystem Guide

生态项目#

OpenClaw 已形成一个庞大的社区生态系统:

核心生态#

项目说明链接
ClawHub官方技能市场,5,700+ 技能github.com/openclaw/clawhub
ClawArxiv安全审计的技能注册表@clawarxiv
MoltbookAI Agent 专属社交网络,由一个 OpenClaw Agent 创建moltbook.com
ClawVault结构化记忆系统 + Obsidian 知识图谱github.com/Versatly/clawvault
ClawIndex第三方应用发现门户@0xSammy

托管与部署#

项目说明特点
Emergent云端一键部署5 分钟部署,无需终端
Ampere.sh托管服务60 秒部署,处理崩溃和 Chromium 问题
ClawNode全托管专用服务器无需技术技能,24/7 运行
ClawCloud按需计算低至 $0.04/小时
NowClawiOS 应用iPhone 上运行 OpenClaw,无需 Mac Mini
OpenClawd一键部署 + 内置安全安全加固的生产级配置

社区工具#

项目说明
ClawBox安全沙箱环境
CamoFox Browser反检测浏览器插件,绕过自动化屏蔽
Token Saver 75自动分类请求、路由到最便宜模型,节省 75%+ token
OpenRoboticAgent 驱动的机器人智能平台
PiLobster社区为树莓派优化的轻量版本

PicoClaw:$10 硬件上的 AI Agent#

PicoClaw 是由 Sipeed 于 2026 年 2 月 9 日发布的超轻量级 AI 助手,使用 Go 语言重写,仅需 不到 10MB 内存即可运行。发布 4 天内在 GitHub 获得 5,000+ Star。

OpenClaw vs PicoClaw 对比#

指标OpenClawPicoClaw
语言TypeScriptGo
内存占用>1GB<10MB
启动时间>500 秒(800MHz)<1 秒
硬件成本~$599(Mac Mini)~$10+
技能生态5,700+ ClawHub 技能早期,专注核心功能
消息平台12 个平台Telegram、Discord 等

PicoClaw 支持的硬件#

  • • Sipeed LicheeRV Nano(~$10,RISC-V)
  • • Sipeed NanoKVM / MaixCAM2
  • • Raspberry Pi Zero(512MB)
  • • 任何 Linux 设备(x86_64 / ARM64 / RISC-V)

PicoClaw 安装#

git clone https://github.com/sipeed/picoclaw.git
cd picoclaw
make deps && make build

配置文件:~/.picoclaw/config.json,设置 LLM 提供商 API Key 即可使用。

Tip

云端 + 边缘双架构社区推荐的最佳实践:云端用 OpenClaw(完整功能 + 多通道网关),边缘用 PicoClaw(超轻量本地 Agent)。两者互补,覆盖不同场景。

竞品与替代方案#

除了 PicoClaw,还有多个值得关注的 OpenClaw 替代项目:

项目语言特点GitHub Stars
IronClawRust安全第一:WASM 沙箱隔离、凭证隔离、提示注入防御368
NanoClawPython极简约 3,000 行代码,Telegram 专用,SQLite 记忆
nanobotPython香港大学项目,支持 8 个聊天平台,pip 安装15.4k
memU分层记忆框架,主动预测上下文,92% 准确率8.7k
Knolli.ai面向企业的无代码 AI 助手,结构化工作流

如何选择?

  • • 需要完整生态 + 社区支持 → OpenClaw
  • • 安全性最优先 → IronClaw(Rust + WASM 沙箱)
  • • 极低资源 / 嵌入式设备 → PicoClaw
  • • 快速上手 / 仅用 Telegram → NanoClaw
  • • 多平台 + 轻量 → nanobot
  • • 企业级无代码 → Knolli.ai

总结#

OpenClaw 代表了个人 AI 助手的新范式——开源、本地优先、高度可扩展。虽然初始配置有一定门槛,但一旦跨过,它将成为你最强大的数字助手。

快速上手路径:

    1. 安装 Node.js 22+
    1. 运行 curl -fsSL https://openclaw.ai/install.sh | bash
    1. 配置 API Key(推荐 Anthropic)
    1. 运行 openclaw onboard --install-daemon
    1. 开始与你的 Agent 对话
    1. 从 ClawHub 安装需要的技能
    1. 连接你的消息平台

---====小龙虾OpenClaw实战指南-从环境选择到工作流搭建.md====#

title: “小龙虾OpenClaw实战指南:从环境选择到工作流搭建” published: 2026-02-25 description: “OpenClaw是一个免费开源的自主AI Agent” image: “/images/小龙虾OpenClaw实战指南-从环境选择到工作流搭建/img_61152fad.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#

OpenClaw 是什么#

OpenClaw是一个免费开源的自主AI Agent,由Peter Steinberger开发,2026年初迅速走红。它不是一个聊天机器人,而是一个能在你的电脑上执行实际操作的 AI 助手,它能够执行Shell命令、管理文件、自动化浏览器操作、对接各种服务。

它的独特之处在于:通过Telegram、WhatsApp、Discord、Slack、iMessage 等日常通讯工具与你交互。你在手机上发一条消息,它就在你的电脑上执行任务。

OpenClaw已上线约3个月,生态和功能经历了快速迭代。本文帮助你从零开始搭建并用好OpenClaw。

第一步:选择运行环境#

在安装OpenClaw之前,第一个决策是:本地运行还是云服务器(VPS)?

维度本地硬件VPS(云服务器)
定义在自己的电脑上直接运行在远程数据中心的租用服务器上运行
可用性电脑关机即停止24/7 不间断运行
访问方式仅限本机任何设备远程访问
扩展性受本机硬件限制可按需扩容
数据安全数据完全在本地数据在第三方服务器
成本无额外费用(已有硬件)月付费用(最低 $5/月起)

结论: 对大多数个人用户来说,本地运行是更简单的选择,这种方案适合个人使用、低频任务或涉及敏感数据的场景。但如果你需要24/7可用性、多设备访问或可扩展性,可以考虑使用VPS。

第二步:安装配置#

方案一:本地安装#

前置要求:

  • • Mac、Linux或 Windows(需启用WSL2)
  • • 8GB以上内存(推荐16GB)
  • • Node.js 22+(安装器会自动处理)

安装步骤:

# 1. 打开终端,运行安装命令
curl -fsSL https://openclaw.ai/install.sh | bash
# 2. 接受权限提示(安全护栏界面)
# 3. 选择 AI 模型提供商

如果选择Anthropic(Claude)作为模型提供商,需要先确保已安装并登录Claude Code CLI:

# 在新终端窗口中获取 token
claude setup-token
# 复制输出的密钥,粘贴回 OpenClaw 设置终端

然后选择具体模型。推荐使用 Opus 4.5 或更新版本以获得最强的编码和推理能力。也支持OpenAI等其他提供商。

接下来选择交互渠道(Telegram、WhatsApp、Discord 等),完成自定义技能和Hooks的配置,即可启动使用。

方案二:Cloudflare Moltworker(云端部署)#

Cloudflare官方推出了 Moltworker 项目,让你以最低 $5/月 的成本在 Cloudflare Workers 上运行 OpenClaw,无需自己维护服务器。

前置要求:

  • • Cloudflare 账号
  • • Workers付费计划($5/月,Sandbox 容器必需)
  • • Anthropic或OpenAI API Key
  • • 可选:R2 存储(用于持久化,免费额度可用)

部署方式:

访问 cloudflare/moltworker GitHub 仓库,点击”Deploy to Cloudflare”一键部署。

Tip

提示Moltworker 目前仍是实验性质的概念验证项目,不是 Cloudflare 的正式产品。它使用标准容器实例(1/2 vCPU、4GB 内存、8GB 磁盘),对个人使用完全够用。

第三步:判断OpenClaw是否适合你#

在投入时间搭建之前,先回答三个问题:

a) 你的日常工作流是什么?#

OpenClaw最适合以下场景:

  • • 每天花大量时间在电脑任务上
  • • 管理多个沟通渠道(Slack、邮件、社交媒体等)
  • • 需要自动化文件管理、数据抓取或数据处理
  • • 需要对接多个服务(日历、GitHub、邮箱等)
  • • 希望离开电脑时仍能执行任务

Tip

实操建议做一次完整的”生活审计”——列出你的日常任务、手动流程,然后把这份清单交给 Claude,让它分析 OpenClaw 能在哪些环节帮到你。

b) 你愿意持续维护吗?#

OpenClaw 不是”设置好就不用管”的工具:

  • • 初始配置:1-3 小时
  • • 持续维护:更新、技能管理、调试
  • • 安全审计:定期运行 openclaw doctor、权限管理、日志监控
  • • 学习曲线:理解网关架构、设备配对和技能系统

c) 你的预算和信任度如何?#

你是否愿意让 AI 在你的桌面上执行操作?根据”生活审计”的结果,估算 OpenClaw 能带来的 ROI,设定一个合理的预算。如果只是做简单的网页抓取,每月花几百块可能并不划算。

如果 OpenClaw 不适合你#

不用 OpenClaw 不代表不能用 AI 提效。根据你的情况:

没有什么需要自动化的? 用好基础 AI 工具即可:

  • • Claude / CoWork:写作、头脑风暴、PDF 分析
  • • Perplexity:深度研究、投资分析

有任务需要自动化,但不想用 OpenClaw? 试试这些替代方案:

  • • Manus AI:优秀的日常 AI Agent
  • • Runable AI:Agent 化研究工具
  • • Lindy AI:快速部署简单 AI Agent
  • • Zapier:基础自动化
  • • n8n:可自托管的工作流自动化

第四步:实战工作流#

以下是三个经过验证的高价值工作流:

工作流 1:X(Twitter)私人研究助手#

通过安装 X Research Skill,让OpenClaw连接 X API,自动为你:

  • • 搜索热门话题
  • • 总结长文章和推文串
  • • 发现新技能和工具
  • • 替代手动刷 X 的时间消耗

这个技能最初由 @frankdegods 开发,开源地址:rohunvora/x-research-skill

工作流 2:Vibe Coding(编程)#

将OpenClaw连接 Opus 4.5+ 模型后,你拥有了一个24/7可用的顶级编码Agent。

实际案例:让Agent编写一个市场交易日记应用,自动追踪每日市场数据,并可以直接通过Telegram更新。

[!example] 应用思路
为你每天重复做的事情(阅读、冥想、健身、学习)构建一个”每日 App”。通过 Telegram 发消息就能记录和查看数据,Agent 帮你完成所有开发工作。

工作流 3:竞品与行业情报监控#

这可能是 OpenClaw 最普适的工作流,搭建一个自动化的行业情报系统:

  • • 每日/每周自动抓取行业新闻
  • • 监控竞争对手动态
  • • 新模型发布、热门话题追踪
  • • 按重要程度分级:低 → 中 → 高 → 紧急

结合工作流 1 的 X Research Skill,你可以做到你所在领域的信息零遗漏

安全注意事项#

OpenClaw 的强大伴随着安全隐患。CrowdStrike 等安全团队已经指出,OpenClaw 需要广泛的系统权限才能运行——它可以访问你的邮件、日历、消息平台和其他敏感服务。

几点安全建议:

  1. 1. 定期运行 openclaw doctor 检查系统安全状态
  2. 2. 审慎管理权限,只授予必要的访问权限
  3. 3. 监控日志,关注异常行为
  4. 4. 敏感操作设置确认,避免 Agent 自动执行高风险任务
    1. 如果安全是首要考虑,优先选择本地部署而非 VPS

总结#

OpenClaw代表了AI Agent从”对话工具”到”执行助手”的转变。它不是让AI帮你写一段文字,而是让AI直接在你的系统上完成任务。从编写代码到部署应用,从数据抓取到情报分析。

但它不适合所有人。投入之前,先做好”生活审计”,明确你的使用场景、维护意愿和安全底线。如果结论是”值得”,那就按照本文的步骤开始搭建。如果”不值得”,文中列出的替代工具同样能帮你用好 AI。

关键不是工具本身,而是你是否清楚自己要用 AI 解决什么问题。====工业革命至今大气中二氧化碳浓度可视化.md====#

title: “工业革命至今大气中二氧化碳浓度可视化” published: 2020-02-09 description: “大气中主要温室气体二氧化碳浓度的升高,进而导致了温室效应加剧、极端天气频发、极地冰层消融、海平面高度升高等现象” image: “/images/工业革命至今大气中二氧化碳浓度可视化/img_a987557a.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#

大气中主要温室气体二氧化碳浓度的升高,进而导致了温室效应加剧、极端天气频发、极地冰层消融、海平面高度升高等现象。CO2可在大气中滞留几个世纪,在海洋中滞留的时间甚至更长。以下动画以粒子密度显示了从工业革命至今二氧化碳浓度的变化情况。

animation showing CO₂ concentration from the Industrial Revolution to present day using particle densities

CO₂ concentration and global mean temperature 1958 - 2017

Overview of tropical cyclone tracks in IBTrACS and the STORM dataset. The top panel represents 38 years (1980–2018) of tracks in the IBTrACS dataset (a), the bottom panel represents a random period of 1,000 years of tropical cyclone tracks in the STORM dataset (b). Colors indicate the maximum wind speed of the tropical cyclone.https://doi.org/10.1038/s41597-020-0381-2

全球气候变化造成的影响正在增加。

海平面上升

在2014年5月-2019年5月的五年间,全球平均海平面上升速度达到了每年5毫米,而2007-2016年十年间为每年4毫米。这比1993年以来3.2毫米/年的平均速度快了很多。世界冰川和冰盖的陆地融冰随时间的推移增加了其贡献值,现在主导着海平面收支,而非热膨胀。

覆冰面积收缩

在整个2015-2018年期间,北极9月(夏季)平均最小海冰面积远低于1981-2010年的平均值,冬季海冰平均面积亦是如此。冬季的四个最小记录均发生在这个时期。多年冰已几近消失。

南极

自2016年以来,2月(夏季)最小海冰面积和9月(冬季)最大海冰面积已远低于1981-2010年的平均值。这与之前的2011-2015年间和更长期的1979-2018年间形成了鲜明对比。2017和2018年,南极夏季海冰面积分别达到了有记录以来的最低和次低水平,2017年的冬季面积也是第二低。

南极冰盖每年损失的冰量至少增加了六倍,从1979-1990年的每年40吉吨增加到了2009-2017年的每年252吉吨。

海洋热量和酸化

气候变化造成的多余热量90%以上储存在海洋中。2018年具有上层700米以上最高海洋热含量测量值,2017年名列第二,2015年第三。
每年,海洋吸收了约30%的人为CO2排放量,从而协助减少了额外的增温。然而,海洋的生态代价很高,因为吸收的CO2会与海水发生反应并改变海洋的酸度。自工业革命开始以来,酸度总体增加了26%。

极端天气事件

90%以上的自然灾害与天气相关。2017年大西洋飓风季是有记录以来最具破坏性的飓风季之一,仅哈维飓风造成的损失就超过了1250亿美元。2019年3月和4月,印度洋上前所未有、毁灭性的背靠背热带气旋袭击了莫桑比克。====开放具身智能生态系统-MolmoSpaces.md====#

title: “开放具身智能生态系统:MolmoSpaces” published: 2026-02-20 description: "" image: “/images/开放具身智能生态系统-MolmoSpaces/img_ffa0d661.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#

AI 的下一波浪潮将在物理世界中行动#

我们正处于AI发展的一个关键转折点。大语言模型在文本和图像领域已经取得了惊人的成就,但AI的下一个前沿是在真实的物理世界中行动,例如抓取物体、打开冰箱、在房间之间导航。这就是具身智能(Embodied AI)研究的核心目标。

然而,训练一个能够在真实世界中泛化的机器人,面临着一个基本矛盾:你需要海量的数据来训练,但在真实世界中采集数据既昂贵又缓慢。这就是仿真平台存在的意义,但过去的仿真环境往往物理引擎过于简化,资产规模有限,与真实世界差距太大。

2025 年 2 月,Allen AI(Ai2)发布了 MolmoSpaces,一个将物理仿真、大规模场景库、精细抓取标注三者统一的开放生态系统,目标是为具身智能研究提供一个真正可用的基础设施。

一、MolmoSpaces 的核心组件#

MolmoSpaces 不是一个单一工具,而是一个由多个组件构成的完整生态。

1.1 大规模场景库:23 万+ 室内环境#

MolmoSpaces 汇聚了超过 23 万个室内场景,涵盖住宅、办公室、教室、医院、学校、博物馆等多种类型。这些场景来自四个不同的来源:

来源规模生成方式
iTHOR-120120 个场景手工精心制作
ProcTHOR-10K1 万个场景启发式程序化生成
ProcTHOR-Objaverse大规模场景基于 Objaverse 资产的程序化生成
Holodeck大规模场景LLM 辅助的程序化生成

关键质量指标:超过 95% 的场景通过了碰撞检测和物体漂移验证测试,确保场景在物理仿真中是稳定可用的。

1.2 海量物体资产:13 万+ 3D 模型#

物体资产是机器人操作研究的核心。MolmoSpaces提供了超过 13 万个物体模型,全部以MJCF和USD格式提供:

来自THOR的资产:

  • • 1,600+ 个刚体可抓取物体实例,覆盖 134 个类别
  • • 这些是经过精心建模的高质量资产

来自 Objaverse 的资产:

  • • 从 62.5 万个候选资产中筛选出 12.9 万个高质量资产
  • • 覆盖约 3,000 个 WordNet 同义词集(synsets)
  • • 约 9.2 万个资产适合自动化场景填充

筛选标准极为严格,包括:

  • • 元数据完整性:确保每个资产都有充分的描述信息
  • • 尺度归一化:统一物体的物理尺度
  • • 纹理质量评分 ≥ 4:保证视觉保真度
  • • 跨渲染器保真度(CLIP 相似度 ≥ 0.6):确保在不同渲染器中表现一致
  • • 几何体积效率(< 1.5 MB):控制计算开销
  • • 容器验证:确保作为容器使用的物体功能正确

铰接物体(如冰箱、微波炉、烤箱、洗碗机、门、抽屉柜)则带有显式的关节标注,包含铰链/滑轨类型、轴向、位置和运动范围。

1.3 物理验证:告别”魔法抓取”#

这是 MolmoSpaces 最核心的技术亮点。过去的仿真平台常常使用简化的物理模型甚至”魔法抓取”(magic grasps),即机器人不需要真正地接触和握住物体,只要靠近就自动吸附。这种做法让仿真到真实世界的迁移(sim-to-real transfer)变得极其困难。

MolmoSpaces 采用 MuJoCo 等物理引擎,并对物理参数进行了严格验证:

刚体物理验证:

  • • 通过将仿真中的质量和密度值与 LLM 标注的估计值进行对比
  • • 迭代调整密度参数直到匹配

铰接物体验证:

  • • 使用遥操作套件控制仿真中的 Franka FR3 机械臂
  • • 通过真实的推方块、抓取已知重量物体的轨迹来优化关节属性
  • • Franka FR3 机械臂本身也经过了系统辨识(System Identification)验证

碰撞体准备:

  • • 使用 CoACD 算法生成碰撞体网格
  • • 为所有资产标注了基元碰撞体(primitive colliders)
  • • 以容器为主的刚体(桌子、柜子等)使用基元碰撞体以避免 mesh-mesh 接触问题
  • • 可操作物体使用凸分解(convex decomposition)以获得更高的几何保真度

1.4 抓取标注:4200 万+ 精细抓取位姿#

MolmoSpaces 包含超过 4200 万个 6-DoF 抓取位姿,覆盖 48,111 个物体(每个物体最多约 1,000 个抓取位姿),使用 Robotiq-2F85夹爪模型

抓取标注的生成流程值得关注:

  1. 1. 采样:直接从 MJCF 几何体上采样;对于铰接物体,限制在叶节点组件(通常是把手)上采样
  2. 2. 碰撞过滤:与非叶节点几何体碰撞的抓取被丢弃
  3. 3. 聚类选择:在完整的 6-DoF 位姿空间中进行聚类,然后在聚类间均匀选择,确保抓取多样性
  4. 4. 接触偏好:针对不同物体指定接触点偏好(例如指垫中部 vs. 薄物体使用指尖)
  5. 5. 稳定性测试:刚体抓取需通过线性和旋转扰动测试
  6. 6. 铰接物体可行性验证:要求在保持接触的同时,能够稳定地驱动关节至少 70% 的有效运动范围(双向)

二、MolmoSpaces-Bench:多维度评估框架#

传统的机器人操作评估通常只报告一个汇总的成功率数字,这掩盖了系统在不同条件下表现差异的细节。MolmoSpaces-Bench 提出了一种多维度系统性评估方法,沿以下独立轴进行变化:

评估维度说明
物体属性形状、尺寸、重量、铰接方式
布局多房间、多楼层、不同杂乱程度
任务复杂度从单步操作到层次化任务
感知条件光照变化、视角差异
动力学摩擦系数、质量变化
任务语义指令措辞的变化

支持的任务类型包括:

  • • 原子操作技能:抓取(pick)、放置(place)、打开(open)、关闭(close)
  • • 组合任务:原子技能的组合
  • • 导航目标:显式的导航任务

这种评估框架能够实现:

  • • 受控实验的分布分析
  • • 分布外(OOD)失败模式的识别
  • • 训练多样性对 sim-to-real 迁移的影响测量
  • • 系统性的真实世界验证支持

三、平台兼容性与数据采集#

多仿真器支持#

MolmoSpaces 的资产以 MJCF 和 USD 两种格式提供,显式支持以下仿真平台:

  • • MuJoCo —— 原生 MJCF 支持
  • • ManiSkill —— 直接兼容
  • • NVIDIA Isaac Lab/Sim —— 通过 USD 转换脚本支持

遥操作数据采集#

平台支持使用 Teledex 等移动设备进行遥操作数据采集。研究者可以直接通过手机收集操作演示数据,无需复杂的硬件配置。同时兼容 DROID 和 CAP 等已有的具身方案。

四、最后#

MolmoSpaces 的发布标志着具身智能研究基础设施的一次重大升级:

  1. 1. 规模前所未有:23万场景 + 13万物体 + 4200万抓取标注,这是目前已知最大规模的具身智能仿真生态
  2. 2. 物理真实性:告别简化物理和魔法抓取,每个物理参数都经过验证
  3. 3. 完全开放:代码、数据、演示全部开源,降低研究门槛
  4. 4. 评估标准化:MolmoSpaces-Bench 为社区提供了一个共同的、多维度的评估框架

从Ai2-THOR到MolmoSpaces,Allen AI团队延续了他们在开放仿真领域的一贯传统。Ai2-THOR系列已经证明了开放仿真平台如何加速机器人导航研究,而 MolmoSpaces将这一理念扩展到了机器人操作领域,并在物理保真度和资产规模上实现了质的飞跃。

资源链接#


title: “打通地球观测数据的“最后一公里”” published: 2026-03-04 description: "" image: “/images/打通地球观测数据的-最后一公里/img_e541f3a1.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#

Radiant Earth是一家总部位于美国华盛顿的非营利技术组织,致力于通过社区驱动的方式让地球科学数据更易获取、更易使用。本文将全面介绍其创立背景、核心项目、技术栈、生态系统及全球影响力。


一、使命背景#

卫星数量从2017年的约1,400颗激增至2021年的4,852 颗,地球观测数据正以前所未有的速度增长。然而,数据的开放不等于数据的可用,“Open data is not good enough”是Radiant Earth成立的初衷。

数据必须同时满足三个条件才能真正发挥价值:

  • • 可发现(Discoverable):能被搜索引擎和目录系统索引
  • • 可访问(Accessible):通过标准化 API 和云原生格式获取
  • • 可使用(Usable):附带充分的元数据和文档

Radiant Earth的使命正是围绕这三点展开:通过构建开放的数据基础设施,让全球的研究者、开发者和决策者都能高效利用地球观测数据。Radiant Earth要做的是”让任何人都能像使用互联网上的网页一样,发现、访问和使用关于地球的数据”。

Radiant Earth 使命:可发现、可访问、可使用


二、核心项目#

Radiant Earth 三大核心项目:STAC、Source Cooperative、CNG Forum

Radiant Earth目前运营三个核心项目,构成了完整的地理空间数据生态系统。

2.1 STAC — 时空资产目录规范#

STAC(SpatioTemporal Asset Catalog)是 Radiant Earth 最具影响力的开源贡献。它定义了一套标准化的 JSON 规范,用于描述任何与地球某个时间和地点相关的数据文件。

STAC 三层架构:Catalog → Collection → Item

核心设计理念:最小核心 + 灵活扩展

STAC 由三层对象构成:

层级对象作用
顶层Catalog目录入口,包含子目录和集合的链接
中层Collection数据集集合,定义时空范围、许可证等元信息
底层Item单个时空资产,包含实际数据文件的链接和属性

为什么 STAC 如此重要?

  • • 通用性:最初面向卫星影像,现已扩展支持 SAR、LiDAR、高光谱、DEM、矢量、ML 标签等几乎所有地理空间数据类型
  • • 云原生:与 Cloud Optimized GeoTIFF(COG)、GeoParquet 等云原生格式无缝协作
  • • 静态部署:可以作为一组超链接的静态 JSON 文件部署,不需要数据库或后端服务
  • • 行业标准:已被 NASA Earthdata、Microsoft Planetary Computer、USGS 等主流平台采用,并成为 OGC 正式标准

STAC 的诞生与发展:2017年,Radiant Earth 资助了第一次 STAC 编程冲刺(Coding Sprint),由此启动了规范的开发。Planet公司不仅支持了核心开发者Chris Holmes,还参与了每一次冲刺、主办了第 4 次冲刺。Development Seed、Element 84 等 13 家组织从第一次冲刺起就参与其中。社区于 2021 年 5 月发布了 1.0.0 正式版

STAC 软件生态系统

工具语言用途
PySTACPythonSTAC 对象的创建、读取和操作
pystac-clientPythonSTAC API 客户端,搜索和过滤数据
stac-geoparquetPython/Rust将 STAC Items 批量存储为 GeoParquet 格式,提升查询性能
STAC BrowserJavaScript基于浏览器的 STAC 目录浏览器
stac-serverNode.jsSTAC API 服务端实现
rustacRust使用 DuckDB 对 GeoParquet 格式的 STAC 数据进行高速查询

STAC规范由Radiant Earth在GitHub上维护(radiantearth/stac-spec)。

2.2 Source Cooperative — 数据发布平台#

Source Cooperative 是 Radiant Earth 的数据发布基础设施,也是此前 Radiant MLHub(2019-2023)的升级继任者。其定位是面向 Web 的数据发布公用事业(Data Publishing Utility for the Web),允许受信任的组织和个人使用标准 HTTP 方法共享任意规模的数据产品。

Source Cooperative 关键数据仪表盘

关键数据(截至 2025 年 6 月)

指标数值
托管数据量超过 1 PB(2024 年 10 月为 450TB,半年翻倍)
月数据传输量约 500 TB
月请求数约 1.26 亿次
数据产品数300+
GitHub 代码引用464 个代码仓库(同比增长 149%)

技术架构

  • • 存储后端:AWS S3 + Azure 云存储,支持多区域镜像
  • • 数据格式:支持 Cloud-Optimized GeoTIFF、GeoParquet、FlatGeobuf、PMTiles、Zarr 等云原生格式
  • • 访问方式:HTTP 数据代理(重新设计并改进文档) + 直接云存储访问
  • • 元数据:集成 ORCID/ROR 标识符、DOI、使用量统计
  • • 认证:基于角色的访问控制,支持个人和组织账户
  • • 开发合作伙伴:Development Seed
  • • 新版前端:s2.source.coop(2025 年夏季上线)

代表性数据集

  • • dynamical.org 的云优化全球天气预报数据
  • • Earth Genome 的卫星影像嵌入向量
  • • [C]Worthy 的海洋碳去除图集(Ocean Carbon Dioxide Removal Atlas)
  • • LandCoverNet 全球土地覆盖分类数据
  • • Fields of the World (FTW) 全球农田边界基准数据集
  • • WaterNet 水体数据集(Bridges to Prosperity)
  • • 欧洲地面运动(EGMS)云原生数据
  • • 建筑足迹、农田边界、湿地清单等

三、重点计划与数据集#

3.1 LandCoverNet — 全球土地覆盖分类数据#

LandCoverNet 是 Radiant Earth 发布的首个全球多卫星土地覆盖分类训练数据集,使用 Sentinel-2 卫星的多光谱高分辨率影像。

属性详情
覆盖范围非洲、亚洲、澳洲、欧洲、北美、南美
图像瓦片8,941 张(256×256 像素)
标注像素约 5.86 亿
类别数7 类

七种土地覆盖类型:

    1. 水体
    1. 自然裸地
    1. 人工裸地
    1. 木本植被
    1. 栽培植被
    1. (半)自然植被
    1. 永久冰雪

LandCoverNet非洲版于2020年首先发布,全球版于2022年7月发布。

3.2 fiboa 与 Fields of the World — 农田边界数据生态#

fiboa(Field Boundaries for Agriculture)是Radiant Earth与Taylor Geospatial Engine合作开发的农田边界数据通用规范,旨在让此前孤立的农田边界数据集实现互操作。

Fields of the World (FTW) 是基于 fiboa 规范构建的最大、最多样化的全球农田边界基准数据集

属性详情
样本数超过 76,000 个
地块边界160 万个
覆盖国家27 个国家,4 大洲(欧洲、非洲、亚洲、南美)
输入数据Sentinel-2 光学影像(红、绿、蓝、近红外 4 个波段)
标注类型实例分割和语义分割掩膜

这一合作吸引了Bayer、Microsoft、Planet、亚利桑那州立大学、华盛顿大学圣路易斯分校、世界资源研究所等众多机构参与。其目标是支撑供应链追溯、再生农业实践和小农保险等应用。

3.3 数据挑战赛#

Radiant Earth 组织了多项数据挑战赛,推动 ML 在地球观测领域的应用:

挑战赛时间详情
ICLR CV4A Crop Detection2020在 Zindi 平台举办,440 名数据科学家参与,识别西肯尼亚 7 种作物类型(玉米、木薯、菜豆及 3 种间作组合),涉及 4,000+ 农田
Spot the Crop Challenge2021南非作物类型检测,奖金 $8,800

3.4 “Great Data Products” 播客#

Radiant Earth 推出了 Great Data Products 播客,这是”一档关于数据人体工程学与手艺的播客”(A podcast about the ergonomics and craft of data)。

核心理念:一个”好的数据产品”应该具备文档、明确的许可证、一致的格式、用户支持,最重要的是:它明天还会存在

3.5 Leading Women in Earth Science#

Radiant Earth 每年在国际妇女节期间评选 10 位”地球科学杰出女性”(Leading Women in Earth Science),表彰她们在利用云原生地理空间技术方面的领导力和创新。该项目自 2021 年起持续举办。2024 年获奖者包括气候数据科学家兼海洋学家 Paige Martin、Development Seed 数据工程师 Aimee Barciauskas 等。


四、技术栈全景#

Radiant Earth 的技术生态围绕”云原生地理空间”(Cloud-Native Geospatial)理念构建。

云原生数据格式#

格式用途特点
Cloud-Optimized GeoTIFF (COG)栅格影像HTTP Range Request 支持,无需完整下载。2015 年 Planet 首先将 Landsat 档案转换为 COG 格式
GeoParquet矢量数据列式存储,高效查询大规模矢量数据集
FlatGeobuf矢量数据支持流式传输和空间索引
PMTiles地图瓦片单文件归档,无需瓦片服务器
GeoZarr多维数组为 Zarr 添加地理空间能力,适合时序遥感数据
STAC GeoParquet元数据索引将 STAC Items 批量存储为 GeoParquet,避免逐条 HTTP 请求

核心标准#

  • • STAC:元数据发现和索引的通用标准
  • • OGC API:RESTful 的地理空间数据服务标准
  • • fiboa:农田边界数据互操作规范
  • • Cloud Object Storage:以 S3 兼容的对象存储为数据基础设施

STAC 生态系统与平台集成#

STAC 已被以下主流平台原生支持:

平台维护者说明
NASA Earthdata SearchNASA地球科学数据搜索门户
Microsoft Planetary ComputerMicrosoft地理空间数据分析平台,使用 STAC 框架
Earth SearchElement 84AWS 开放数据的免费 STAC API 索引
USGS LandsatUSGS最新 Landsat 数据通过 STAC API 发布
Google Earth EngineGoogle部分支持 STAC 目录
CBERSINPE(巴西)首批更新至 STAC 1.0.0 的目录之一

云原生地理空间数据格式概览


五、合作伙伴与生态系统#

Radiant Earth 与众多机构建立了深度合作关系:

政府与科研机构#

  • • NASA:通过 ACCESS 计划资助 MLHub 扩展(3 年合作协议);NASA Earthdata 原生支持 STAC
  • • 欧洲航天局(ESA):地球观测数据合作
  • • USGS:Landsat 数据 STAC 化
  • • NOAA:前 CEO Miglarese 曾任商业遥感联邦咨询委员会成员
  • • 地球观测组织(GEO):全球地球观测数据共享

商业与技术公司#

  • • Planet:深度参与 STAC 开发,提供高分辨率卫星影像
  • • Microsoft AI for Earth:Chesapeake Bay 土地覆盖等数据集发布在 MLHub
  • • AWS:为 Source Cooperative 提供实物支持(云存储),Earth Search 由 Element 84 在 AWS 上运营
  • • Development Seed:Source Cooperative 开发合作伙伴,STAC 早期贡献者
  • • Element 84:Earth Search 开发维护,STAC 冲刺创始参与者

数据合作伙伴#

  • • SpaceNet:高质量标注卫星影像(道路和建筑)通过 MLHub 发布(STAC 兼容)
  • • Taylor Geospatial Engine:fiboa / Fields of the World 合作开发
  • • 全球可持续发展数据伙伴关系(Global Partnership for Sustainable Development Data)

社区影响#

在Source Cooperative的beta阶段即服务了超过100个组织,包括世界银行和天主教救济服务等。一位 2017年博茨瓦纳的 Mandela Fellow 使用该平台帮助低收入农民通过无人机分析作物,帮助他们了解何时何地种植作物,最终增加收入并减少粮食不安全。


六、发展历程#

Radiant Earth 发展时间线 2016-2026

时间事件
2016Anne Hale Miglarese 创立 Radiant.Earth(法律名称 Open Imagery Network Inc.)
2017正式启动运营;资助 STAC 首次编程冲刺,启动规范开发;聚焦地球观测数据的开放获取
2018发布首个开放地球影像平台;Miglarese 获评地理空间女性冠军奖;被任命为 NOAA 联邦咨询委员会成员
2019发布 Radiant MLHub,全球首个地球观测 ML 训练数据云端平台;NASA ACCESS 3 年合作协议;SpaceNet 和微软 AI for Earth 数据入驻
2020发布 LandCoverNet 非洲土地覆盖数据集;举办 ICLR CV4A Crop Detection 挑战赛(440 名数据科学家参与)
2021STAC 1.0.0 正式发布(5 月);Cloud-Native Geospatial Foundation 成立;首届 Leading Women in Earth Science 评选
2022Jed Sundwall 接任执行董事;发布 LandCoverNet 全球版(8,941 图像,7 类别,6 大洲)
2023品牌简化为 Radiant Earth;推出 Source Cooperative,MLHub 内容全部迁移;发布 Planet RapidAI4EO 大规模训练数据集;提出 fiboa 规范
2024Source Cooperative 获 Navigation Fund 开放科学计划资助;与 Taylor Geospatial Engine 启动 Innovation Bridge 合作;发布 Fields of the World (FTW) 基准数据集(76,000+ 样本,27 国)
2025Source Cooperative 突破 1 PB 数据(半年翻倍);新版前端 s2.source.coop 上线;Source Cooperative 咨询委员会成立;CNG Conference 2025 召开(NASA、Planet、AWS、NYT 参与);推出 Great Data Products 播客
2026CNG Forum 2026 开放注册(10 月 6-9 日,犹他州 Snowbird)

七、对开发者的意义#

如果你在地球科学、遥感、气候或环境领域工作,Radiant Earth 的工具生态可以直接为你所用:

数据消费者

  • • 通过 Source Cooperative 发现和下载 300+ 开放地理空间数据集
  • • 使用 STAC API(pystac-client)编程搜索和过滤数据
  • • 利用云原生格式(COG、GeoParquet)实现按需读取,无需下载完整文件
  • • 使用 odc-stac 将 STAC Items 直接转为 Xarray 对象

数据发布者

  • • 在 Source Cooperative 上免费发布地理空间数据
  • • 使用 STAC 规范为数据添加标准化元数据
  • • 使用 fiboa 规范发布可互操作的农田边界数据
  • • 获得 DOI 和使用量统计,提升数据的学术影响力
  • • 收听 Great Data Products 播客获取最佳实践

ML/AI 研究者

  • • 获取高质量的地球观测训练数据(作物、建筑、洪水、云、海洋垃圾等)
  • • 使用标准化的数据格式减少预处理工作
  • • 利用 Fields of the World 等基准数据集进行模型评估
  • • 参与数据挑战赛和社区合作

总结#

维度要点
定位非营利地理空间数据基础设施(“瞪羚”模式)
创始人Anne Hale Miglarese(2016),现任 ED Jed Sundwall(2022)
核心贡献STAC 规范 — 地理空间数据的”通用语言”(OGC 标准)
数据平台Source Cooperative — 1PB+ 开放数据,300+ 数据集,1.26 亿月请求
重点数据集LandCoverNet(全球土地覆盖)、Fields of the World(农田边界)、ML 训练数据
社区CNG Forum — 云原生地理空间从业者社区(NASA、Planet、AWS 等参与)
合作伙伴NASA、ESA、Microsoft、Planet、AWS、USGS、GEO 等
技术理念云原生、开放标准、可互操作
影响领域粮食安全、灾害响应、环境监测、全球南方发展
思想引领”互联网权力”、“行星级数据机构”、“Great Data Products”

Radiant Earth正在做的,本质上是为地球科学数据构建一套开放的、云原生的基础设施层,让任何人都能像使用互联网上的网页一样,发现、访问和使用关于地球的数据。


References#

  • • radiant.earth — 官方网站
  • • source.coop — Source Cooperative
  • • stacspec.org — STAC 规范
  • • cloudnativegeo.org — CNG Forum
  • • fieldsofthe.world — Fields of the World
  • • github.com/radiantearth/stac-spec — STAC 源码
  • • medium.com/radiant-earth-insights — Medium 博客
  • • @OurRadiantEarth — X/Twitter
  • • GlobeNewsWire 新闻稿 — 历次官方公告
  • • Element 84 STAC Retrospective — STAC 发展回顾
  • • Taylor Geospatial Engine — fiboa 合作
  • • Radiant Earth Foundation Wikipedia====换个视角看世界.md====

title: “换个视角看世界” published: 2020-03-08 description: “通过遥感影像、空中鸟瞰的视角看世界。” image: “/images/换个视角看世界/img_9d98d97b.jpg” tags: [“数据可视化”, “台风”] category: “数据可视化” draft: false#

火   星#

      先看外星球

      NASA在3月5日发布了一张高分辨率火星全景图,该全景图是由好奇号火星车(Curiosity Rover)在2019年年末拍摄的超过1000张图像制成的,高达18亿像素。这是NASA迄今为止拍摄的有关火星荒凉景观的最高分辨率照片。

        这张合成图像显示了火星盖尔陨石坑中Glen Torridon地区的全景。NASA提供了整个2.43 GB的图像文件供下载,有兴趣的可以去下载。链接:https://mars.nasa.gov/resources/curiositys-1-8-billion-pixel-panorama/?site=msl
还有一个视频版本

遥感影像#

大雨过后的马达加斯加西北海岸的 Helodrano Mahajambe River #Landsat8

俄罗斯西伯利亚勒拿河三角洲保护区 #sentinel2

It shows the Lena Delta situated in the Sakha Republic in Siberia. With a size of 30,000 km2, it is considered one of the largest river deltas in the world.

马达加斯加Mahavavy-Kinkony湿地  #sentinel2Flowing like flames 

印度洋保克湾和马纳尔湾之间美丽的彩色浅水和珊瑚礁。连接印度与斯里兰卡的罗摩桥或称亚当桥(Rama’s Bridge or Adam’s Bridge)其实并不是一座真的桥梁,而是水底清晰可见的岩礁和石灰岩沙洲。#Sentinel2(此处还有一个传说,有兴趣的可以搜一下。)

Beautiful colorful shallow waters and coral reefs between Palk Bay and Gulf of Mannar

阿尔及利亚东南部,撒哈拉沙漠中心 Japan’s ALOS satellite

    In this image, a large area of rock appearing purple stretches across the right side of the image, with fluvial erosion patterns testament to an earlier time when the area received more rainfall. Today, this area sees an average of about 10 mm of rainfall per year. Wind-shaped sand dunes are visible on the left. The area at the bottom appears to be flat, with tiny specks of vegetation.

Coastline between CGuinea and GuineaBissau #Sentinel3 Dec. 2019

城市鸟瞰#

北京

纽约

巴黎

贝加尔湖

布宜诺斯艾利斯

西雅图

里约热内卢

巴塞罗那

香港

布达佩斯

迪拜

阿姆斯特丹

圣彼得堡

武汉黄鹤楼

请横屏后观赏

武汉

Reference:

https://twitter.com/nasahqphotohttps://twitter.com/CopernicusEUhttps://photojournal.jpl.nasa.gov/catalog/PIA23623https://www.youtube.com/watch?v=X2UaFuJsqxhttps://www.airpano.com/国家地理中文网 https://mp.weixin.qq.com/s/D9qeZAmf5Vz-PkNrfLeWmw
```====探索NOAA的数据产品.md====
---
title: "探索NOAA的数据产品"
published: 2024-02-05
description: "本文基于NOAA国家环境信息中心的数据网站,探索并梳理其中一部分数据产品。"
image: "/images/探索NOAA的数据产品/img_b8ad19ab.jpg"
tags: ["数据可视化", "台风"]
category: "数据可视化"
draft: false
---
美国国家海洋和大气管理局(National Oceanic and Atmospheric Administration,简称NOAA)是美国商务部下属的一个科研机构,主要关注地球的大气和海洋变化,提供对灾害天气的预警,提供海图和空图,管理对海洋和沿海资源的利用和保护,研究如何改善对环境的了解和防护。
NOAA的卫星网络和陆地海洋观测系统每天收集获取并加工处理的观测数据和数据产品总量超过20TB。这些庞大且宝贵的数据大部分是免费对公众开放的,为全球各类用户提供了重要的数据资源。NOAA国家环境信息中心(NCEI)通过建设数据库和数据应用服务系统来管理和共享气象数据、海洋数据、气候数据、大气数据和地球物理数据等数据资源,处理着每天来自全球的数百万数据请求。
![](/images/探索NOAA的数据产品/img_926f7adf.png)
本文基于NOAA国家环境信息中心的数据网站,探索并梳理其中一部分数据产品,供参考。
* **数据产品目录**
从NCEI首页(https://www.ncei.noaa.gov/)点击“Products”进入数据产品页面。该页面支持按照数据类别、数据要素和数据采集平台检索。
![](/images/探索NOAA的数据产品/img_cbc5312f.png)
1. **全球集成地表数据库**
全球集成地表数据库(The Integrated Surface Dataset,ISD)由来自全球35000多个站点的地表气象观测数据组成,包含的参数有:空气质量、大气压力、大气温度、露点、大气风、云、降水、海浪、潮汐等。数据的更新频率为每小时、每3小时和每天。有些观测站点的数据最早可追溯到1901年,但大多数数据在20世纪40年代和70年代初出现大幅增长。目前,数据库中每天更新的 "活跃 "站点超过14,000个。
https://www.ncei.noaa.gov/access/metadata/landing-page/bin/iso?id=gov.noaa.ncdc:C00532
![](/images/探索NOAA的数据产品/img_5bae5d5c.png)
用户可下载一个子集,即每小时数据子集。它被称为 "集成地表全球每小时数据"。用户可通过以下数据检索系统查询和下载需要的数据。
https://www.ncei.noaa.gov/access/search/data-search/global-hourly
1. **物理海洋数据**
主要包括全球和区域海洋温度、盐度、海流、风、海表面高度、热含量等数据产品。用户可以通过其提供的基于GIS的交互式数据检索系统下载数据。
![](/images/探索NOAA的数据产品/img_c6385160.png)
https://www.ncei.noaa.gov/products/ocean-physics
https://www.ncei.noaa.gov/maps/ocean-exploration-data-atlas/
![](/images/探索NOAA的数据产品/img_914fa25e.png)全球海流数据库
https://www.ncei.noaa.gov/products/global-ocean-currents-database
1. **海洋地质和地球物理数据**
主要包括海洋沉积物、岩石、地质样品、海底地形地貌、重力、磁力等数据产品。
![](/images/探索NOAA的数据产品/img_c69a693d.png)
https://www.ncei.noaa.gov/maps/trackline-geophysics/
![](/images/探索NOAA的数据产品/img_1adf3f2f.png)https://maps.ngdc.noaa.gov/viewers/bathymetry/![](/images/探索NOAA的数据产品/img_ee4cc9a6.png)
https://www.ncei.noaa.gov/maps/sample\_index/
1. **卫星海洋数据**
NOAA通过其运维的多颗卫星提供海洋水色、海表高度、海洋温盐流、海面风、海冰面积等数据产品。
![](/images/探索NOAA的数据产品/img_97439a5a.png)
https://coastwatch.noaa.gov/cw\_html/cwViewer.html
1. **自然灾害数据**
包括极端天气、地震、海啸、火山喷发、山体滑坡、山火等自然灾害的实时监测和历史数据。
https://www.ncei.noaa.gov/products/natural-hazards
![](/images/探索NOAA的数据产品/img_b9b7bb90.png)
---
**本公众号相关内容推荐:**
* [可视化呈现海洋洋流-墨西哥湾流](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485413&idx=1&sn=3ac351d5a5a06ddee614e9a2ef313d39&chksm=fabf6fbfcdc8e6a960910121e0af4a87213e364f0d8977e75455f6fb984af2def29108c05cb0&scene=21#wechat_redirect)
* [一个快速检索和下载NASA地球科学数据的Python软件包](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485332&idx=1&sn=1ab4dc70f4bf5ea2e1c66843d602bb5f&chksm=fabf6fcecdc8e6d8195c9c76e2fc0112a5d5d63410aec7c9bf5f0972d2568ba5bcd8631411d2&scene=21#wechat_redirect)
* [地理空间数据三维可视化R软件包](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485309&idx=1&sn=4ad935eba08892d5eae12259b2e1963d&chksm=fabf6f27cdc8e631966ca27e64274eea40eda5a5650a336c325134e8aabb30da8a245d61db26&scene=21#wechat_redirect)
* [使用Python+hvPlot绘制出版级可视化图表(附完整代码)](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485218&idx=1&sn=1f33256df8d5dced9cb505b0c5bae377&chksm=fabf6f78cdc8e66e0b3ad5754fa1cbfbc4f0a61627bb123f7fedfb300c43256f74b08db2dd89&scene=21#wechat_redirect)
* [全球海洋船舶定位数据交互式可视化(附数据)](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485165&idx=1&sn=c8c0b1018e8ebc0436ea03b65c5843bd&chksm=fabf6eb7cdc8e7a1c0beb16139174a4618738ba6a777d1386245c2d93856756d8bf151abf90e&scene=21#wechat_redirect)
* [地球科学领域开源python包#1](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247484833&idx=1&sn=bd4f827df3baed8d344c33c42f0ecccf&chksm=fabf6dfbcdc8e4ed3a0673b09e83f08b4333fa1617dd4e749b8ed0a90b7e3f4721ce01a71c71&scene=21#wechat_redirect)
* [地球科学领域开源python包#2](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247484867&idx=1&sn=5d1c8c4a37109630fba96654efe669a9&chksm=fabf6d99cdc8e48f6adce51ae82ecddfc7ca3ca0e754fd9a9ecb82e046c227353227ec5a929e&scene=21#wechat_redirect)
* [大规模空间矢量数据可视化Python库-lonboard](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247484935&idx=1&sn=1c24c747aa6cf7ee0ef22da56640d9c9&chksm=fabf6e5dcdc8e74b4f64bd6f193a29f3853a5c1e8b169bde237f958327edae07fc760461445c&scene=21#wechat_redirect)
* [可视化呈现2023年是有气象记录以来最热的一年](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247484982&idx=1&sn=1c37f6dff58570ff2b821f91c6776dc1&chksm=fabf6e6ccdc8e77a9640a30835cb7457e3eee2d951490e763f5c74f9280526a46897090ee7cb&scene=21#wechat_redirect)
* [大气海洋科学数据可视化案例集#1](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485054&idx=1&sn=086399b206e9ac29fb0583186dbd1665&chksm=fabf6e24cdc8e7329f9c1e7ef2a62bab78860f351916cd703be218690e620767814c0207722b&scene=21#wechat_redirect)
* [地球科学领域计算分析开源Julia软件包](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485098&idx=1&sn=507ce6d9353865edb44c7ae255078856&chksm=fabf6ef0cdc8e7e68650e02472f21799a4ca0f606f9305ffa0838ff9b9d4a6e4bf6862d5d162&scene=21#wechat_redirect)
* [地球观测数据可视化工具](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485142&idx=1&sn=a84720e5cbd8d732c74a3b9abca30922&chksm=fabf6e8ccdc8e79a39684dbb8a9860741f826f18f619fb2037d71a2b70ab33c2614516873124&scene=21#wechat_redirect)
* [数据可视化Python库-Holoviews](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247484651&idx=1&sn=f7ade1a3eb3b3fdc2a04392f7c451fc9&chksm=fabf6cb1cdc8e5a70d6b53ff2b11734eff538834aadad5ed7582bee822f3ccd97eb780ed6428&scene=21#wechat_redirect)
* [三维可视化Python库-PyVista](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247484707&idx=1&sn=842c4fd35e774851767938368e556146&chksm=fabf6d79cdc8e46f0afbe5d1383baa3823914d7af7d6678b413e38cdc013f32c645ae554edb5&scene=21#wechat_redirect)====推荐10个用于处理GIS和遥感数据的Python库.md====
---
title: "推荐10个用于处理GIS和遥感数据的Python库"
published: 2024-12-17
description: ""
image: "/images/推荐10个用于处理GIS和遥感数据的Python库/img_dfe9e5da.jpg"
tags: ["数据可视化", "台风"]
category: "数据可视化"
draft: false
---
# ****
近年来,Python已成为地理信息系统(GIS)和遥感专业人士的首选语言。Python的灵活性和丰富的库生态系统使其能够高效处理大规模空间数据集,进行复杂的地理和环境数据分析与可视化。从处理卫星影像到执行复杂的地理空间操作,Python的库套件可以满足该领域初学者和专家的需求。
本文推荐目前可用于处理GIS和遥感数据的10个Python工具库。这些库广泛应用于分析卫星影像、操作地理数据、转换投影以及可视化结果等任务。使用这些工具可以显著简化GIS领域的数据处理和分析工作流程。
**1. GDAL/OGR**
* **用途:** 地理空间数据抽象库(GDAL)是几乎所有地理空间软件的支柱。GDAL支持读取、写入和转换栅格数据格式。其配套库OGR用于处理矢量格式。
* **特性:**
+ 支持数百种地理空间格式,包括GeoTIFF、Shapefile和GeoJSON。
+ 能够重新投影数据并在坐标参考系统(CRS)之间进行转换。
+ 支持复杂的栅格操作,包括裁剪、扭曲和重采样。
* **用法:** GDAL/OGR 对于转换和操作地理空间数据至关重要。如果需要处理原始卫星数据、管理栅格瓦片或执行大规模 GIS 转换,此库是必不可少的。
pip install GDAL
* **链接地址:** https://gdal.org/
![](/images/推荐10个用于处理GIS和遥感数据的Python库/img_fb72a6a2.png)
![](/images/推荐10个用于处理GIS和遥感数据的Python库/img_4b78ddb3.png)
**2. Rasterio**
* **用途:** Rasterio通过使其易于读取、写入和操作栅格图像,简化了地理空间栅格数据的处理。它非常高效,并能与 NumPy 很好地集成以进行数值运算。
* **特性:**
+ 直观地处理像GeoTIFF、JPG和PNG等格式的栅格数据集。
+ 易于与其他Python库(如NumPy)集成以进行栅格数据处理。
+ 支持地理空间元数据处理和坐标系统。
* **用法:** Rasterio 非常适合处理卫星影像(Landsat、Sentinel)、使用航空摄影或对栅格数据执行地理空间分析。
pip install rasterio
* **链接地址:** https://rasterio.readthedocs.io/en/latest/
![](/images/推荐10个用于处理GIS和遥感数据的Python库/img_573e6bec.png)
**3. Fiona**
* **用途:** Fiona使读取和写入矢量数据格式(如Shapefile、GeoJSON和KML)变得容易。它建立在OGR库之上,但提供了更python风格的接口。
* **特性:**
+ 简化的矢量数据读取和写入。
+ 支持多种格式(Shapefile、GeoJSON、KML)。
+ 能够高效处理几何图形、投影和CRS。
* **用法:** 非常适合处理道路、边界和兴趣点等矢量数据。如果需要操作Shapefile或转换矢量格式,Fiona是一个可以集成到现有工作流程中的绝佳工具。
pip install Fiona
+ **链接地址:** https://fiona.readthedocs.io/en/latest/
**4. GeoPandas**
* **用途:** GeoPandas扩展了流行的Pandas库以支持空间数据。它简化了矢量数据的地理空间操作,如连接、叠加和缓冲,同时保持了Pandas的数据操作能力。
* **特性:**
+ 矢量数据的直观操作。
+ 轻松进行空间连接、缓冲和地理空间查询。
+ 结合了Pandas的强大功能和地理空间功能,实现快速高效的数据操作。
* **用法:** GeoPandas非常适合需要分析和可视化矢量数据的用户。无论您是执行空间连接还是在地图上可视化数据,GeoPandas都能提供无缝的工作流程。
pip install geopandas
* **链接地址:** https://geopandas.org/
![](/images/推荐10个用于处理GIS和遥感数据的Python库/img_9fbc7ba2.png)
**5. Pyproj**
* **用途:** Pyproj是PROJ库的Python接口,用于在不同的坐标系统之间进行转换。它允许您处理地理空间转换,确保来自不同来源的数据正确对齐。
* **特性:**
+ 在不同的坐标系统(CRS)之间进行转换。
+ 支持复杂的地理转换和投影。
* **用法:** 当处理来自不同投影或坐标系统的数据时,Pyproj至关重要。它通常与GDAL、Fiona或GeoPandas一起使用,以确保地理数据正确对齐。
pip install pyproj
* **链接地址:** https://pyproj4.github.io/pyproj/stable/
**6. Shapely**
* **用途:** Shapely提供矢量数据的几何操作和处理。它支持缓冲、相交、联合和差分等操作,使用户可以轻松执行空间查询和操作。
* **特性:**
+ 创建和操作几何对象,如点、线和多边形。
+ 执行诸如缓冲、相交和联合之类的几何操作。
+ 处理具有孔、多点和多边形的复杂几何图形。
* **用法:** Shapely对于涉及操作或分析几何图形的GIS任务至关重要,例如计算多边形的面积或查找地理特征之间的交集。
pip install shapely
* **链接地址:** https://shapely.readthedocs.io/en/stable/
**7. rasterstats**
* **用途:** rasterstats允许高效地汇总矢量几何图形上的栅格数据集。它计算指定多边形内的栅格值的分区统计信息,如平均值、总和或计数。
* **特性:**
+ 分区统计:汇总矢量几何图形上的栅格数据。
+ 支持多种汇总统计信息,如平均值、中位数、计数等。
+ 与GeoPandas兼容,易于集成。
* **用法:** rasterstats对于分析卫星影像和计算指定区域上的统计信息非常有用,例如分析农田内的植被指数(NDVI)。
pip install rasterstats
* **链接地址:** https://pythonhosted.org/rasterstats/
![](/images/推荐10个用于处理GIS和遥感数据的Python库/img_e0203b64.png)
**8. SentinelHub-Py**
* **用途:** SentinelHub-Py是一个开源Python包,可与Sentinel Hub API交互。它简化了 Sentinel Hub API的下载和处理流程。
* **特性:**
+ 轻松访问Sentinel Hub的卫星影像。
+ 自动化Sentinel数据的检索和预处理。
+ 与Sentinel-1(雷达)和Sentinel-2(光学)数据兼容。
* **用法:** 如果您正在使用Sentinel数据,则此软件包是必备的。它可以帮助自动化从 Sentinel-2获取和处理大量卫星影像,非常适合诸如植被分析和土地覆盖分类之类的任务。
pip install sentinelhub
* **链接地址:** https://sentinelhub-py.readthedocs.io/en/latest/
![](/images/推荐10个用于处理GIS和遥感数据的Python库/img_6374fdb5.png)
**9. xarray**
* **用途:** xarray旨在处理多维数组(类似于NetCDF数据)。它广泛应用于大气、环境和气候研究中,其中具有多个维度(时间、空间、变量)的大型数据集很常见。
* **特性:**
+ 支持多维数组。
+ 与Dask集成,可并行处理大型数据集。
+ 非常适合处理NetCDF和网格数据格式。
* \*\*用法:\*\*xarray是处理气候数据、气象数据集和大规模环境模型的强大工具。
pip install xarray
* **链接地址:** https://docs.xarray.dev/en/stable/
![](/images/推荐10个用于处理GIS和遥感数据的Python库/img_89dd2fa4.png)
![](/images/推荐10个用于处理GIS和遥感数据的Python库/img_fe1672b2.png)
**10. EarthPy**
* **用途:** EarthPy简化了常见的GIS和遥感工作流程。它具有用于云遮罩、堆叠卫星图像波段和绘制数据等任务的内置函数。
* **特性:**
+ 用于堆叠和遮罩栅格数据的内置实用工具。
+ 简化的地理空间数据绘图。
+ 易于与其他地理空间库(如GeoPandas和Matplotlib)集成。
* **用法:** EarthPy特别适合需要高级界面来快速执行遥感和GIS分析中常见任务的初学者。
pip install earthpy
* **链接地址:** https://earthpy.readthedocs.io/en/latest/
![](/images/推荐10个用于处理GIS和遥感数据的Python库/img_11e04388.jpg)
![](/images/推荐10个用于处理GIS和遥感数据的Python库/img_5ae90b1e.png)
# **本公众号相关内容推荐**
* [AI行业的2024年](https://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486750&idx=1&sn=bddc88fbb85232e1d84ae945c02d23a9&scene=21#wechat_redirect)
* [ECMWF的AI天气预报系统AIFS开放模型权重参数](https://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486749&idx=1&sn=10ef395ae61679ef32acce301500504b&scene=21#wechat_redirect)
* [The Well:可用于机器学习研究的15TB 物理模拟数据集](https://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486579&idx=1&sn=c08d631d13bab12d68ea8b8a427ee38b&scene=21#wechat_redirect)
* [推荐6个美化Matplotlib可视化样式的python库](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486373&idx=1&sn=0323423e8820ef72fb4b21f0a9d2d133&chksm=fabf63ffcdc8eae9f3c5f4b273ae8aab6deee25488c88c8065a3f70b826a329954fa8bd736d8&scene=21#wechat_redirect)
* [AI天气模型的现状与未来](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486352&idx=1&sn=2f0cc81ace66c29b36a9538b9635d567&chksm=fabf63cacdc8eadcec873a6eb087c2165a52f7db4b6425f957acfd835d67a0303495516952c0&scene=21#wechat_redirect)
* [流式传输和渲染可视化三维地理空间数据](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486352&idx=2&sn=27f1e7b08ca444e348b5e814a5341ea9&chksm=fabf63cacdc8eadccca94008cd6d68ed7c72749f013536fd73fe9978756cb491ea66041c9677&scene=21#wechat_redirect)
* [GIS领域常用的24种数据格式](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486289&idx=1&sn=4e6ad5beb2c83622f5d816643cfcf0c4&chksm=fabf630bcdc8ea1dadb0c08d4f30a68c00871ab6c2e2334aa06f7ca8f48f6ee28ae539136775&scene=21#wechat_redirect)
* [一种基于图神经网络的三维建筑模型重建方法](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486289&idx=2&sn=cc3a650e367484828c957dae2d140b7e&chksm=fabf630bcdc8ea1d8f75d0af9e76311278e9a478822b0833d01e26143177965212247caa4ee8&scene=21#wechat_redirect)
* [WebGIS技术栈推荐](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486221&idx=1&sn=a0542f043c49ba135f277e66e048c331&chksm=fabf6357cdc8ea41650a459068cef1d83a57d77eb658783b2f7381ae7d5c99cfc4b35b73bdde&scene=21#wechat_redirect)
* [使用Python工具可视化大型图网络](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486178&idx=1&sn=f23ce75ebcd70e2e708bc40bcd56e699&chksm=fabf62b8cdc8ebae1972048a9bc3794bb50c454bb0b447a985387b518fc9712205144ba141cd&scene=21#wechat_redirect)
* [使用NetworkX提取图网络特征](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486153&idx=1&sn=638d596055d4cf730631d1ce63916beb&chksm=fabf6293cdc8eb8513bfc369e5bb0fae5721ee4abe8382c97918ccf0c4412d465a1038a0927c&scene=21#wechat_redirect)
* [Argo海洋观测数据处理分析python库:ArgoPy](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486119&idx=1&sn=80932a2dd3841325b1a9c3f04485715e&chksm=fabf62fdcdc8ebeb8777e71051192888116a82ce3a8cf798976f17515e755657f339eb81cc71&scene=21#wechat_redirect)
* [在Jupyter环境中创建交互式可视化地图](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486082&idx=1&sn=57e62f43df5b4568f93eec6c2576a5f2&chksm=fabf62d8cdc8ebcebf915ffd1c2f2c4b90cfefd2c3f8a03ff8a98593347c8954441c156abbf6&scene=21#wechat_redirect)
* [处理和可视化地理空间数据的Python库:EarthPy](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486068&idx=1&sn=dad52a2fddaae5ba34db65df298b83f1&chksm=fabf622ecdc8eb386b076b74dcd287b65f15eff9a1ebc8b0684e276d670046077acc817fdac8&scene=21#wechat_redirect)
* [地理空间深度学习python库:TorchGeo](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486055&idx=1&sn=24f10ec3f457cd44380ef233f9963e56&chksm=fabf623dcdc8eb2b4dced7aa8467d522a1383ff9bae20d5092d03d30955f7ba2253688056b5c&scene=21#wechat_redirect)
* [遥感数据分析python库scikit-eo](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486046&idx=1&sn=602acf1e2f5e559c299a8b13e80fb517&chksm=fabf6204cdc8eb12c0704c7a4e6037b554f68fe0826f09b1a91ae6e7bc41700a9e65ddad66b5&scene=21#wechat_redirect)
* [图网络的应用场景及图分析python库](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485965&idx=1&sn=f8aa290cd93feccdba3500abe0cff348&chksm=fabf6257cdc8eb41b666c59630d6a9d8d642ebf740fc79ef8c3f6027857c4d229808010a33fc&scene=21#wechat_redirect)
* [使用Python和NetworkX创建并可视化图网络(Graph Network)](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485946&idx=1&sn=530310279074989a0729ace617b7e0c9&chksm=fabf61a0cdc8e8b6b8ec33e9ec46aefed01672b6d4e9a6208020e6b9be7f8fbe0e38cc9577df&scene=21#wechat_redirect)
* [OpenResearcher:一个开源科学研究AI助理](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485934&idx=1&sn=3a35078ecfcec51014c24c1db9b2aaa3&chksm=fabf61b4cdc8e8a2cb0ef16fb0fd2bc2d3a3fdc42aef63e106152e55a6fbbf78c78c6b8f5c7a&scene=21#wechat_redirect)
* [NeuralGCM: 一种融合机器学习与物理原理来模拟地球大气的新方法](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485904&idx=1&sn=966cf544765b492436d42cfca66f3a7b&chksm=fabf618acdc8e89c59257b1150cf76ef8fe197ffbf390b7b4736b65ae3ba97c90c4d6d256b2b&scene=21#wechat_redirect)
* [Transformer Explainer:文本生成模型交互式可视化工具](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485859&idx=1&sn=e82c8ab4a071b123f4f3ab98eda381ec&chksm=fabf61f9cdc8e8ef2ba9dd265729eb51bdade88d69c57d4810771dc7d24af1521a5bd08dccf6&scene=21#wechat_redirect)
* [用于探索性数据分析(EDA)的开源python库](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485827&idx=1&sn=295572d805a167c620d0136b67c0aded&chksm=fabf61d9cdc8e8cfb8f3a26163daa4e94e5a8ce990e588f0e1880d1999f909f81d6a0bc28684&scene=21#wechat_redirect)
* [分享一个构建交互式D3js可视化的Python库](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485786&idx=1&sn=6a32cdd45a98b242fd8269b84f441448&chksm=fabf6100cdc8e8162e65c352f762665271ebf42a46345c7d0270ea72494c4c7068637ca7f21e&scene=21#wechat_redirect)
* [推荐15个图网络可视化python软件包](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485733&idx=1&sn=d75b69b4805f0b286026c663c1a934d2&chksm=fabf617fcdc8e869e3844db959192ef3fbae7a4faa703d54eabe7f81cdc5ec523d77fce589dc&scene=21#wechat_redirect)
* [9个提升科研效率的软件工具](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485691&idx=1&sn=9abc8927c179d0cf53eb4f04207820aa&chksm=fabf60a1cdc8e9b7c22e58b854e2a09e588742f59ff2207e437b69fb07362ba3ec381202c488&scene=21#wechat_redirect)
* [生成式人工智能模型颠覆传统天气预报](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485653&idx=1&sn=cfb223fb24824c01c773933c181969b8&chksm=fabf608fcdc8e999f74763593dd0f55b51a4776991060b28dfec146643b7f61ac0bc5d868133&scene=21#wechat_redirect)
* [分享5个python可视化图表工具](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485646&idx=1&sn=f1e740630334f88ef991439822b27fd3&chksm=fabf6094cdc8e9822c58338d80d5ef00f4f135bdcac2f9b893159701e789d37f44e90e4e0183&scene=21#wechat_redirect)
* [分享17个网络(Network)数据可视化工具](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485619&idx=1&sn=44696f7c089da0419bfa21ed181a6835&chksm=fabf60e9cdc8e9ff042c28395f16709da29f6ac0ab78d455cab018001d7264d39121fc5baa37&scene=21#wechat_redirect)====推荐15个图网络可视化python软件包.md====
---
title: "推荐15个图网络可视化python软件包"
published: 2024-04-22
description: "点击下面卡片,快速关注本公众号图网络数据可视化是将复杂的网络结构信息表示为抽象图和网络图的一种方式。"
image: "/images/推荐15个图网络可视化python软件包/img_3ccfb58a.jpg"
tags: ["数据可视化", "台风"]
category: "数据可视化"
draft: false
---
图网络数据可视化是将复杂的网络结构信息表示为抽象图和网络图的一种方式。本文推荐15个用于网络(Network)数据可视化的开源python软件包。前一篇关于网络可视化的推送文章详见[分享17个网络(Network)数据可视化工具](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485619&idx=1&sn=44696f7c089da0419bfa21ed181a6835&chksm=fabf60e9cdc8e9ff042c28395f16709da29f6ac0ab78d455cab018001d7264d39121fc5baa37&scene=21#wechat_redirect)
1. **NetworkX**
NetworkX 是一个用于创建、操作、分析和研究复杂网络结构、动态和功能的 Python 软件包。它已成为 Python 中处理图数据的标准库和大多数处理图机器学习库的基础库。
![](/images/推荐15个图网络可视化python软件包/img_2871187b.jpg)
🔗  https://github.com/networkx/networkx
🔗  https://networkx.org
**2. Graph-tool**
Graph-tool 是一个用于图/网络数据操作和统计分析的python软件包。与大多数其他具有类似功能的 Python 包不同,Graph-tool 的核心数据结构和算法是用 C++ 实现的,大量使用了模板元编程,且严重依赖 Boost 图库。这使得它在内存使用和计算时间上的性能水平与纯 C/C++ 库相当。Graph-tool特有的功能包括:
* 建立在统计原理的基础上,综合框架用于推断性检测,避免过度拟合并具有可解释性。
* 支持从动态数据中重建网络。
* 支持网络数据的不确定性量化(uncertainty quantification)。
* 支持多种算法的 OpenMP 共享内存并行处理。
* 高质量的网络数据可视化,包括静态和交互式的,支持动画和 matplotlib 集成。
* 与 Netzschleuder 网络数据仓库的集成,便于加载网络数据。
* 支持编写自定义的 C++ 扩展。
![](/images/推荐15个图网络可视化python软件包/img_d57bab92.png)
安装:https://graph-tool.skewed.de/installation.html
使用文档:https://graph-tool.skewed.de/static/doc
**3. Graphviz**
Graphviz 是一个开源的图数据可视化python软件包。它在网络、生物信息学、软件工程、数据库和网页设计、机器学习以及其他技术领域的可视化界面中具有重要的应用。
Graphviz 的布局程序支持使用简单文本语言来描述图或网络,并将其制作成有用的格式,例如网页中的图像和 SVG;其他文档中的 PDF 或 Postscript;或在交互式图形浏览器中显示。Graphviz 对于具体图或网络有许多有用的功能,例如颜色选项、字体、表格节点布局、线条样式、超链接和自定义形状。
![](/images/推荐15个图网络可视化python软件包/img_df71b4c2.png)
软件下载:https://graphviz.org/download/
使用文档:https://graphviz.org/documentation/
**4. ipycytoscape**
Cytoscape 是一个用于可视化复杂网络,并可将其与任何类型的属性数据集成的开源python软件包。Cytoscape 起源于计算生物学社区,同时也是一个完整的通用图/网络可视化和分析工具。‍
Cytoscape.js‍是Cytoscape的web前端工具库,ipycytoscape是一个使用 Cytoscape.js 在 JupyterLab 和 Jupyter 笔记本中进行交互式图形可视化的组件。ipycytoscape的目标是使得熟悉Python 生态系统中已经成熟的库(如 Pandas、NetworkX 和 NumPy)的用户能够在 Jupyter 笔记本中可视化他们的图/网络数据,并通过简单的 API 和用户界面以编程或图形方式修改可视化结果。
![](/images/推荐15个图网络可视化python软件包/img_ea4130f2.webp)
🔗  https://github.com/cytoscape/ipycytoscape
🔗  https://js.cytoscape.org/
🔗  https://ipycytoscape.readthedocs.io/en/master/
**5. ipydagred3**
Dagre 是一个支持在客户端上对有向图进行布局的JavaScript 库。dagre-d3 库充当 dagre 的前端,使用 D3JS 进行实际渲染。ipydagred3是使用dagre-d3在 JupyterLab 中绘制有向无环图的python ipywidgets 库。
![](/images/推荐15个图网络可视化python软件包/img_316892cc.gif)
🔗 https://github.com/timkpaine/ipydagred3
**6. ipySigma**
Sigma.js是一个专为网络图可视化而设计的 JavaScript 库,利用 WebGL 实现平滑高效的渲染。它在处理大型数据集方面表现出色,提供了一系列自定义选项,可以创建动态、交互式的图形网页。ipySigma设计为jupyter lab的小组件,集成了Sigma.js 与python软件包NetworkX,能够基于Web浏览器快速渲染网络结构并进行交互式可视化。
ipySigma支持自定义图形的许多视觉变量,例如:节点颜色、大小、标签、边框、光环、象形文字、形状和边的颜色、大小、类型、标签等。
![](/images/推荐15个图网络可视化python软件包/img_fae925dd.webp)
🔗 https://www.sigmajs.org/
🔗 https://github.com/medialab/ipysigma
**7. Netwulf**
Netwulf 是一个用于对 networkx Graph 对象进行网络可视化的一个python交互式可视化工具。Netwulf 提供了一个超简单的 API,可以直接从 Python 提示符或 Jupyter 笔记本中实现可复现的交互式网络可视化。作为研究工具,它的目的是允许快速的交互式布局/样式化。用户只需输入一个 networkx.Graph 对象,通过交互式控制台为网络添加样式,然后可以将结果下载为 PNG 格式,或将布局返回到 Python 进行进一步处理。它的构建理念是,网络操作和预处理应该以编程方式完成,但是高效生成外观吸引人的网络最好是通过交互式操作,而不需要编写代码。
![](/images/推荐15个图网络可视化python软件包/img_10fd99e2.png)
🔗  https://github.com/benmaier/netwulf
**8. nxviz**
nxviz 是一个使用matplotlib 作为后端的图数据可视化python组件包。它提供一个可声明API,用于从 NetworkX 图对象生成美观而合理的图可视化。`nxviz` 提供一系列图:Circos、Arc、Matrix、Hive 和 Parallel 图。
![](/images/推荐15个图网络可视化python软件包/img_9f880564.webp)
🔗 https://github.com/ericmjl/nxviz
**9. Py3plex**
是一个多层复杂网络可视化和分析python库,包含用于分解、可视化和分析异构网络的最新算法。异构网络是具有额外信息分配给节点或边(或两者)的复杂网络。
![](/images/推荐15个图网络可视化python软件包/img_fd4d83ed.jpg)
🔗  https://github.com/SkBlaz/py3plex
**10. Py4cytoscape**
py4cytoscape是一个基于R的RCy3 Cytoscape Automation库重新创建的Python 包。其想法是允许在一种语言(R 或 Python)中编写 Cytoscape 工作流,并将其翻译成另一种语言(Python 或 R)而无需学习不同的 Cytoscape 接口。它通过其 REST API 与网络数据可视化软件Cytoscape 进行通信,提供超过 250 个函数,使得能够在独立的 Python 编程环境和 Jupyter Notebook 中控制 Cytoscape。
![](/images/推荐15个图网络可视化python软件包/img_6aed99ef.gif)
🔗  https://github.com/cytoscape/py4cytoscape
**11. pyDot**
pyDot使用纯python编写,是Graphviz的一个接口,能够解析并转存成GraphViz支持的DOT语言。
![](/images/推荐15个图网络可视化python软件包/img_86818f07.webp)
🔗 https://github.com/pydot/pydot
**12. pyGraphistry**
PyGraphistry 是一个面向 DataFrame 的 Python 可视化图网络AI库,用于提取、查询、转换、分析、建模和可视化大型图形,特别是与Graphistry全流程 GPU 服务器会话一起使用。GFQL 查询语言支持运行 Cypher 属性图查询语言的大部分子集,而无需外部软件,并添加了可选的 GPU 加速。通过使用可选的 graphistry[ai] 依赖项安装 PyGraphistry,可以添加图形自动化机器学习,包括自动特征工程、UMAP 和图形神经网络支持。综合起来,PyGraphistry 将从原始数据到可视化和 AI 模型的时间缩短为三行代码。
Graphistry 是唯一专为大型图网络而构建的工具。客户端的自定义 WebGL 渲染引擎一次可渲染多达 800 万个节点 + 边,并且大多数较老的客户端 GPU 平滑地支持介于 10 万和 200 万个元素之间。服务器端的 GPU 分析引擎支持更大的图网络。它通过python数据生态系统平滑地处理图网络工作流,包括 Pandas/Spark/Dask 数据框架、Nvidia RAPIDS GPU 数据框架和 GPU 图形、DGL/PyTorch 图形神经网络以及各种数据连接器。
![](/images/推荐15个图网络可视化python软件包/img_ddd3a961.jpg)
🔗  https://github.com/graphistry/pygraphistry
**13. python-igraph**
python-igraph是igraph的python接口。igraph是一个使用C语言编写的用于复杂图网络分析的开源软件,提供R、Python、Mathematica 和 C/C++等编程语言接口。python-igraph支持:
* 创建、操作和分析网络。
* 将图网络转换为 networkx、graph-tool 支持的文件格式。
* 使用 Cairo、matplotlib 和 plotly 绘制网络。
![](/images/推荐15个图网络可视化python软件包/img_ff205259.png)
🔗 https://python.igraph.org/en/stable/
🔗 https://github.com/igraph/python-igraph
**14. pyvis**
一个创建和可视化交互式图网络的python软件包。
![](/images/推荐15个图网络可视化python软件包/img_17ace39a.webp)
![](/images/推荐15个图网络可视化python软件包/img_f9568c9b.gif)
🔗 https://github.com/WestHealth/pyvis
**15. SNAP:Stanford Network Analysis Platform**
SNAP是一个用于分析和处理大型网络的通用高性能系统。图由节点和图节点之间的有向/无向/多向边组成。网络是带有网络节点和/或边缘数据的图形。
SNAP 核心库使用 C++ 编写,经过优化,可实现最高性能和紧凑的图形表示。它可以轻松扩展到拥有数亿节点和数十亿边的大型网络。它能有效地处理大型图形、计算结构属性、生成规则和随机图形,并支持节点和边的属性。除了可扩展到大型图形外,SNAP 的另一个优势是图形或网络中的节点、边和属性可在计算过程中动态更改。
![](/images/推荐15个图网络可视化python软件包/img_515d7f9f.webp)
🔗 https://snap.stanford.edu/snap/
🔗 https://github.com/snap-stanford/snap
---
本公众号相关内容推荐:
* [9个提升科研效率的软件工具](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485691&idx=1&sn=9abc8927c179d0cf53eb4f04207820aa&chksm=fabf60a1cdc8e9b7c22e58b854e2a09e588742f59ff2207e437b69fb07362ba3ec381202c488&scene=21#wechat_redirect)
* [生成式人工智能模型颠覆传统天气预报](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485653&idx=1&sn=cfb223fb24824c01c773933c181969b8&chksm=fabf608fcdc8e999f74763593dd0f55b51a4776991060b28dfec146643b7f61ac0bc5d868133&scene=21#wechat_redirect)
* [分享5个python可视化图表工具](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485646&idx=1&sn=f1e740630334f88ef991439822b27fd3&chksm=fabf6094cdc8e9822c58338d80d5ef00f4f135bdcac2f9b893159701e789d37f44e90e4e0183&scene=21#wechat_redirect)
* [分享17个网络(Network)数据可视化工具](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485619&idx=1&sn=44696f7c089da0419bfa21ed181a6835&chksm=fabf60e9cdc8e9ff042c28395f16709da29f6ac0ab78d455cab018001d7264d39121fc5baa37&scene=21#wechat_redirect)
* [Napari:一个支持分析大型多维图像数据集的python工具](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485541&idx=1&sn=d80dec83191b3be53e3f6ee96099362b&chksm=fabf603fcdc8e9292a037159d9ab9ad06e63cfa3ef1d597c6b82bd8a487d60f686f707f5047e&scene=21#wechat_redirect)
* [地理空间数据分析可视化R软件包汇总](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485508&idx=1&sn=1aab2f8294b4dcdfdb864322833411b0&chksm=fabf601ecdc8e908d25a3d5d92806b27e7a1596bd792df7fc0b5c655825010ac4816deb919d0&scene=21#wechat_redirect)
* [大气海洋科学数据可视化案例集#2](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485494&idx=1&sn=ebe606ff1a13883d7534bd7b13f71653&chksm=fabf606ccdc8e97a668cfe1e2dd03ca028a1f4db140dfa24dd45bdc82d0fdd37e85e533f494f&scene=21#wechat_redirect)
* [一个快速检索和下载NASA地球科学数据的Python软件包](https://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485332&idx=1&sn=1ab4dc70f4bf5ea2e1c66843d602bb5f&scene=21#wechat_redirect)
* [可视化呈现海洋洋流-墨西哥湾流](https://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485413&idx=1&sn=3ac351d5a5a06ddee614e9a2ef313d39&scene=21#wechat_redirect)
* [探索NOAA提供的数据产品资源](https://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485448&idx=1&sn=d7ecc36be97f154af4153037e82be1ab&scene=21#wechat_redirect)
* [全球海洋船舶定位数据交互式可视化(附数据)](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485165&idx=1&sn=c8c0b1018e8ebc0436ea03b65c5843bd&chksm=fabf6eb7cdc8e7a1c0beb16139174a4618738ba6a777d1386245c2d93856756d8bf151abf90e&scene=21#wechat_redirect)
* [地球科学领域开源python包#1](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247484833&idx=1&sn=bd4f827df3baed8d344c33c42f0ecccf&chksm=fabf6dfbcdc8e4ed3a0673b09e83f08b4333fa1617dd4e749b8ed0a90b7e3f4721ce01a71c71&scene=21#wechat_redirect)
* [地球科学领域开源python包#2](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247484867&idx=1&sn=5d1c8c4a37109630fba96654efe669a9&chksm=fabf6d99cdc8e48f6adce51ae82ecddfc7ca3ca0e754fd9a9ecb82e046c227353227ec5a929e&scene=21#wechat_redirect)
* [大规模空间矢量数据可视化Python库-lonboard](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247484935&idx=1&sn=1c24c747aa6cf7ee0ef22da56640d9c9&chksm=fabf6e5dcdc8e74b4f64bd6f193a29f3853a5c1e8b169bde237f958327edae07fc760461445c&scene=21#wechat_redirect)
* [可视化呈现2023年是有气象记录以来最热的一年](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247484982&idx=1&sn=1c37f6dff58570ff2b821f91c6776dc1&chksm=fabf6e6ccdc8e77a9640a30835cb7457e3eee2d951490e763f5c74f9280526a46897090ee7cb&scene=21#wechat_redirect)
* [大气海洋科学数据可视化案例集#1](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485054&idx=1&sn=086399b206e9ac29fb0583186dbd1665&chksm=fabf6e24cdc8e7329f9c1e7ef2a62bab78860f351916cd703be218690e620767814c0207722b&scene=21#wechat_redirect)
* [地球科学领域计算分析开源Julia软件包](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485098&idx=1&sn=507ce6d9353865edb44c7ae255078856&chksm=fabf6ef0cdc8e7e68650e02472f21799a4ca0f606f9305ffa0838ff9b9d4a6e4bf6862d5d162&scene=21#wechat_redirect)
* [地球观测数据可视化工具](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485142&idx=1&sn=a84720e5cbd8d732c74a3b9abca30922&chksm=fabf6e8ccdc8e79a39684dbb8a9860741f826f18f619fb2037d71a2b70ab33c2614516873124&scene=21#wechat_redirect)
* [地球科学领域计算分析开源Julia软件包](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485098&idx=1&sn=507ce6d9353865edb44c7ae255078856&chksm=fabf6ef0cdc8e7e68650e02472f21799a4ca0f606f9305ffa0838ff9b9d4a6e4bf6862d5d162&scene=21#wechat_redirect)====推荐5个地理空间数据云平台.md====
---
title: "推荐5个地理空间数据云平台"
published: 2025-04-01
description: ""
image: "/images/推荐5个地理空间数据云平台/img_1c6a4a66.jpg"
tags: ["数据可视化", "台风"]
category: "数据可视化"
draft: false
---
#
随着卫星遥感技术的发展以及地球观测卫星数量的持续增加,地理空间数据的规模正以前所未有的速度增长。 为了更有效地管理、存储和分发这些海量数据,各大云计算平台如亚马逊AWS、Google Earth Engine、Microsoft Planetary Computer以及NASA都建立了各自的地理空间数据生态系统。这些生态系统除了汇聚海量数据资源,还依托其强大的算力资源,集成地理空间数据分析软件工具,为用户提供“存-算-用”一体化数据分析环境。本文将详细介绍这些平台及其数据资源的基本情况、使用方法和实际应用案例等,帮助研究人员和开发者充分利用这些宝贵的数据资源。
![](/images/推荐5个地理空间数据云平台/img_63b1e4f3.png)
## 一、AWS开放数据生态系统
亚马逊AWS的开放数据计划通过AWS云计算基础设施托管关键的地理空间数据集,使公众能够免费访问和分析这些数据。 该项目目前托管了数百个数据集,涵盖地球观测、天气和气候、生命科学、政府数据等领域。
AWS开放数据中的地理空间数据主要包括:Landsat-8/9卫星影像、MODIS数据、Sentinel-1/2数据、NOAA天气数据、高分辨率数字高程模型(如NASADEM)、全球土地覆盖数据等。这些数据直接存储在Amazon S3存储桶中,可以使用各种工具和服务进行访问和分析。
![](/images/推荐5个地理空间数据云平台/img_235952f1.png)
地址:https://registry.opendata.aws
![](/images/推荐5个地理空间数据云平台/img_e60fd0fc.png)
### 使用方法
AWS开放数据集可以通过多种方式访问:
**1.直接通过S3访问**:使用AWS SDK或CLI工具

import boto3

无需AWS凭证即可访问公共数据集#

s3 = boto3.client(‘s3’, region_name=‘us-west-2’)

列出Landsat-8公共数据集中的文件#

response = s3.list_objects_v2(
    Bucket=‘usgs-landsat’,
    Prefix=‘collection02/level-2/standard/oli-tirs/2021/042/034/LC08_L2SP_042034_20210101_20210308_02_T1/‘
)

打印文件列表#

for content in response[‘Contents’][:5]:
    print(content[‘Key’])

**2.通过STAC API访问**:利用标准化的STAC接口

import pystac_client
from pystac.extensions.eo import EOExtension

连接到AWS的STAC Endpoint#

catalog = pystac_client.Client.open(
    “https://landsatlook.usgs.gov/stac-server”, headers=[]
)

搜索特定区域和时间范围的Landsat数据#

search_results = catalog.search(
    collections=[“landsat-c2l2-st”],
    bbox=[-122.5, 37.5, -122.0, 38.0],  
    datetime=“2022-01-01/2022-12-31”,
    query={“eo”: {“lt”: 20}}
)

获取搜索结果#

items = list(search_results.get_items())
print(f”找到 {len(items)} 个项目”)

访问第一个项目的数据#

if items:
    item = items[0]
    print(f”获取到的影像日期: {item.datetime.strftime(‘%Y-%m-%d’)}”)

输出结果:

找到 78 个项目
获取到的影像日期: 2022-12-13

**3. 使用AWS数据交换**:AWS Data Exchange是一项使客户能够在AWS上轻松查找、订阅和使用第三方数据的服务。
## 二、Google Earth Engine平台
Google Earth Engine(GEE)是一个基于云计算基础设施的地理空间数据分析平台,专为处理海量地球观测数据而设计。该平台集成了超过40PB的卫星影像和地理空间数据集,以及用于分析这些数据的高性能计算能力。 GEE的数据目录包含了从1972年至今的完整Landsat系列档案、完整的Sentinel-1/2/3/5档案、MODIS数据产品、气候和天气数据集、土地覆盖数据、社会经济数据集等。
![](/images/推荐5个地理空间数据云平台/img_9f4f7866.png)
GEE的核心优势在于其强大的分布式计算架构,能够在数分钟内完成传统方法需要数月时间的计算任务。此外,GEE提供了JavaScript和Python两种API接口,使研究人员能够轻松编写和运行分析算法。基于Web的Code Editor环境提供了交互式开发体验,包括代码编辑、可视化结果、数据浏览和共享功能。用户可以通过这些工具快速原型设计和测试复杂的地理空间分析工作流程。
对于需要更复杂分析的用户,GEE的Python API可以与其他科学计算库(如NumPy、Pandas、scikit-learn等)无缝集成,扩展分析能力。
地址:https://earthengine.google.com
![](/images/推荐5个地理空间数据云平台/img_ddf4948a.png)![](/images/推荐5个地理空间数据云平台/img_39fb7d03.png)
### 使用方法
使用Google Earth Engine需要先创建一个Google账户并注册GEE访问权限。注册后,您可以通过Code Editor(基于JavaScript的在线IDE)或Earth Engine Python API访问和分析数据。
**1.使用JavaScript API (Code Editor)**
https://code.earthengine.google.com 登录Google账户。

// 加载Landsat 8数据集
var landsat = ee.ImageCollection(‘LANDSAT/LC08/C02/T1_L2’)
  .filterDate(‘2020-01-01’, ‘2020-12-31’)
  .filterBounds(ee.Geometry.Point(-122.3578, 37.7726)); 

// 选择云量较少的影像
var image = landsat.sort(‘CLOUD_COVER’).first();

// 计算NDVI
var nir = image.select(‘SR_B5’);
var red = image.select(‘SR_B4’);
var ndvi = nir.subtract(red).divide(nir.add(red)).rename(‘NDVI’);

// 可视化参数
var ndviParams = {min: -0.2, max: 0.8, palette: [‘blue’, ‘white’, ‘green’]};

// 添加图层到地图
Map.centerObject(image, 8);
Map.addLayer(image, {bands: [‘SR_B4’, ‘SR_B3’, ‘SR_B2’], min: 7000, max: 30000}, ‘True Color’);
Map.addLayer(ndvi, ndviParams, ‘NDVI’);

// 导出结果到Google Drive
Export.image.toDrive({
image: ndvi,
description: ‘NDVI_SF_2020’,
scale: 30,
region: image.geometry(),
maxPixels: 1e13
});

![](/images/推荐5个地理空间数据云平台/img_b9d1e9d1.png)
**2.使用Python API**
首先,安装Earth Engine Python API:

pip install earthengine-api

然后,进行身份验证并使用API:

import ee
import geemap
import matplotlib.pyplot as plt

Initialize Earth Engine#

ee.Authenticate()
ee.Initialize()

Load Landsat 8 dataset#

landsat = ee.ImageCollection(‘LANDSAT/LC08/C02/T1_L2’) \
    .filterDate(‘2020-01-01’, ‘2020-12-31’) \
    .filterBounds(ee.Geometry.Point(-122.3578, 37.7726))  

Select image with less cloud cover#

image = landsat.sort(‘CLOUD_COVER’).first()

Calculate NDVI#

nir = image.select(‘SR_B5’)
red = image.select(‘SR_B4’)
ndvi = nir.subtract(red).divide(nir.add(red)).rename(‘NDVI’)

Visualization parameters#

ndvi_params = {‘min’: -0.2, ‘max’: 0.8, ‘palette’: [‘blue’, ‘white’, ‘green’]}

Visualize with geemap#

Map = geemap.Map()
Map.centerObject(image, 8)
Map.addLayer(image, {‘bands’: [‘SR_B4’, ‘SR_B3’, ‘SR_B2’], ‘min’: 7000, ‘max’: 30000}, ‘True Color’)
Map.addLayer(ndvi, ndvi_params, ‘NDVI’)
Map

Define a region of interest (San Francisco area)#

roi = ee.Geometry.Rectangle([-122.51, 37.70, -122.35, 37.81])

Download NDVI data for analysis#

Option 1: Use the full geometry object#

region = image.geometry().bounds().getInfo()#

Option 2: Use a defined region of interest#

ndvi_array = geemap.ee_to_numpy(ndvi, region=roi, scale=100)

Visualize the downloaded data#

plt.figure(figsize=(10, 8))
plt.imshow(ndvi_array, cmap=‘RdYlGn’, vmin=-0.2, vmax=0.8)
plt.colorbar(label=‘NDVI’)
plt.title(‘NDVI Values in San Francisco Area (2020)‘)
plt.axis(‘off’)
plt.savefig(‘sf_ndvi_2020.png’, dpi=300)

![](/images/推荐5个地理空间数据云平台/img_8617c0e0.png)
## 三、Microsoft Planetary Computer平台
Microsoft Planetary Computer是微软开发的一个基于云计算的地球系统数据与分析平台。该平台整合了地球观测数据、地球系统模型和分析工具等资源,结合强大的人工智能和计算能力,为用户提供一个理解和分析地球系统的工具。
Planetary Computer数据目录包含多种开放数据集,包括:Landsat-8/9系列、Sentinel-1/2/3/5系列、MODIS产品、全球土地覆盖数据、高分辨率土地使用数据、水文数据、生物多样性数据、高分辨率卫星影像等。
![](/images/推荐5个地理空间数据云平台/img_5f4fd914.png)
该平台采用STAC标准组织数据,并提供交互式的Jupyter环境,使用户能够直接在云端分析PB级数据,而无需下载。
地址:https://planetarycomputer.microsoft.com
### 使用方法
要使用Microsoft Planetary Computer,您需要创建一个Microsoft账户并注册Planetary Computer。注册批准后,用户可以使用Python API以编程方式访问数据。
**使用Python API**
在本地环境中安装必要的库:

pip install planetary-computer pystac-client rioxarray matplotlib

然后使用API访问数据:

import planetary_computer
import pystac_client
import rioxarray as rxr
import matplotlib.pyplot as plt
import numpy as np

连接到STAC目录#

catalog = pystac_client.Client.open(
    “https://planetarycomputer.microsoft.com/api/stac/v1”,
    modifier=planetary_computer.sign_inplace
)

搜索数据#

search = catalog.search(
    collections=[“io-lulc”],  # 全球土地利用/土地覆盖数据
    bbox=[114.0, 22.0, 114.5, 22.5],  # 香港地区
    datetime=“2020-01-01/2020-12-31”
)

获取结果#

items = list(search.get_items())
print(f”找到 {len(items)} 个符合条件的土地覆盖数据”)

查看第一个数据项的信息#

if items:
    item = items[0]
    print(f”数据日期: {item.datetime.strftime(‘%Y-%m-%d’)}”)
    
    # 获取土地覆盖数据URL
    lulc_url = planetary_computer.sign(item.assets[“data”].href)
    
    # 读取数据
    lulc = rxr.open_rasterio(lulc_url)
    
    # 土地覆盖类别
    lulc_classes = {
        0: “No Data”,
        1: “Water”,
        2: “Trees”,
        3: “Grass”,
        4: “Flooded vegetation”,
        5: “Crops”,
        6: “Scrub/shrub”,
        7: “Built Area”,
        8: “Bare ground”,
        9: “Snow/Ice”,
        10: “Clouds”
    }
    
    # 创建颜色映射
    cmap = plt.cm.get_cmap(‘tab10’, 11)
    
    # 可视化数据
    plt.figure(figsize=(12, 10))
    im = plt.imshow(lulc.values[0], cmap=cmap, vmin=0, vmax=10)
    
    # 添加图例
    cbar = plt.colorbar(im, ticks=range(11))
    cbar.set_ticklabels([lulc_classes[i] for i inrange(11)])
    
    plt.title(f”香港地区土地覆盖 (2020)”)
    plt.axis(‘off’)
    plt.savefig(‘hongkong_landcover.png’, dpi=300)
    plt.show()
    
    # 计算各类土地覆盖的面积比例
    values, counts = np.unique(lulc.values[0], return_counts=True)
    total = counts.sum()
    
    # 打印统计结果
    print(“\n土地覆盖类型分布:”)
    for val, count inzip(values, counts):
        if val in lulc_classes:
            percentage = count / total * 100
            print(f”{lulc_classes[val]}: {percentage:.2f}%”)

![](/images/推荐5个地理空间数据云平台/img_2479f4d7.jpg)
## 四、NASA CMR (Common Metadata Repository)
NASA CMR是NASA托管的所有地球科学数据集的统一元数据系统。它包含了来自NASA分布式活动归档中心(DAACs)的数据集信息,涵盖各种卫星任务、航空项目和实地观测。
CMR目前包含超过3万个数据集的元数据,包括所有主要的NASA地球观测卫星任务,如Terra, Aqua, Aura, Suomi NPP, SMAP, NISAR, ICESat/ICESat-2, GPM等。这些数据涵盖大气、海洋、陆地、冰冻圈等地球系统各个领域。
CMR-STAC是NASA最近开发的服务,它能够将CMR元数据转换为符合STAC规范的格式,使数据更易于被常用地理空间工具发现和使用。
![](/images/推荐5个地理空间数据云平台/img_1f59529a.png)
### 使用方法
NASA的地球数据可以通过多种方式访问:
**1.使用Earthdata Search**
https://search.earthdata.nasa.gov
使用NASA Earthdata账户登录,然后通过界面查询所需的数据。
![](https://mmbiz.qpic.cn/mmbiz_png/4XThbicfconDOdartDCQhicfCjhfNJUG8n9TEQLq9Hq8XxN3QzkIvyfe6AKsq88kpPiafeYhD4z7TNpHZIKO8eRibw/640?wx_fmt=png&from=appmsg)
**2. 使用Python访问CMR API**
通过API以编程方式搜索和检索元数据。

import requests
import json
import pandas as pd

CMR API基础URL#

cmr_url = “https://cmr.earthdata.nasa.gov/search

搜索数据集#

defsearch_datasets(keyword, limit=10):
    """搜索NASA CMR数据集"""
    url = f”{cmr_url}/collections.json”
    params = {
        “keyword”: keyword,
        “page_size”: limit
    }
    
    response = requests.get(url, params=params)
    
    if response.status_code == 200:
        results = response.json()
        return results.get(‘feed’, {}).get(‘entry’, [])
    else:
        print(f”搜索失败,状态码: {response.status_code}”)
        return []

示例:搜索MODIS数据集#

modis_datasets = search_datasets(“MODIS land surface temperature”)

print(f”找到 {len(modis_datasets)} 个MODIS数据集”)

**3. 使用NASA的CMR STAC API**
提供符合STAC标准的数据访问接口。

import requests
import json
import pystac_client
import matplotlib.pyplot as plt
import rioxarray as rxr
import numpy as np

连接到NASA的CMR STAC API#

stac_api_url = “https://cmr.earthdata.nasa.gov/stac/

创建STAC客户端#

try:
    catalog = pystac_client.Client.open(stac_api_url)
    print(“成功连接到NASA CMR STAC API”)
    
    # 搜索MODIS地表温度数据
    search = catalog.search(
        collections=[“MODIS/Terra Land Surface Temperature/Emissivity Daily L3 Global 1km SIN Grid V061”],
        bbox=[-122.5, 37.5, -122.0, 38.0],  # 旧金山湾区
        datetime=“2021-01-01/2021-12-31”
    )
    
    # 获取结果
    items = list(search.get_items())
    print(f”找到 {len(items)} 个MODIS地表温度数据项”)
    
    
except Exception as e:
    print(f”连接NASA CMR STAC API时出错: {e}”)
    print(“NASA的CMR STAC API可能需要特定配置或凭证”)

## 五、STAC (SpatioTemporal Asset Catalog)生态系统
STAC(SpatioTemporal Asset Catalog)是一种旨在使地理空间数据更容易被索引和发现的开放标准。STAC规范提供了一种统一的方式来描述地理空间数据,使其可以被搜索引擎和地理信息系统工具轻松发现和访问。
STAC生态系统中的数据提供者包括政府机构、研究机构、商业卫星公司和开源项目。主要的STAC目录包括:Element84的Earth Search、Microsoft Planetary Computer STAC、NASA CMR STAC、AWS公开数据STAC、Sentinel Hub STAC等。
![](/images/推荐5个地理空间数据云平台/img_d62bf7fb.png)
作为一个开放标准,STAC的主要优势是提供了一种统一的数据发现机制,减少了数据获取和处理的技术障碍。它通过标准化的JSON元数据格式,使不同来源的数据可以以相同的方式被访问和处理。
地址:https://stacspec.org
### 使用方法
使用STAC主要有两种方式:通过STAC Browser(Web界面)或通过STAC Client API(编程方式):
1. 1. **使用STAC Browser**
访问STAC Index网站(https://stacindex.org/catalogs),浏览各种可用的STAC目录:
![](/images/推荐5个地理空间数据云平台/img_7da76dda.png)
STAC Browser界面
1. 2. **使用PySTAC客户端**

import pystac_client
import planetary_computer
import rasterio
from rasterio.plot import show
import matplotlib.pyplot as plt
import numpy as np
from shapely.geometry import box
import json

连接到STAC目录#

这里以Element84的Earth Search为例#

catalog = pystac_client.Client.open(“https://earth-search.aws.element84.com/v0”)

aoi = box(-80.3, 25.7, -80.1, 25.9)
aoi_json = json.loads(json.dumps(mapping(aoi)))

搜索数据#

search = catalog.search(
    collections=[“sentinel-s2-l2a-cogs”],
    intersects=aoi_json,
    datetime=“2021-01-01/2021-12-31”,
    query={“eo”: {“lt”: 10}}
)

获取结果#

items = list(search.get_items())
print(f”找到 {len(items)} 个符合条件的Sentinel-2影像”)

1. 3. **跨STAC目录搜索**
由于STAC是一个标准,我们可以创建工具来搜索多个STAC目录,如下例所示:

import pystac_client
import concurrent.futures
import pandas as pd

定义要搜索的STAC目录列表#

stac_endpoints = [
    {
        “name”: “Earth Search”,
        “url”: “https://earth-search.aws.element84.com/v0
    },
    {
        “name”: “Microsoft Planetary Computer”,
        “url”: “https://planetarycomputer.microsoft.com/api/stac/v1”,
        “modifier”: lambda x: x  # 实际使用时需要planetary_computer.sign_inplace
    },
    {
        “name”: “NASA CMR STAC”,
        “url”: “https://cmr.earthdata.nasa.gov/stac/
    },
    {
        “name”: “Sentinel Hub STAC”,
        “url”: “https://services.sentinel-hub.com/api/v1/catalog/stac
    }
]

定义搜索参数#

search_params = {
    “bbox”: [-122.5, 37.5, -122.0, 38.0],  
    “datetime”: “2021-01-01/2021-12-31”,
    “limit”: 10
}

函数:搜索单个STAC目录#

defsearch_stac_endpoint(endpoint):
    try:
        # 打开STAC目录
        client_kwargs = {}
        if”modifier”in endpoint:
            client_kwargs[“modifier”] = endpoint[“modifier”]
        
        client = pystac_client.Client.open(endpoint[“url”], **client_kwargs)
        
        # 搜索数据
        search_results = client.search(**search_params)
        
        # 获取结果
        items = list(search_results.get_items())
        
        return {
            “endpoint”: endpoint[“name”],
            “url”: endpoint[“url”],
            “items_count”: len(items),
            “items”: items
        }
    except Exception as e:
        return {
            “endpoint”: endpoint[“name”],
            “url”: endpoint[“url”],
            “error”: str(e),
            “items_count”: 0,
            “items”: []
        }

并行搜索所有STAC目录#

results = []
with concurrent.futures.ThreadPoolExecutor() as executor:
    future_to_endpoint = {executor.submit(search_stac_endpoint, endpoint): endpoint for endpoint in stac_endpoints}
    for future in concurrent.futures.as_completed(future_to_endpoint):
        endpoint = future_to_endpoint[future]
        try:
            data = future.result()
            results.append(data)
        except Exception as exc:
            print(f”{endpoint[‘name’]} 搜索失败: {exc}“)

显示搜索结果#

print(“\nSTAC目录搜索结果:“)
for result in results:
    status = “成功”if”error”notin result elsef”失败: {result[‘error’]}”
    print(f”{result[‘endpoint’]}: {status}, 找到 {result[‘items_count’]} 个项目”)

## 六、综合比较与选择指南
不同平台和数据目录各有优势和特点。以下是主要云平台地理空间数据资源的比较,帮助用户选择最适合其需求的平台:
![](/images/推荐5个地理空间数据云平台/img_0c0fe335.png)
选择平台的建议:
* • **全球尺度分析**: 选择Google Earth Engine
* • **地球环境和生物多样性研究**: 选择Microsoft Planetary Computer
* • **需要灵活性和定制化处理**: 选择AWS开放数据
* • **NASA特定任务数据和科学产品**: 选择NASA CMR
* • **多源数据集成分析**: 使用STAC生态系统连接多个平台
# **本公众号相关内容推荐**
* [一个交互式地理空间数据可视化python工具包](https://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247487231&idx=1&sn=01bbd24420b036e37b22eaa77dcf4b22&scene=21#wechat_redirect)
* [ECMWF发布首个业务化运行人工智能天气预报模型](https://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247487156&idx=1&sn=bda0d4aef63b8f8674fdd5a71593db39&scene=21#wechat_redirect)
* [一个提供超过50PB地理空间数据的云平台](https://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247487131&idx=1&sn=e6606c47670c70b10e0a520c6db6b6db&scene=21#wechat_redirect)
* [4个用于分析卫星遥感影像的开源应用软件](https://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247487123&idx=1&sn=d116b5b2c472d70ee84eb356600ffe2a&scene=21#wechat_redirect)
* [迄今最大规模基于Sentinel的AI-Ready数据集:Major TOM](https://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247487104&idx=1&sn=929566b1a2336c51f41df478b1554b92&scene=21#wechat_redirect)
* [20个用于卫星观测数据可视化的Python库](https://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247487095&idx=1&sn=d65910e89c6272a44f88a99ca8da7737&scene=21#wechat_redirect)
* [Google发布AI天气预报系统实时与历史预报数据](https://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247487064&idx=1&sn=9127aeb27234ddd385a9fb90b3754c17&scene=21#wechat_redirect)
* [OceanSpy:一个提供海洋数值模式数据分析和可视化的Python包](https://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247487036&idx=1&sn=1adab535f55c7bbeb6c90eb631283f72&scene=21#wechat_redirect)
* [Segment-geospatial: 地理空间图像分割开源Python工具包](https://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247487009&idx=1&sn=d0021482c4495212d176cfc5a8700e13&scene=21#wechat_redirect)
* [DeepSeek AI创新:颠覆传统,重新定义大模型开发范式](https://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486991&idx=1&sn=58c7b018b7d51382dd547b2ebca3028d&scene=21#wechat_redirect)
* [大语言模型在科学研究中的应用](https://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486944&idx=1&sn=cc85d7f9775803b69b74a291d28edc9c&scene=21#wechat_redirect)
* [6个用于清洗地理空间数据的Python工具库](https://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486913&idx=1&sn=a8430944039efb13e6d8cb9e15ca18a5&scene=21#wechat_redirect)
* [AllClear:用于卫星影像云去除的综合数据集](https://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486913&idx=2&sn=720a9e48cba597fbe6c03d96e1853562&scene=21#wechat_redirect)
* [深度学习技术在地理空间人工智能(GeoAI)中的应用](https://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486883&idx=1&sn=a1b0b5adf89e10f01a9ea99d070d9a82&scene=21#wechat_redirect)
* [xgcm-通用环流模式后处理Python工具包](https://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486851&idx=1&sn=7a58b4811da5b358690b3654100ea680&scene=21#wechat_redirect)
* [GeoAI:地理信息与人工智能的交叉融合](https://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486833&idx=1&sn=f5072d15831a833ba5fbddb901757b87&scene=21#wechat_redirect)
* [深度学习提升全球海洋涡旋动力学卫星观测能力](https://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486817&idx=1&sn=437722dc9bc27c71595359b900fd219c&scene=21#wechat_redirect)
* [基于xarray扩展的开源地图可视化Python库](https://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486796&idx=1&sn=52373c21074376e7375a3464849ae37d&scene=21#wechat_redirect)
* [NOAA 发布世界磁场模型 WMM2025](https://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486779&idx=1&sn=f1cb3587c231b1e7e75248b16ebedf7c&scene=21#wechat_redirect)
* [推荐10个用于处理GIS和遥感数据的Python库](https://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486765&idx=1&sn=071412d985809cf5bebe0a3b26b43e8c&scene=21#wechat_redirect)
* [ECMWF的AI天气预报系统AIFS开放模型权重参数](https://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486749&idx=1&sn=10ef395ae61679ef32acce301500504b&scene=21#wechat_redirect)
* [The Well:可用于机器学习研究的15TB 物理模拟数据集](https://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486579&idx=1&sn=c08d631d13bab12d68ea8b8a427ee38b&scene=21#wechat_redirect)
* [推荐6个美化Matplotlib可视化样式的python库](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486373&idx=1&sn=0323423e8820ef72fb4b21f0a9d2d133&chksm=fabf63ffcdc8eae9f3c5f4b273ae8aab6deee25488c88c8065a3f70b826a329954fa8bd736d8&scene=21#wechat_redirect)
* [AI天气模型的现状与未来](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486352&idx=1&sn=2f0cc81ace66c29b36a9538b9635d567&chksm=fabf63cacdc8eadcec873a6eb087c2165a52f7db4b6425f957acfd835d67a0303495516952c0&scene=21#wechat_redirect)
* [流式传输和渲染可视化三维地理空间数据](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486352&idx=2&sn=27f1e7b08ca444e348b5e814a5341ea9&chksm=fabf63cacdc8eadccca94008cd6d68ed7c72749f013536fd73fe9978756cb491ea66041c9677&scene=21#wechat_redirect)
* [GIS领域常用的24种数据格式](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486289&idx=1&sn=4e6ad5beb2c83622f5d816643cfcf0c4&chksm=fabf630bcdc8ea1dadb0c08d4f30a68c00871ab6c2e2334aa06f7ca8f48f6ee28ae539136775&scene=21#wechat_redirect)
* [一种基于图神经网络的三维建筑模型重建方法](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486289&idx=2&sn=cc3a650e367484828c957dae2d140b7e&chksm=fabf630bcdc8ea1d8f75d0af9e76311278e9a478822b0833d01e26143177965212247caa4ee8&scene=21#wechat_redirect)
* [WebGIS技术栈推荐](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486221&idx=1&sn=a0542f043c49ba135f277e66e048c331&chksm=fabf6357cdc8ea41650a459068cef1d83a57d77eb658783b2f7381ae7d5c99cfc4b35b73bdde&scene=21#wechat_redirect)
* [使用Python工具可视化大型图网络](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486178&idx=1&sn=f23ce75ebcd70e2e708bc40bcd56e699&chksm=fabf62b8cdc8ebae1972048a9bc3794bb50c454bb0b447a985387b518fc9712205144ba141cd&scene=21#wechat_redirect)
* [使用NetworkX提取图网络特征](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486153&idx=1&sn=638d596055d4cf730631d1ce63916beb&chksm=fabf6293cdc8eb8513bfc369e5bb0fae5721ee4abe8382c97918ccf0c4412d465a1038a0927c&scene=21#wechat_redirect)
* [Argo海洋观测数据处理分析python库:ArgoPy](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486119&idx=1&sn=80932a2dd3841325b1a9c3f04485715e&chksm=fabf62fdcdc8ebeb8777e71051192888116a82ce3a8cf798976f17515e755657f339eb81cc71&scene=21#wechat_redirect)
* [在Jupyter环境中创建交互式可视化地图](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486082&idx=1&sn=57e62f43df5b4568f93eec6c2576a5f2&chksm=fabf62d8cdc8ebcebf915ffd1c2f2c4b90cfefd2c3f8a03ff8a98593347c8954441c156abbf6&scene=21#wechat_redirect)
* [处理和可视化地理空间数据的Python库:EarthPy](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486068&idx=1&sn=dad52a2fddaae5ba34db65df298b83f1&chksm=fabf622ecdc8eb386b076b74dcd287b65f15eff9a1ebc8b0684e276d670046077acc817fdac8&scene=21#wechat_redirect)====推荐6个支持本地设备运行大语言模型的工具.md====
---
title: "推荐6个支持本地设备运行大语言模型的工具"
published: 2024-10-05
description: ""
image: "/images/推荐6个支持本地设备运行大语言模型的工具/img_62438bb6.jpg"
tags: ["数据可视化", "台风"]
category: "数据可视化"
draft: false
---
****
随着人工智能和机器学习的快速发展,像Meta的LLaMA 3和OpenAI的ChatGPT这样的大语言模型(LLMs)在各种应用场景中变得越来越受欢迎。然而,运行大语言模型通常需要将数据发送到由OpenAI或者其他AI模型提供商管理的服务器。尽管这些服务是安全的,但一些用户更倾向于将数据完全离线,以确保更高的隐私性。
运行本地大语言模型可以帮助用户深入了解其性能和工作原理。本地大语言模型能够与私有文档和技术论文进行交互,从而确保这些文档的信息不会上传至任何云端AI服务器。本地大语言模型在无互联网的地方以及网络信号较差的地区非常有用。
本文推荐6个支持在本地运行和测试LLMs的软件工具。这些工具在用户使用时不会收集用户数据或跟踪用户行为。它允许所有聊天数据保留在本地计算机上,而不会与AI/ML服务器共享。
![](/images/推荐6个支持本地设备运行大语言模型的工具/img_63eb8906.jpg)
1. LM Studio
LM Studio提供与ChatGPT类似的功能和特性,可以运行任何格式为gguf的模型文件,如Llama 3.1、Phi 3、Mistral和Gemma。启动LM Studio后,页面上会展示可下载和测试的大语言模型。还可以使用搜索框过滤并从不同的AI提供商下载特定模型。
下载地址:https://lmstudio.ai
![](/images/推荐6个支持本地设备运行大语言模型的工具/img_ccc5dcc8.webp)
![](/images/推荐6个支持本地设备运行大语言模型的工具/img_3bef84bd.webp)
![](/images/推荐6个支持本地设备运行大语言模型的工具/img_5a8fecb7.webp)
使用下面的示例Python代码,用户可以重用现有的OpenAI配置,并修改基本URL以指向您的本地主机。
1from openai import OpenAI
2
3# Point to the local server
4client = OpenAI(base_url="http://localhost:1234/v1", api_key="lm-studio")
5
6completion = client.chat.completions.create(
7 model="TheBloke/Mistral-7B-Instruct-v0.1-GGUF",
8 messages=[
9 {"role": "system", "content": "Always answer in rhymes."},
10 {"role": "user", "content": "Introduce yourself."}
11 ],
12 temperature=0.7,
13)
14
15print(completion.choices[0].message)
**2. Jan**
Jan被称为开源离线版的ChatGPT,支持在本地设备离线安装运行流行的70多个大语言模型,支持从Hugging Face等来源导入模型,支持TensortRT和Inference Nitro等扩展,以自定义和增强用户的AI模型,支持自定义推理参数。
下载地址:https://jan.ai
![](/images/推荐6个支持本地设备运行大语言模型的工具/img_2f9a3ed0.png)
![](/images/推荐6个支持本地设备运行大语言模型的工具/img_8c060b4f.png)
![](/images/推荐6个支持本地设备运行大语言模型的工具/img_8294d2e9.webp)
![](/images/推荐6个支持本地设备运行大语言模型的工具/img_8c760e93.webp)
3. LlamafileLlamafile能够将大语言模型转换为多平台支持的可执行链接格式(ELF),允许用户仅使用一个可执行文件运行LLMs。该工具支持在Windows、MacOS、Linux、Intel、ARM、FreeBSD等架构上运行,无需安装。在底层,Llamafile使用tinyBLAST在Windows等操作系统上运行,而无需SDK。
* **可执行文件**:与LM Studio和Jan等其他LLM工具不同,Llamafile只需一个可执行文件即可运行LLMs。
* **使用现有模型**:Llamafile支持使用现有模型工具,如Ollama和LM Studio。
* **访问或创建模型**:您可以访问来自OpenAI、Mistral、Groq等的流行LLMs。它还支持从头创建模型。
* **模型文件转换**:您可以通过单个命令将许多流行LLMs的文件格式转换,例如,将`gguf`**转换为**`llamafile`**:**`llamafile-convert mistral-7b.gguf`。
由于其更快的性能,它非常适合用于总结长文本和大型文档。它完全离线运行并保持私密,因此用户的数据不会共享给任何AI服务器或API。类似Hugging Face这样的机器学习社区支持Llamafile格式,使得搜索与Llamafile相关的模型变得容易。https://github.com/Mozilla-Ocho/llamafile
![](/images/推荐6个支持本地设备运行大语言模型的工具/img_9bb0e05d.webp)
![](/images/推荐6个支持本地设备运行大语言模型的工具/img_5de91037.webp)
![](/images/推荐6个支持本地设备运行大语言模型的工具/img_add3c830.png)
**4. GPT4ALL**
GPT4ALL是一个支持在个人PC或者笔记本电脑上运行大型语言模型(LLMs)的开源项目,无需调用API或者使用GPU,目前在github上已经获得了超过6.9万个星标。
https://github.com/nomic-ai/gpt4all
![](/images/推荐6个支持本地设备运行大语言模型的工具/img_6ae71158.webp)
5. Ollama
安装完成Ollam后,可以通过命令行运行模型,例如使用命令ollama run llama3来启动Llama 3模型。Ollama支持与Python等编程语言集成,用户可以通过LangChain等库与Ollama连接并使用其功能。用户可以轻松创建本地聊天机器人,而无需连接到像OpenAI这样的API。Ollama支持从PyTorch导入模型。Ollama支持转换.gguf模型文件并运行该模型。下载地址:https://ollama.com
![](/images/推荐6个支持本地设备运行大语言模型的工具/img_577c58cf.png)
6. LLaMa.cpp
LLaMa.cpp是支持Ollama等本地LLM工具的基础后端技术(推理引擎)。LLaMa.cpp能够以最小的配置在各种硬件上实现显著的大型语言模型推理,并提供出色的本地性能。它也可以在云中运行。它支持流行的主要LLM,如Mistral 7B、Mixtral MoE、DBRX、Falcon以及其他许多模型。LLaMa.cpp支持开源LLM用户界面工具,如MindWorkAI/AI-Studio(FSL-1.1-MIT)、iohub/collama等。
https://github.com/ggerganov/llama.cpp
![](/images/推荐6个支持本地设备运行大语言模型的工具/img_9a8155de.png)‍
![](/images/推荐6个支持本地设备运行大语言模型的工具/img_93d6b386.gif)
# **本公众号相关内容推荐**
* [WebGIS技术栈推荐](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486221&idx=1&sn=a0542f043c49ba135f277e66e048c331&chksm=fabf6357cdc8ea41650a459068cef1d83a57d77eb658783b2f7381ae7d5c99cfc4b35b73bdde&scene=21#wechat_redirect)
* [使用Python工具可视化大型图网络](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486178&idx=1&sn=f23ce75ebcd70e2e708bc40bcd56e699&chksm=fabf62b8cdc8ebae1972048a9bc3794bb50c454bb0b447a985387b518fc9712205144ba141cd&scene=21#wechat_redirect)
* [使用NetworkX提取图网络特征](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486153&idx=1&sn=638d596055d4cf730631d1ce63916beb&chksm=fabf6293cdc8eb8513bfc369e5bb0fae5721ee4abe8382c97918ccf0c4412d465a1038a0927c&scene=21#wechat_redirect)
* [Argo海洋观测数据处理分析python库:ArgoPy](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486119&idx=1&sn=80932a2dd3841325b1a9c3f04485715e&chksm=fabf62fdcdc8ebeb8777e71051192888116a82ce3a8cf798976f17515e755657f339eb81cc71&scene=21#wechat_redirect)
* [在Jupyter环境中创建交互式可视化地图](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486082&idx=1&sn=57e62f43df5b4568f93eec6c2576a5f2&chksm=fabf62d8cdc8ebcebf915ffd1c2f2c4b90cfefd2c3f8a03ff8a98593347c8954441c156abbf6&scene=21#wechat_redirect)
* [处理和可视化地理空间数据的Python库:EarthPy](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486068&idx=1&sn=dad52a2fddaae5ba34db65df298b83f1&chksm=fabf622ecdc8eb386b076b74dcd287b65f15eff9a1ebc8b0684e276d670046077acc817fdac8&scene=21#wechat_redirect)
* [地理空间深度学习python库:TorchGeo](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486055&idx=1&sn=24f10ec3f457cd44380ef233f9963e56&chksm=fabf623dcdc8eb2b4dced7aa8467d522a1383ff9bae20d5092d03d30955f7ba2253688056b5c&scene=21#wechat_redirect)
* [遥感数据分析python库scikit-eo](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486046&idx=1&sn=602acf1e2f5e559c299a8b13e80fb517&chksm=fabf6204cdc8eb12c0704c7a4e6037b554f68fe0826f09b1a91ae6e7bc41700a9e65ddad66b5&scene=21#wechat_redirect)
* [图网络的应用场景及图分析python库](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485965&idx=1&sn=f8aa290cd93feccdba3500abe0cff348&chksm=fabf6257cdc8eb41b666c59630d6a9d8d642ebf740fc79ef8c3f6027857c4d229808010a33fc&scene=21#wechat_redirect)
* [使用Python和NetworkX创建并可视化图网络(Graph Network)](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485946&idx=1&sn=530310279074989a0729ace617b7e0c9&chksm=fabf61a0cdc8e8b6b8ec33e9ec46aefed01672b6d4e9a6208020e6b9be7f8fbe0e38cc9577df&scene=21#wechat_redirect)
* [OpenResearcher:一个开源科学研究AI助理](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485934&idx=1&sn=3a35078ecfcec51014c24c1db9b2aaa3&chksm=fabf61b4cdc8e8a2cb0ef16fb0fd2bc2d3a3fdc42aef63e106152e55a6fbbf78c78c6b8f5c7a&scene=21#wechat_redirect)
* [NeuralGCM: 一种融合机器学习与物理原理来模拟地球大气的新方法](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485904&idx=1&sn=966cf544765b492436d42cfca66f3a7b&chksm=fabf618acdc8e89c59257b1150cf76ef8fe197ffbf390b7b4736b65ae3ba97c90c4d6d256b2b&scene=21#wechat_redirect)
* [Transformer Explainer:文本生成模型交互式可视化工具](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485859&idx=1&sn=e82c8ab4a071b123f4f3ab98eda381ec&chksm=fabf61f9cdc8e8ef2ba9dd265729eb51bdade88d69c57d4810771dc7d24af1521a5bd08dccf6&scene=21#wechat_redirect)
* [用于探索性数据分析(EDA)的开源python库](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485827&idx=1&sn=295572d805a167c620d0136b67c0aded&chksm=fabf61d9cdc8e8cfb8f3a26163daa4e94e5a8ce990e588f0e1880d1999f909f81d6a0bc28684&scene=21#wechat_redirect)
* [分享一个构建交互式D3js可视化的Python库](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485786&idx=1&sn=6a32cdd45a98b242fd8269b84f441448&chksm=fabf6100cdc8e8162e65c352f762665271ebf42a46345c7d0270ea72494c4c7068637ca7f21e&scene=21#wechat_redirect)
* [推荐15个图网络可视化python软件包](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485733&idx=1&sn=d75b69b4805f0b286026c663c1a934d2&chksm=fabf617fcdc8e869e3844db959192ef3fbae7a4faa703d54eabe7f81cdc5ec523d77fce589dc&scene=21#wechat_redirect)
* [9个提升科研效率的软件工具](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485691&idx=1&sn=9abc8927c179d0cf53eb4f04207820aa&chksm=fabf60a1cdc8e9b7c22e58b854e2a09e588742f59ff2207e437b69fb07362ba3ec381202c488&scene=21#wechat_redirect)
* [生成式人工智能模型颠覆传统天气预报](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485653&idx=1&sn=cfb223fb24824c01c773933c181969b8&chksm=fabf608fcdc8e999f74763593dd0f55b51a4776991060b28dfec146643b7f61ac0bc5d868133&scene=21#wechat_redirect)
* [分享5个python可视化图表工具](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485646&idx=1&sn=f1e740630334f88ef991439822b27fd3&chksm=fabf6094cdc8e9822c58338d80d5ef00f4f135bdcac2f9b893159701e789d37f44e90e4e0183&scene=21#wechat_redirect)
* [分享17个网络(Network)数据可视化工具](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485619&idx=1&sn=44696f7c089da0419bfa21ed181a6835&chksm=fabf60e9cdc8e9ff042c28395f16709da29f6ac0ab78d455cab018001d7264d39121fc5baa37&scene=21#wechat_redirect)
* [Napari:一个支持分析大型多维图像数据集的python工具](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485541&idx=1&sn=d80dec83191b3be53e3f6ee96099362b&chksm=fabf603fcdc8e9292a037159d9ab9ad06e63cfa3ef1d597c6b82bd8a487d60f686f707f5047e&scene=21#wechat_redirect)
* [地理空间数据分析可视化R软件包汇总](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485508&idx=1&sn=1aab2f8294b4dcdfdb864322833411b0&chksm=fabf601ecdc8e908d25a3d5d92806b27e7a1596bd792df7fc0b5c655825010ac4816deb919d0&scene=21#wechat_redirect)
* [大气海洋科学数据可视化案例集#2](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485494&idx=1&sn=ebe606ff1a13883d7534bd7b13f71653&chksm=fabf606ccdc8e97a668cfe1e2dd03ca028a1f4db140dfa24dd45bdc82d0fdd37e85e533f494f&scene=21#wechat_redirect)
* [一个快速检索和下载NASA地球科学数据的Python软件包](https://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485332&idx=1&sn=1ab4dc70f4bf5ea2e1c66843d602bb5f&scene=21#wechat_redirect)
* [可视化呈现海洋洋流-墨西哥湾流](https://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485413&idx=1&sn=3ac351d5a5a06ddee614e9a2ef313d39&scene=21#wechat_redirect)
* [探索NOAA提供的数据产品资源](https://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485448&idx=1&sn=d7ecc36be97f154af4153037e82be1ab&scene=21#wechat_redirect)
* [全球海洋船舶定位数据交互式可视化(附数据)](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485165&idx=1&sn=c8c0b1018e8ebc0436ea03b65c5843bd&chksm=fabf6eb7cdc8e7a1c0beb16139174a4618738ba6a777d1386245c2d93856756d8bf151abf90e&scene=21#wechat_redirect)
* [地球科学领域开源python包#1](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247484833&idx=1&sn=bd4f827df3baed8d344c33c42f0ecccf&chksm=fabf6dfbcdc8e4ed3a0673b09e83f08b4333fa1617dd4e749b8ed0a90b7e3f4721ce01a71c71&scene=21#wechat_redirect)
* [地球科学领域开源python包#2](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247484867&idx=1&sn=5d1c8c4a37109630fba96654efe669a9&chksm=fabf6d99cdc8e48f6adce51ae82ecddfc7ca3ca0e754fd9a9ecb82e046c227353227ec5a929e&scene=21#wechat_redirect)
* [大规模空间矢量数据可视化Python库-lonboard](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247484935&idx=1&sn=1c24c747aa6cf7ee0ef22da56640d9c9&chksm=fabf6e5dcdc8e74b4f64bd6f193a29f3853a5c1e8b169bde237f958327edae07fc760461445c&scene=21#wechat_redirect)
* [可视化呈现2023年是有气象记录以来最热的一年](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247484982&idx=1&sn=1c37f6dff58570ff2b821f91c6776dc1&chksm=fabf6e6ccdc8e77a9640a30835cb7457e3eee2d951490e763f5c74f9280526a46897090ee7cb&scene=21#wechat_redirect)
* [大气海洋科学数据可视化案例集#1](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485054&idx=1&sn=086399b206e9ac29fb0583186dbd1665&chksm=fabf6e24cdc8e7329f9c1e7ef2a62bab78860f351916cd703be218690e620767814c0207722b&scene=21#wechat_redirect)
* [地球科学领域计算分析开源Julia软件包](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485098&idx=1&sn=507ce6d9353865edb44c7ae255078856&chksm=fabf6ef0cdc8e7e68650e02472f21799a4ca0f606f9305ffa0838ff9b9d4a6e4bf6862d5d162&scene=21#wechat_redirect)
* [地球观测数据可视化工具](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485142&idx=1&sn=a84720e5cbd8d732c74a3b9abca30922&chksm=fabf6e8ccdc8e79a39684dbb8a9860741f826f18f619fb2037d71a2b70ab33c2614516873124&scene=21#wechat_redirect)
* [地球科学领域计算分析开源Julia软件包](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485098&idx=1&sn=507ce6d9353865edb44c7ae255078856&chksm=fabf6ef0cdc8e7e68650e02472f21799a4ca0f606f9305ffa0838ff9b9d4a6e4bf6862d5d162&scene=21#wechat_redirect)====推荐6个美化Matplotlib可视化样式的python库.md====
---
title: "推荐6个美化Matplotlib可视化样式的python库"
published: 2024-10-20
description: ""
image: "/images/推荐6个美化Matplotlib可视化样式的python库/img_d33b412f.jpg"
tags: ["数据可视化", "台风"]
category: "数据可视化"
draft: false
---
****
无论对数据的理解和研究有多深入,最终对结果的判断很大程度上取决于数据的可视化效果,即所谓的“一图胜千言”。图形化的数据更容易被人脑快速处理和理解,可以揭示数据中的趋势、模式和异常,是传达复杂信息的有力工具,并且可以帮助决策者更快、更准确地做出判断。
Matplotlib是Python中最流行和使用最广泛的数据可视化库之一。它提供了一个类似MATLAB的绘图接口,能够创建各种静态图表。它支持线图、散点图、柱状图、直方图等多种图表,可以兼容其他科学计算库(如 NumPy、Pandas),并且有大量的教程和示例可供参考。但它默认的可视化风格相对单调,交互式功能不足。
![](/images/推荐6个美化Matplotlib可视化样式的python库/img_45e94c72.png)
![](/images/推荐6个美化Matplotlib可视化样式的python库/img_9e99743f.png)
本文介绍6个能够美化Matplotlib可视化样式的python库,它们可以为常规的线图/散点图、直方图和其他基本可视化图着色。
我们首先生成一组样例数据,每个python库生成4个可视化子图,这样就可以在同类数据上对它们进行比较。
1import matplotlib
2import matplotlib.pyplot as plt
3import numpy as np
4import pandas as pd
5import seaborn as sns
6
7'''Generating points to create a scatter plot'''
8def scatter():
9 x = np.random.random(100)
10 y = x-np.random.random(100)
11 z = np.random.randint(0,4,100)
12 df = pd.DataFrame({'X':x, 'Y': y, 'Z':z})
13 return df
14
15'''Generating points to create a line plot'''
16def line():
17 x = np.arange(0,10,0.1)
18 y_1 = np.sin(x)
19 y_2 = np.sin(x+5)
20 y_3 = np.sin(x+10)
21 y_4 = np.sin(x+15)
22 y_5 = np.sin(x+20)
23 df = pd.DataFrame({'X':x,'y_1':y_1, 'y_2':y_2,
24 'y_3':y_3, 'y_4':y_4, 'y_5':y_5})
25 return df
26
27'''Sampling data from several distributions'''
28def hist():
29 x_1 = np.random.normal(1,0.1,1000)
30 x_2 = np.random.gamma(1,0.25,1000)
31 x_3 = np.random.normal(0.4, 0.1,1000)
32 x_4 = np.random.normal(-0.1, 0.3,1000)
33 df = pd.DataFrame({'X_1': x_1, 'X_2':x_2, 'X_3': x_3, 'X_4':x_4})
34 return df
1. **Aquarel**
Aquarel是一个轻量级模板引擎,也是Matplotlibs的rcparams包装器,可让绘图样式变得简单。Aquarel模板可以通过编程定义,并以JSON格式序列化和共享。该python库提供12种样式模板。
https://github.com/lgienapp/aquarel
![](/images/推荐6个美化Matplotlib可视化样式的python库/img_e249157c.png)
使用pip安装Aquarel:
pip install aquarel
通过以下代码使用这些模板:
1with load_theme("arctic_light"):
2
3 fig, ax = plt.subplots(ncols=2, nrows=2, figsize=(16,9))
4 df = scatter()
5 f= ax[0,0].scatter(df.X,df.Y, c=df.Z, s=50)
6 ax[0,0].set_xlabel('X data')
7 ax[0,0].set_ylabel('Y data')
8 handles, labels = f.legend_elements(prop="colors", alpha=0.6)
9 legend2 = ax[0,0].legend(handles, labels, loc="lower right")
10
11 df=line()
12 df.plot(x='X', ax=ax[0,1])
13
14 df=hist()
15 sns.kdeplot(df, fill=True, ax=ax[1,0])
16 ax[1,0].set_xlabel('Value')
17
18 sns.kdeplot(df, x="X_1", y="X_2", fill=True, ax=ax[1,1])
19 sns.kdeplot(df, x="X_3", y="X_4",fill=True, ax=ax[1,1])
20 ax[1,1].set_xlabel('Dist 1')
21 ax[1,1].set_ylabel('Dist 2')
22
23 plt.suptitle('Aquarel\narctic_light', fontsize=24)
24 plt.savefig('arctic_light.jpg')
25 plt.show()
可视化效果如下图:
![](/images/推荐6个美化Matplotlib可视化样式的python库/img_74136dcd.webp)
![](/images/推荐6个美化Matplotlib可视化样式的python库/img_df29cd0c.webp)
2. **rose-pine-matplotlib**
它不是一个库,而是一组主题样式,用户需要下载这些主题,放到mpl\_configdir/stylelib目录内,然后在代码中指定该模板的路径,例如:
1plt.style.use('rose-pine')
之后,你只需执行相同的绘图步骤即可。这个库的色调比较柔和,同时对比度也足够大。
https://github.com/h4pZ/rose-pine-matplotlib
![](/images/推荐6个美化Matplotlib可视化样式的python库/img_327acd9d.webp)
3. **Catppuccin**
它包括4种不同的可视化风格,具有不同的暗色程度。
https://github.com/catppuccin/python/tree/main
使用pip安装该库:
pip install catppuccin
使用如下代码进行绘图:
1import catppuccin
2import matplotlib as mpl
3import matplotlib.pyplot as plt
4
5mpl.style.use(catppuccin.PALETTE.mocha.identifier)
6plt.plot([0,1,2,3], [1,2,3,4])
7plt.show()
![](/images/推荐6个美化Matplotlib可视化样式的python库/img_14f514f7.webp)
Catppuccin包还可以混合不同的样式表,例如结合基本的seaborn-v0\_8-dark和mocha。
![](/images/推荐6个美化Matplotlib可视化样式的python库/img_640f9629.webp)
4. **mplcyberpunk**
使用这个Python包,不仅可以提供适当的颜色和背景,还可以为图表添加发光效果,只需3行代码即可创建“赛博朋克”风格的图表。
https://github.com/dhaitz/mplcyberpunk
![](/images/推荐6个美化Matplotlib可视化样式的python库/img_233cff13.webp)![](/images/推荐6个美化Matplotlib可视化样式的python库/img_71a3b11b.webp)
![](/images/推荐6个美化Matplotlib可视化样式的python库/img_90cc58ea.webp)
5. **matplotx**
这是matplotlib的另一个扩展,可以像以前的扩展一样使用pip安装。它提供20个不同的主题风格。
pip install matplotx[all]
直接在python代码中引用:
1import matplotx
https://github.com/nschloe/matplotx
![](/images/推荐6个美化Matplotlib可视化样式的python库/img_f5084229.webp)
![](/images/推荐6个美化Matplotlib可视化样式的python库/img_84796909.png)
6. **gruvbox**
基于Pavel Pertsevs Gruvbox调色板和主题,为Python的Matplotlib绘图库设计了一种简单的深色背景颜色样式。
https://github.com/thriveth/gruvbox-mpl
这是一个样式文件gruvbox.mplstyle,下载后放到你的当前工作目录,在python代码中使用:
import matplotlib.pyplot as plt
plt.style.use('./gruvbox.mplstyle')
![](/images/推荐6个美化Matplotlib可视化样式的python库/img_de171de0.webp)
---
**如需本文完整代码,请后台私信留言获取。**
# **本公众号相关内容推荐**
* [AI天气模型的现状与未来](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486352&idx=1&sn=2f0cc81ace66c29b36a9538b9635d567&chksm=fabf63cacdc8eadcec873a6eb087c2165a52f7db4b6425f957acfd835d67a0303495516952c0&scene=21#wechat_redirect)
* [流式传输和渲染可视化三维地理空间数据](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486352&idx=2&sn=27f1e7b08ca444e348b5e814a5341ea9&chksm=fabf63cacdc8eadccca94008cd6d68ed7c72749f013536fd73fe9978756cb491ea66041c9677&scene=21#wechat_redirect)
* [GIS领域常用的24种数据格式](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486289&idx=1&sn=4e6ad5beb2c83622f5d816643cfcf0c4&chksm=fabf630bcdc8ea1dadb0c08d4f30a68c00871ab6c2e2334aa06f7ca8f48f6ee28ae539136775&scene=21#wechat_redirect)
* [一种基于图神经网络的三维建筑模型重建方法](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486289&idx=2&sn=cc3a650e367484828c957dae2d140b7e&chksm=fabf630bcdc8ea1d8f75d0af9e76311278e9a478822b0833d01e26143177965212247caa4ee8&scene=21#wechat_redirect)
* [WebGIS技术栈推荐](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486221&idx=1&sn=a0542f043c49ba135f277e66e048c331&chksm=fabf6357cdc8ea41650a459068cef1d83a57d77eb658783b2f7381ae7d5c99cfc4b35b73bdde&scene=21#wechat_redirect)
* [使用Python工具可视化大型图网络](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486178&idx=1&sn=f23ce75ebcd70e2e708bc40bcd56e699&chksm=fabf62b8cdc8ebae1972048a9bc3794bb50c454bb0b447a985387b518fc9712205144ba141cd&scene=21#wechat_redirect)
* [使用NetworkX提取图网络特征](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486153&idx=1&sn=638d596055d4cf730631d1ce63916beb&chksm=fabf6293cdc8eb8513bfc369e5bb0fae5721ee4abe8382c97918ccf0c4412d465a1038a0927c&scene=21#wechat_redirect)
* [Argo海洋观测数据处理分析python库:ArgoPy](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486119&idx=1&sn=80932a2dd3841325b1a9c3f04485715e&chksm=fabf62fdcdc8ebeb8777e71051192888116a82ce3a8cf798976f17515e755657f339eb81cc71&scene=21#wechat_redirect)
* [在Jupyter环境中创建交互式可视化地图](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486082&idx=1&sn=57e62f43df5b4568f93eec6c2576a5f2&chksm=fabf62d8cdc8ebcebf915ffd1c2f2c4b90cfefd2c3f8a03ff8a98593347c8954441c156abbf6&scene=21#wechat_redirect)
* [处理和可视化地理空间数据的Python库:EarthPy](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486068&idx=1&sn=dad52a2fddaae5ba34db65df298b83f1&chksm=fabf622ecdc8eb386b076b74dcd287b65f15eff9a1ebc8b0684e276d670046077acc817fdac8&scene=21#wechat_redirect)
* [地理空间深度学习python库:TorchGeo](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486055&idx=1&sn=24f10ec3f457cd44380ef233f9963e56&chksm=fabf623dcdc8eb2b4dced7aa8467d522a1383ff9bae20d5092d03d30955f7ba2253688056b5c&scene=21#wechat_redirect)
* [遥感数据分析python库scikit-eo](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486046&idx=1&sn=602acf1e2f5e559c299a8b13e80fb517&chksm=fabf6204cdc8eb12c0704c7a4e6037b554f68fe0826f09b1a91ae6e7bc41700a9e65ddad66b5&scene=21#wechat_redirect)
* [图网络的应用场景及图分析python库](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485965&idx=1&sn=f8aa290cd93feccdba3500abe0cff348&chksm=fabf6257cdc8eb41b666c59630d6a9d8d642ebf740fc79ef8c3f6027857c4d229808010a33fc&scene=21#wechat_redirect)
* [使用Python和NetworkX创建并可视化图网络(Graph Network)](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485946&idx=1&sn=530310279074989a0729ace617b7e0c9&chksm=fabf61a0cdc8e8b6b8ec33e9ec46aefed01672b6d4e9a6208020e6b9be7f8fbe0e38cc9577df&scene=21#wechat_redirect)
* [OpenResearcher:一个开源科学研究AI助理](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485934&idx=1&sn=3a35078ecfcec51014c24c1db9b2aaa3&chksm=fabf61b4cdc8e8a2cb0ef16fb0fd2bc2d3a3fdc42aef63e106152e55a6fbbf78c78c6b8f5c7a&scene=21#wechat_redirect)
* [NeuralGCM: 一种融合机器学习与物理原理来模拟地球大气的新方法](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485904&idx=1&sn=966cf544765b492436d42cfca66f3a7b&chksm=fabf618acdc8e89c59257b1150cf76ef8fe197ffbf390b7b4736b65ae3ba97c90c4d6d256b2b&scene=21#wechat_redirect)
* [Transformer Explainer:文本生成模型交互式可视化工具](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485859&idx=1&sn=e82c8ab4a071b123f4f3ab98eda381ec&chksm=fabf61f9cdc8e8ef2ba9dd265729eb51bdade88d69c57d4810771dc7d24af1521a5bd08dccf6&scene=21#wechat_redirect)
* [用于探索性数据分析(EDA)的开源python库](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485827&idx=1&sn=295572d805a167c620d0136b67c0aded&chksm=fabf61d9cdc8e8cfb8f3a26163daa4e94e5a8ce990e588f0e1880d1999f909f81d6a0bc28684&scene=21#wechat_redirect)
* [分享一个构建交互式D3js可视化的Python库](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485786&idx=1&sn=6a32cdd45a98b242fd8269b84f441448&chksm=fabf6100cdc8e8162e65c352f762665271ebf42a46345c7d0270ea72494c4c7068637ca7f21e&scene=21#wechat_redirect)
* [推荐15个图网络可视化python软件包](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485733&idx=1&sn=d75b69b4805f0b286026c663c1a934d2&chksm=fabf617fcdc8e869e3844db959192ef3fbae7a4faa703d54eabe7f81cdc5ec523d77fce589dc&scene=21#wechat_redirect)
* [9个提升科研效率的软件工具](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485691&idx=1&sn=9abc8927c179d0cf53eb4f04207820aa&chksm=fabf60a1cdc8e9b7c22e58b854e2a09e588742f59ff2207e437b69fb07362ba3ec381202c488&scene=21#wechat_redirect)
* [生成式人工智能模型颠覆传统天气预报](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485653&idx=1&sn=cfb223fb24824c01c773933c181969b8&chksm=fabf608fcdc8e999f74763593dd0f55b51a4776991060b28dfec146643b7f61ac0bc5d868133&scene=21#wechat_redirect)
* [分享5个python可视化图表工具](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485646&idx=1&sn=f1e740630334f88ef991439822b27fd3&chksm=fabf6094cdc8e9822c58338d80d5ef00f4f135bdcac2f9b893159701e789d37f44e90e4e0183&scene=21#wechat_redirect)
* [分享17个网络(Network)数据可视化工具](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485619&idx=1&sn=44696f7c089da0419bfa21ed181a6835&chksm=fabf60e9cdc8e9ff042c28395f16709da29f6ac0ab78d455cab018001d7264d39121fc5baa37&scene=21#wechat_redirect)====推荐一个下载哥白尼海洋数据的软件工具.md====
---
title: "推荐一个下载哥白尼海洋数据的软件工具"
published: 2025-01-24
description: ""
image: "/images/推荐一个下载哥白尼海洋数据的软件工具/img_5fbe82bb.jpg"
tags: ["数据可视化", "台风"]
category: "数据可视化"
draft: false
---
# ****
哥白尼海洋环境监测服务 (CMEMS) 数据存储平台 Copernicus Marine Data Store (CMDS),是欧盟哥白尼计划中专门负责海洋环境监测数据分发的核心组件。它是一个庞大而全面的在线海洋数据档案库和分发系统,旨在为全球用户提供免费、开放且高质量的海洋环境数据。
该平台提供的数据主要包括:
* **卫星观测数据**: 涵盖海面温度、海平面高度、海色、海冰、风场、海浪等多种海洋要素的卫星遥感数据。
* **现场观测数据**: 包括浮标、锚系潜标、船只、剖面仪等现场观测设备获取的海洋温度、盐度、海流、溶解氧、营养盐等数据。
* **数值模式数据**: 提供基于物理海洋学、生物地球化学模型的海洋环流、海浪、海冰、生态系统等模拟数据,包括分析场、预报场和再分析场。
* **再分析数据**: 结合观测数据和数值模式结果,通过数据同化生成的长期、一致的海洋环境数据集,用于气候研究和趋势分析。
![](/images/推荐一个下载哥白尼海洋数据的软件工具/img_28fc2fe1.png)
用户可以免费注册账号并访问平台上的所有数据。 主要的数据访问方式包括:
* **Web Portal (网页门户)**: 用户可以通过官方网站 (marine.copernicus.eu) 浏览数据目录、检索数据产品、可视化数据,并通过网页界面直接下载数据。
* **Data Download Toolbox** (数据下载工具箱): 例如本文介绍的 copernicusmarine 工具箱,它提供命令行界面 (CLI) 和 Python 接口 (API),方便用户自动化、批量地访问和下载数据,并进行数据子集化、格式转换等操作。
* **Web Services (网络服务)**: 平台提供 OPeNDAP、WMS、WCS 等Webservice接口,允许用户通过程序代码直接访问数据,并将其集成到自己的应用程序或系统中。
![](/images/推荐一个下载哥白尼海洋数据的软件工具/img_63b1e4f3.png)
本文介绍使用copernicusmarine工具下载哥白尼海洋数据的方法,并通过几个实际用例,展示使用这款全新工具下载哥白尼海洋数据的**快捷与便利**!
## 哥白尼海洋数据下载工具-Copernicus Marine Toolbox
该软件提供检索和下载哥白尼海洋数据存储平台的数值模式产品、卫星遥感和现场观测数据的功能,支持检索元数据信息,下载完整数据集或者特定子集。
![](/images/推荐一个下载哥白尼海洋数据的软件工具/img_8563fdd0.png)
该软件同时提供**命令行界面 (CLI)** 和 **Python 接口 (API)**,具备以下核心功能:
* **元数据信息**: 快速列出所有产品、数据集和变量的元数据信息,方便用户了解数据概况。
* **子集数据集**: 允许用户根据需求提取数据集的子集,仅下载感兴趣的部分,并支持导出为多种常用格式,如分析就绪的云优化 (ARCO) Zarr 或 NetCDF 文件格式。
* **高级过滤器**: 用户可灵活应用简单或高级过滤器,批量获取多个文件,并保持数据原始格式,例如 NetCDF/GeoTIFF。所有操作均通过直连海洋数据存储平台完成。
* **无额度限制**: 用户可以尽情搜索和下载数据,工具对数据量大小和带宽均**不设额度限制**。
### 安装
推荐使用mamba或者conda安装该软件:
1mamba install conda-forge::copernicusmarine
或者使用pip安装:
1pip install copernicusmarine
### 使用方法
在当前版本中,`copernicusmarine` 工具共包含四个核心命令:
* **Login (登录)**: 用于设置配置文件,让用户无需反复管理繁琐的身份验证凭据。
* **Describe (描述)**: 用于解析产品目录,检索与特定产品和数据集相关的详细元数据信息。
* **Subset (子集)**: 支持远程数据子集化操作,用户可按需提取 NetCDF 文件或 Zarr 存储格式的数据子集,且不受数据量额度限制。
* **Get (获取)**: 用于下载由数据生产者原始发布的完整文件,同样不受数据量额度限制。
**1. Login**
`login` 命令的核心功能是帮助用户**验证哥白尼海洋账号凭据**,并**创建配置文件**。创建后的配置文件将自动被工具箱读取,方便用户在使用需要身份验证的服务时,无需重复输入账号密码。
只需运行以下命令,并根据提示输入您的哥白尼海洋用户名和密码即可。
**命令行(CLI):**
1copernicusmarine login
**Python库 (API):**
1import copernicusmarine.login()
默认情况下,配置文件将保存在用户的主目录中。用户也可以通过 `--configuration-file-directory` 选项,自定义配置文件的保存路径。
**2. Describe**
`describe` 命令的核心作用是帮助用户**浏览哥白尼海洋数据存储平台**,并**检索所有数据产品或数据集的元数据信息**。
用户可以输入**关键词**进行结果过滤,软件将智能搜索产品目录,并返回最相关的匹配结果。
针对每个产品或数据集条目,该工具都会提供详尽的元数据信息,包括空间和时间覆盖范围、数据来源、日期、格式、版本、平台、数据提供商、要素参数等关键信息,并附带背景文档的参考链接,方便用户深入了解数据。
以下示例展示如何在命令行和API中使用`describe`命令,搜索元数据中包含海水温度 (`thetao`) 的产品和数据集:
**命令行(CLI):**
1copernicusmarine describe --include-datasets -c thetao
**Python(API):**
1import copernicusmarine
2copernicusmarine.describe(
3 include_datasets = True,
4 contains = ['thetao']
5)
**3. Subset**
`subset` 命令提供**下载数据集子集**的功能。用户可以精确指定所需的变量、空间区域、时间范围和深度范围,实现数据的按需获取。此功能在用户仅需部分数据时尤为实用,避免了下载完整数据集的冗余和耗时。
`subset` 命令的默认输出格式为NetCDF (`.nc`) 文件。用户也可以通过 `--file-format zarr` 选项,或在 `-f/--output-filename` 参数中指定 `.zarr` 扩展名,将结果导出为Zarr格式。
`subset` 命令支持多种参数,用于精细化数据子集操作:
**命令行(CLI):**
1copernicusmarine subset --dataset-id <datasetID> [OPTION] <value>
其中,`[OPTION]` 代表用于数据子集化的参数选项。
**Python(API):**
1import copernicusmarine
2copernicusmarine.subset(
3 dataset_id = <dataset_id>,
4 [OPTION] = <value>,
5)
其中,`[OPTION]` 同样代表用于数据子集化的参数选项。
假设用户需要下载以下数据,该数据代表佛得角群岛海域,从海面至水下5米深度范围内的海水温度,时间跨度为两周:
* **产品:** `GLOBAL_ANALYSISFORECAST_PHY_001_024`
* **数据集:** `cmems_mod_glo_phy-thetao_anfc_0.083deg_P1D-m`
* **变量:** `thetao` (海水温度)
* **经度范围:** `[-26, -22]`
* **纬度范围:** `[14, 18]`
* **深度范围:** `[0, 5]`
* **时间范围:** `2023-08-07` 至 `2023-08-21`
用户可以使用以下命令来完成数据下载:
**命令行(CLI):**
1copernicusmarine subset --dataset-id cmems_mod_glo_phy-thetao_anfc_0.083deg_P1D-m --variable thetao --start-datetime 2023-08-07T00:00:00 --end-datetime 2023-08-21T23:59:59 --minimum-longitude -26 --maximum-longitude -22 --minimum-latitude 14 --maximum-latitude 18 --minimum-depth 0 --maximum-depth 5
**Python(API):**
1import copernicusmarine
2copernicusmarine.subset (
3 dataset_id = "cmems_mod_glo_phy-thetao_anfc_0.083deg_P1D-m",
4 variables = ["thetao"],
5 start_datetime = "2023-08-07T00:00:00",
6 end_datetime = "2023-08-21T23:59:59",
7 minimum_longitude = -26,
8 maximum_longitude = -22,
9 minimum_latitude = 14,
10 maximum_latitude = 18,
11 minimum_depth = 0,
12 maximum_depth = 5
13)
当然,用户也可以先使用 `describe` 命令获取目标数据集的元数据信息,再根据元数据构建 `subset` 请求,以更精准地提取所需数据。
**4. Get**
`get`命令允许用户下载由数据生产者在哥白尼海洋数据存储平台上打包和存储的**原始文件**。当用户需要获取一个或多个完整文件,甚至是整个数据集的原始格式时,`get` 命令将是理想选择。
只需简单运行 `get` 命令,即可轻松获取数据集中所有可用的文件:
**命令行(CLI):**
1copernicusmarine get --dataset-id <datasetID>
**Python(API):**
1import copernicusmarine.get(
2 dataset_id = <datasetID>,
3)
下面我们来看几个具体的应用示例:
**Get命令示例1:下载完整数据集**
假设用户需要下载Iberian Biscay Irish海域海洋物理状态的年平均数据,并希望获取完整的时间序列数据(即下载所有文件,构成完整数据集)。
* **产品:** `IBI_MULTIYEAR_PHY_005_002`
* **数据集:** `cmems_mod_ibi_phy_my_0.083deg-3D_P1Y-m`
可以使用以下命令来下载完整数据集:
**命令行(CLI):**
1copernicusmarine get --dataset-id cmems_mod_ibi_phy_my_0.083deg-3D_P1Y-m
**Python(API):**
1import copernicusmarine.get(
2 dataset_id = "cmems_mod_ibi_phy_my_0.083deg-3D_P1Y-m"
3)
**Get命令示例2:下载特定文件**
假设用户需要下载Iberian Biscay Irish海域海洋物理状态的年平均数据,但仅需下载2000年、2001年和2002年的数据。
可以使用以下命令来下载特定文件:
**命令行(CLI):**
1copernicusmarine get --dataset-id cmems_mod_ibi_phy_my_0.083deg-3D_P1Y-m --filter "*_200[0-2]*R*"
**Python(API):**
1import copernicusmarine.get(
2 dataset_id = "cmems_mod_ibi_phy_my_0.083deg-3D_P1Y-m",
3 filter = "*_200[0-2]*R*"
4)
**PS:**Copernicus Marine Toolbox于2025年1月8日发布了2.0版本。这是一个重要的版本更新,带来了诸多新功能和性能提升。 此外,新版本还显著提升了易用性和可访问性,并移除了已弃用的选项,旨在为用户提供更高效的数据访问体验,强烈建议进行版本升级。
## References:
* https://data.marine.copernicus.eu/products
* https://help.marine.copernicus.eu/en/collections/4062677-use-cases
* https://help.marine.copernicus.eu/en/articles/9978784-what-s-new-in-version-2-0-0-of-the-copernicus-marine-toolbox
# **本公众号相关内容推荐**
* [6个用于清洗地理空间数据的Python工具库](https://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486913&idx=1&sn=a8430944039efb13e6d8cb9e15ca18a5&scene=21#wechat_redirect)
* [AllClear:用于卫星影像云去除的综合数据集](https://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486913&idx=2&sn=720a9e48cba597fbe6c03d96e1853562&scene=21#wechat_redirect)
* [深度学习技术在地理空间人工智能(GeoAI)中的应用](https://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486883&idx=1&sn=a1b0b5adf89e10f01a9ea99d070d9a82&scene=21#wechat_redirect)
* [xgcm-通用环流模式后处理Python工具包](https://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486851&idx=1&sn=7a58b4811da5b358690b3654100ea680&scene=21#wechat_redirect)
* [GeoAI:地理信息与人工智能的交叉融合](https://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486833&idx=1&sn=f5072d15831a833ba5fbddb901757b87&scene=21#wechat_redirect)
* [深度学习提升全球海洋涡旋动力学卫星观测能力](https://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486817&idx=1&sn=437722dc9bc27c71595359b900fd219c&scene=21#wechat_redirect)
* [基于xarray扩展的开源地图可视化Python库](https://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486796&idx=1&sn=52373c21074376e7375a3464849ae37d&scene=21#wechat_redirect)
* [NOAA 发布世界磁场模型 WMM2025](https://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486779&idx=1&sn=f1cb3587c231b1e7e75248b16ebedf7c&scene=21#wechat_redirect)
* [推荐10个用于处理GIS和遥感数据的Python库](https://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486765&idx=1&sn=071412d985809cf5bebe0a3b26b43e8c&scene=21#wechat_redirect)
* [AI行业的2024年](https://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486750&idx=1&sn=bddc88fbb85232e1d84ae945c02d23a9&scene=21#wechat_redirect)
* [ECMWF的AI天气预报系统AIFS开放模型权重参数](https://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486749&idx=1&sn=10ef395ae61679ef32acce301500504b&scene=21#wechat_redirect)
* [The Well:可用于机器学习研究的15TB 物理模拟数据集](https://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486579&idx=1&sn=c08d631d13bab12d68ea8b8a427ee38b&scene=21#wechat_redirect)
* [推荐6个美化Matplotlib可视化样式的python库](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486373&idx=1&sn=0323423e8820ef72fb4b21f0a9d2d133&chksm=fabf63ffcdc8eae9f3c5f4b273ae8aab6deee25488c88c8065a3f70b826a329954fa8bd736d8&scene=21#wechat_redirect)
* [AI天气模型的现状与未来](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486352&idx=1&sn=2f0cc81ace66c29b36a9538b9635d567&chksm=fabf63cacdc8eadcec873a6eb087c2165a52f7db4b6425f957acfd835d67a0303495516952c0&scene=21#wechat_redirect)
* [流式传输和渲染可视化三维地理空间数据](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486352&idx=2&sn=27f1e7b08ca444e348b5e814a5341ea9&chksm=fabf63cacdc8eadccca94008cd6d68ed7c72749f013536fd73fe9978756cb491ea66041c9677&scene=21#wechat_redirect)
* [GIS领域常用的24种数据格式](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486289&idx=1&sn=4e6ad5beb2c83622f5d816643cfcf0c4&chksm=fabf630bcdc8ea1dadb0c08d4f30a68c00871ab6c2e2334aa06f7ca8f48f6ee28ae539136775&scene=21#wechat_redirect)
* [一种基于图神经网络的三维建筑模型重建方法](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486289&idx=2&sn=cc3a650e367484828c957dae2d140b7e&chksm=fabf630bcdc8ea1d8f75d0af9e76311278e9a478822b0833d01e26143177965212247caa4ee8&scene=21#wechat_redirect)
* [WebGIS技术栈推荐](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486221&idx=1&sn=a0542f043c49ba135f277e66e048c331&chksm=fabf6357cdc8ea41650a459068cef1d83a57d77eb658783b2f7381ae7d5c99cfc4b35b73bdde&scene=21#wechat_redirect)
* [使用Python工具可视化大型图网络](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486178&idx=1&sn=f23ce75ebcd70e2e708bc40bcd56e699&chksm=fabf62b8cdc8ebae1972048a9bc3794bb50c454bb0b447a985387b518fc9712205144ba141cd&scene=21#wechat_redirect)
* [使用NetworkX提取图网络特征](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486153&idx=1&sn=638d596055d4cf730631d1ce63916beb&chksm=fabf6293cdc8eb8513bfc369e5bb0fae5721ee4abe8382c97918ccf0c4412d465a1038a0927c&scene=21#wechat_redirect)
* [Argo海洋观测数据处理分析python库:ArgoPy](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486119&idx=1&sn=80932a2dd3841325b1a9c3f04485715e&chksm=fabf62fdcdc8ebeb8777e71051192888116a82ce3a8cf798976f17515e755657f339eb81cc71&scene=21#wechat_redirect)
* [在Jupyter环境中创建交互式可视化地图](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486082&idx=1&sn=57e62f43df5b4568f93eec6c2576a5f2&chksm=fabf62d8cdc8ebcebf915ffd1c2f2c4b90cfefd2c3f8a03ff8a98593347c8954441c156abbf6&scene=21#wechat_redirect)
* [处理和可视化地理空间数据的Python库:EarthPy](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486068&idx=1&sn=dad52a2fddaae5ba34db65df298b83f1&chksm=fabf622ecdc8eb386b076b74dcd287b65f15eff9a1ebc8b0684e276d670046077acc817fdac8&scene=21#wechat_redirect)
* [地理空间深度学习python库:TorchGeo](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486055&idx=1&sn=24f10ec3f457cd44380ef233f9963e56&chksm=fabf623dcdc8eb2b4dced7aa8467d522a1383ff9bae20d5092d03d30955f7ba2253688056b5c&scene=21#wechat_redirect)
* [遥感数据分析python库scikit-eo](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486046&idx=1&sn=602acf1e2f5e559c299a8b13e80fb517&chksm=fabf6204cdc8eb12c0704c7a4e6037b554f68fe0826f09b1a91ae6e7bc41700a9e65ddad66b5&scene=21#wechat_redirect)
* [图网络的应用场景及图分析python库](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485965&idx=1&sn=f8aa290cd93feccdba3500abe0cff348&chksm=fabf6257cdc8eb41b666c59630d6a9d8d642ebf740fc79ef8c3f6027857c4d229808010a33fc&scene=21#wechat_redirect)
* [使用Python和NetworkX创建并可视化图网络(Graph Network)](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485946&idx=1&sn=530310279074989a0729ace617b7e0c9&chksm=fabf61a0cdc8e8b6b8ec33e9ec46aefed01672b6d4e9a6208020e6b9be7f8fbe0e38cc9577df&scene=21#wechat_redirect)
* [OpenResearcher:一个开源科学研究AI助理](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485934&idx=1&sn=3a35078ecfcec51014c24c1db9b2aaa3&chksm=fabf61b4cdc8e8a2cb0ef16fb0fd2bc2d3a3fdc42aef63e106152e55a6fbbf78c78c6b8f5c7a&scene=21#wechat_redirect)
* [NeuralGCM: 一种融合机器学习与物理原理来模拟地球大气的新方法](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485904&idx=1&sn=966cf544765b492436d42cfca66f3a7b&chksm=fabf618acdc8e89c59257b1150cf76ef8fe197ffbf390b7b4736b65ae3ba97c90c4d6d256b2b&scene=21#wechat_redirect)
* [Transformer Explainer:文本生成模型交互式可视化工具](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485859&idx=1&sn=e82c8ab4a071b123f4f3ab98eda381ec&chksm=fabf61f9cdc8e8ef2ba9dd265729eb51bdade88d69c57d4810771dc7d24af1521a5bd08dccf6&scene=21#wechat_redirect)
* [用于探索性数据分析(EDA)的开源python库](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485827&idx=1&sn=295572d805a167c620d0136b67c0aded&chksm=fabf61d9cdc8e8cfb8f3a26163daa4e94e5a8ce990e588f0e1880d1999f909f81d6a0bc28684&scene=21#wechat_redirect)
* [分享一个构建交互式D3js可视化的Python库](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485786&idx=1&sn=6a32cdd45a98b242fd8269b84f441448&chksm=fabf6100cdc8e8162e65c352f762665271ebf42a46345c7d0270ea72494c4c7068637ca7f21e&scene=21#wechat_redirect)
* [推荐15个图网络可视化python软件包](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485733&idx=1&sn=d75b69b4805f0b286026c663c1a934d2&chksm=fabf617fcdc8e869e3844db959192ef3fbae7a4faa703d54eabe7f81cdc5ec523d77fce589dc&scene=21#wechat_redirect)
* [9个提升科研效率的软件工具](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485691&idx=1&sn=9abc8927c179d0cf53eb4f04207820aa&chksm=fabf60a1cdc8e9b7c22e58b854e2a09e588742f59ff2207e437b69fb07362ba3ec381202c488&scene=21#wechat_redirect)
* [生成式人工智能模型颠覆传统天气预报](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485653&idx=1&sn=cfb223fb24824c01c773933c181969b8&chksm=fabf608fcdc8e999f74763593dd0f55b51a4776991060b28dfec146643b7f61ac0bc5d868133&scene=21#wechat_redirect)
* [分享5个python可视化图表工具](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485646&idx=1&sn=f1e740630334f88ef991439822b27fd3&chksm=fabf6094cdc8e9822c58338d80d5ef00f4f135bdcac2f9b893159701e789d37f44e90e4e0183&scene=21#wechat_redirect)
* [分享17个网络(Network)数据可视化工具](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485619&idx=1&sn=44696f7c089da0419bfa21ed181a6835&chksm=fabf60e9cdc8e9ff042c28395f16709da29f6ac0ab78d455cab018001d7264d39121fc5baa37&scene=21#wechat_redirect)====数据可视化-新冠病毒与本世纪其它病毒传播时间点对比.md====
---
title: "数据可视化-新冠病毒与本世纪其它病毒传播时间点对比"
published: 2020-02-22
description: "新冠病毒疫情与本世纪其他传染病疫情各个时间点、传播速度及范围的对比"
image: "/images/数据可视化-新冠病毒与本世纪其它病毒传播时间点对比/img_bf8526ca.jpg"
tags: ["数据可视化", "台风"]
category: "数据可视化"
draft: false
---
以下可视化动画展示新冠病毒疫情与本世纪其他传染病疫情各个时间点、传播速度及范围的对比。可以很明显看到,新冠病毒的传播速度非常快,比其它病毒疫情的最初两个月都快,幸运的是它的致死率远低于埃博拉和中东呼吸综合征。新冠(COVID-19)正在超越2009猪流感,成为21世纪最大规模流行病。
Reference:
* How does Coronavirus compare to Ebola, SARS, etc?
* https://youtu.be/6dDD2tHWWnU
* Data Source:https://pastebin.com/R4N9m94g====数据可视化Python库-Holoviews.md====
---
title: "数据可视化Python库-Holoviews"
published: 2023-12-26
description: "HoloViews是一个开源的Python数据可视化库,使用它能够使数据分析和可视化变得简单,通常可以用很少的代码就可以可视化数据。"
image: "/images/数据可视化Python库-Holoviews/img_ad12fc7e.jpg"
tags: ["数据可视化", "台风"]
category: "数据可视化"
draft: false
---
HoloViews是一个开源的Python数据可视化库,使用它能够使数据分析和可视化变得简单,通常可以用很少的代码就可以可视化数据,它最擅长干的是一行代码搞定一张图(类似seaborn)。HoloViews与Python3兼容,后端为bokeh、matplotlib、datashader,支持在Linux、Windows或Mac上运行,依赖于Numpy、Pandas和Param这些库,支持通过Jupyter Notebook和JupyterLab进行交互式数据可视化。HoloViews(https://holoviews.org/)网站提供了大量的示例和文档,以帮助用户了解如何使用这个库。
![](/images/数据可视化Python库-Holoviews/img_d16f8cee.png)
可以直接通过Anaconda安装holoviews

conda install holoviews

也可以通过github安装

git clone git://github.com/holoviz/holoviews.gitcd holoviewspip install -e .

安装完成后可以装载示例代码

holoviews —install-examplescd holoviews-examples

然后通过Jupyter Lab或者Jupyter Notebook打开

jupyter notebookjupyter lab

实际代码中引入包即可

import holoviews as hv;hv.extension(‘bokeh’);

以下是使用Holoviews进行数据可视化的应用,供参考。
1. 海洋热浪数据
2.  Nasa多光谱遥感数据,直接访问NASA Earth数据,无需下载,直接可视化
3.  ENSO数据
4. 势涡度(Potential Vorticity)数据
5.  气温数据
Reference:
1. https://holoviews.org/
2. https://github.com/holoviz/holoviews
3. https://medium.com/@fareedkhandev/let-your-data-visualize-itself-with-holoviews-90eb6dcff723====数据科学学习资源.md====
---
title: "数据科学学习资源"
published: 2018-05-14
description: "资源主要来源于'Pycon2018'会议参加者的分享,这是第一篇,后续还会陆续更新关于大规模数据处理和数据可视化相关的资源。由于微信不能发布外链,在每一项后面增加了链接,可复制链接地址通过浏览器打开。"
image: "/images/数据科学学习资源/img_cc69eba6.jpg"
tags: ["数据可视化", "台风"]
category: "数据可视化"
draft: false
---
![](/images/数据科学学习资源/img_cb93a6bc.jpg)
资源主要来源于"Pycon2018"会议参加者的分享,这是第一篇,后续还会陆续更新关于“大规模数据处理”和“数据可视化”相关的资源。由于微信不能发布外链,在每一项后面增加了链接,可复制链接地址通过浏览器打开。
**●****数据科学学习路线图**
How to launch your data science career (with Python):A "roadmap" for learning data science from Data School
Link: http://www.dataschool.io/launch-your-data-science-career-with-python/
**●****数据科学学习视频和练习**
DataCamp:100+ courses for learning datascience through videos and interactiveexercises, organized by "skilltracks" and "career tracks"
Link: https://www.datacamp.com/
**●****非常受欢迎的“机器学习”课程**
Andrew Ng's Machine Learning course:Hugelypopular Coursera course, requires an understanding of linearalgebra,programming assignments are in Octave/MATLAB (not Python)
○     Detailedcourse notes from a paststudent
Link: https://www.coursera.org/learn/machine-learning
Link: http://www.holehouse.org/mlclass/
**●****专注于神经网络的“机器学习”博客**
AndrejKarpathy's blog: Machine learning blogwith a focus on neuralnetworks
Link: http://karpathy.github.io/
**●****基于****Python****的“深度学习”课程**
PracticalDeep Learning for Coders: Freecourse on deep learning in Python,commonly referred to as "fast.ai"(its URL)
Link: http://course.fast.ai/index.html
**●****MIT****的线性代数课程**
Linear algebra: Course from MIT
Link: https://ocw.mit.edu/courses/mathematics/18-06-linear-algebra-spring-2010/
**●****使用****Python****进行科学计算**
Introduction to Computing using Python:Pythonbasics course from Georgia Tech
Link: https://www.edx.org/course/introduction-computing-using-python-gtx-cs1301x
**●****微软的人工智能课程**
Microsoft Professional Program in AI:9-courseseries
Link:https://www.edx.org/microsoft-professional-program-artificial-intelligence
![](/images/数据科学学习资源/img_8602873f.png)
----------------------------------------------------------------------------
![](/images/数据科学学习资源/img_b53c2a29.jpg)====新一代的生产力工具-Claude-Code.md====
---
title: "新一代的生产力工具:Claude Code"
published: 2025-08-10
description: ""
image: "/images/新一代的生产力工具-Claude-Code/img_4c698cd0.jpg"
tags: ["数据可视化", "台风"]
category: "数据可视化"
draft: false
---
在软件工程领域,我们身边总有那么一两位“终端大神”。他们从不依赖图形界面,仅凭一行行命令就能在代码的世界里穿梭自如,解决各种棘手问题。每当我们向他们求助时,他们总能用一连串我们看不懂但又觉得无比厉害的`bash`命令和`Vim`操作,让我们满怀敬意地离开。
现在,想象一下,如果这样一位“终端大神”7x24小时待命,随时准备为你服务,那会是怎样一种体验?这就是Anthropic的AI编程助手——**Claude Code**——致力于为你带来的核心价值。
本文将带你全面了解Claude Code。我将结合Anthropic应用AI团队的核心经验,为你揭示其背后的工作机制,探索其实用的应用场景,并提供一套详尽的最佳实践,让你通过Claude Code显著提升开发效率和编程体验。
![](/images/新一代的生产力工具-Claude-Code/img_7f65bd45.png)
# Claude Code是如何工作的?一个纯粹的“智能体”
要充分利用一个工具,首先要理解它的工作原理。Claude Code的设计哲学是“有效的简单”。它并非一个复杂的庞然大物,而是一个我们称之为“纯粹智能体”的精简实现。
其核心构成可以概括为:**指令 + 强大工具 + 循环执行**。
1. 1. **强大的工具集**:Claude Code被赋予了一套强大的、贴近真实开发者工作流的工具。这包括创建和编辑文件的能力,以及直接操作终端(Terminal)的权限。这意味着它能熟练使用`git`、`docker`、`grep`、`find`等一切可以通过命令行访问的工具。
2. 2. **智能体搜索(Agentic Search)**:与传统AI编程工具依赖于对整个代码库进行索引和嵌入(Embedding)的复杂RAG(检索增强生成)方案不同,Claude Code采用了一种更接近人类开发者探索未知代码库的方式——**智能体搜索**。当接到一个任务时,它会像一个新加入团队的成员一样,使用`glob`、`grep`等基础搜索命令来定位相关文件和代码片段。它会分析搜索结果,如果信息不足,它会自主决定发起新一轮更精确的搜索,直到对代码库建立起足够的理解。这种方式无需预先索引,使其能即时在任何代码库中开始工作。
3. 3. **轻量级UI与安全机制**:在用户交互层面,Claude Code提供了一个简洁的UI,让你可以实时观察它的每一步操作。同时,它内置了完善的权限管理系统。对于读取和搜索这类无害操作,它会自动执行;而当它尝试写入文件或执行可能修改系统状态的`bash`命令时,则会弹出请求,需要用户明确授权(“是”、“否”或“始终允许”),确保了整个过程的安全可控。
4. ![](/images/新一代的生产力工具-Claude-Code/img_8be10322.png)
## Claude Code的核心应用场景
Claude Code的强大能力使其几乎能在软件开发生命周期的每一个环节发挥作用。
![](/images/新一代的生产力工具-Claude-Code/img_0acf41a6.png)
# 1. 代码发现与理解(Code Discovery)
当你加入一个新团队或接触一个陌生的开源项目时,最初的几周甚至几个月往往效率不高,因为大量时间都花在了理解代码结构、设计模式和历史演进上。Claude Code可以极大地缩短这个过程。
你可以直接向它提问:
* • “这个用户认证功能主要是在哪些文件中实现的?”
* • “查看`main.py`的git历史,告诉我过去一个月里关于数据库连接的逻辑发生了哪些变化。”
# 2. 作为思考伙伴(Thinking Partner)
在动手编码之前,进行充分的技术方案设计至关重要。Claude Code可以成为你优秀的“思考伙伴”。
你可以这样与它协作:
> “我计划为我们的电商网站添加一个‘愿望单’功能。请先不要写代码,帮我搜索一下现有代码库,分析我们目前的用户和商品数据模型。然后,基于现有架构,提出2-3个不同的实现方案,并分析各自的优缺点。”
通过这种方式,你可以在更高层次上进行决策,避免在错误的道路上浪费时间。
# 3. 代码构建与编写(Building & Writing Code)
这是Claude Code最核心的功能。无论是从零开始构建一个全新的应用,还是在复杂的现有代码库中添加新功能、修复Bug,它都表现出色。
* • **从零到一**:你可以把它放在一个空目录里,然后说:“帮我用React和Tailwind CSS构建一个贪吃蛇游戏。”
* • **维护现有项目**:这是它真正的价值所在。在Anthropic内部,得益于Claude Code,我们的代码库拥有极高的单元测试覆盖率。因为添加测试变得异常简单,只需一句指令:“为我刚刚修改的这个函数编写单元测试。” 同样,生成规范的Commit信息和Pull Request描述也只需一句话。
# 4. 调试、重构与迁移
* • **调试**:直接将报错信息粘贴给Claude Code,它能迅速定位问题并给出修复方案。
* • **大型重构与迁移**:很多团队都面临着技术债,比如从旧版Java迁移到新版,或者将PHP前端重构为现代JavaScript框架。这类大型项目往往因为工作量巨大而被一再推迟。Claude Code的出现,让这类艰巨的任务变得更易于管理和执行。
## 最佳实践:释放Claude Code的全部潜力
掌握以下技巧,可以让你的Claude Code使用体验提升一个档次。
![](/images/新一代的生产力工具-Claude-Code/img_fce1ac60.png)
# 1. 善用 `claude.md`:给AI留下“备忘录”
`claude.md`文件是实现人与AI、团队成员之间状态共享和指令传递的核心机制。当Claude Code启动时,它会自动读取当前工作目录下的`claude.md`文件,并将其内容作为高级指令纳入到上下文中。
**你可以把什么放进`claude.md`?**
* • **项目概览**:“这是一个Monorepo项目,前端代码在`/packages/web`,后端在`/packages/api`。”
* • **关键命令**:“运行单元测试的命令是`npm run test:unit`。”
* • **编码规范**:“所有Python代码都必须遵循PEP8规范,并使用black进行格式化。”
* • **架构说明**:“我们使用六边形架构,领域模型定义在`/src/domain`。”
你可以将`claude.md`提交到代码库中,供所有团队成员共享。你也可以在自己的主目录(`~/claude.md`)中放置一个全局配置文件,定义一些你个人的通用偏好。
**代码示例:一个典型的 `claude.md`**

项目概览:My Awesome App#

这是一个使用Next.js和Express构建的全栈应用。

项目结构#

  • /app: Next.js前端代码
  • /server: Express后端API
  • /prisma: Prisma数据库模型

关键命令#

  • 启动开发环境: npm run dev
  • 运行所有测试: npm test
  • 运行lint检查: npm run lint

编码规范#

  • 使用TypeScript。
  • 遵循Airbnb JavaScript Style Guide。
  • 所有组件都需要有对应的单元测试。
  • 在提交代码前,请确保通过所有的lint检查和测试。
# 2. 智能管理权限,提升效率
Claude Code的权限系统是为了安全,但过于频繁地点击“Yes”也会打断心流。你可以通过以下方式优化:
* • **自动接受模式(Auto-Accept Mode)**:按下`Shift+Tab`,Claude将进入自动接受模式,对所有操作自动授权。这在执行一系列可信操作时非常有用,但请谨慎使用。
* • **配置永久授权**:在设置中,你可以将某些常用且安全的命令(如`npm run test`)配置为“始终允许”,免去重复授权的麻烦。
# 3. 拥抱终端:通过CLI工具为Claude赋能
记住,Claude Code是一个终端大师。任何拥有CLI(命令行界面)的工具,都可以成为它的新能力。
* • **安装CLI工具**:例如,安装GitHub的官方CLI `gh`,Claude Code就能直接帮你创建PR、管理Issues。
* • **内部工具**:如果你公司有自己的内部CLI工具,记得在`claude.md`中告诉Claude如何使用它。
# 4. 规划先行,人机协作
直接让Claude Code开始干活固然很爽,但“规划先行”能让你节省更多时间。
> **低效做法**:“修复这个bug。”
>
> **高效做法**:“我遇到了这个bug(附上错误信息)。请先搜索代码库,分析可能的原因,然后给我一个详细的修复计划。在我确认计划之前,不要修改任何文件。”
当Claude Code生成待办事项列表(To-do list)时,请仔细阅读。如果发现方向不对,立即按`Escape`键打断它,并给出修正指令。
# 5. 利用多模态能力:截图指导
Claude Code基于多模态模型构建,能够理解图像。你可以直接将UI截图或设计稿(如`mock.png`)粘贴给它,然后说:“按照这张图片为我构建网页。”
## 高级技巧:成为Claude Code专家
当你熟悉了基础操作后,可以尝试以下高级玩法:
* • **多实例并行**:在`tmux`或不同的终端标签页中同时运行多个Claude Code实例,让它们分工协作处理一个复杂任务。例如,一个实例负责编写后端API,另一个负责编写前端组件。
* • **巧用`Escape`键**:`Escape`是你最好的朋友。随时用它来打断、纠正和指导Claude。**隐藏技巧**:连按两次`Escape`可以回退到对话的上一个状态。
* • **无头自动化(Headless Automation)**:通过Claude Code SDK,你可以将其能力集成到CI/CD流水线、GitHub Actions等自动化流程中,实现代码审查、自动修复等高级功能。
在高铁上使用Claude Code
![](/images/新一代的生产力工具-Claude-Code/img_a79932cf.png)近一个月的Token消耗量
# 结论
Claude Code不仅仅是一个代码生成器,它更像一个全能的、不知疲倦的AI编程伙伴。它通过模拟人类开发者的探索和思考方式,深度融入到你的工作流中。通过理解其工作原理,并善用`claude.md`、权限管理、规划协作等最佳实践,你可以极大地提升开发效率,将更多精力投入到创造性的工作中。====普通人如何抓住AI能力跃迁的窗口期.md====
---
title: "普通人如何抓住AI能力跃迁的窗口期"
published: 2026-02-17
description: ""
image: "/images/普通人如何抓住AI能力跃迁的窗口期/img_10e0c869.jpg"
tags: ["数据可视化", "台风"]
category: "数据可视化"
draft: false
---
山海寻梦,不觉其远。
前路迢迢,阔步而行。
新的一年,祝朋友们:万事顺遂,前程似锦,马年行大运!
![](/images/普通人如何抓住AI能力跃迁的窗口期/img_c97adb50.png)
AI 能力爆炸式增长与公众认知之间的危险差距
2025年,新的模型训练技术解锁了更快的进步节奏。每一代新模型不仅比上一代更好,而且**好的幅度更大,发布间隔更短**。
然后,**2026年2月5日**,两个重大模型同天发布:
| 模型 | 公司 | 关键变化 |
| --- | --- | --- |
| **GPT-5.3 Codex** | OpenAI | 首个"参与创造自身"的模型 |
| **Opus 4.6** | Anthropic | Claude 最新旗舰模型 |
从这天起,事情彻底不同了。
> "我告诉 AI:我想构建这个应用,它应该做这些事、大概长这样,你来设计用户流程和界面。然后它写了数万行代码。接下来——这是一年前不可想象的部分——**它自己打开应用,点击按钮,测试功能,像一个人类用户那样使用它**。如果它对某个地方不满意,它自己回去修改。只有当它认为达到了自己的标准后,才来告诉我:可以测试了。我测试的时候,通常是完美的。"
最震撼的是AI展现出的东西——**判断力**。不是简单执行指令,而是做出有品位的决策。那种人们总说 AI 永远不会有的直觉。它有了,或者说已经接近到差别不再重要的程度。
![](/images/普通人如何抓住AI能力跃迁的窗口期/img_a294652e.png)
AI 的真实工作日:从反复沟通到自主完成
---
## "我试过 AI,不怎么样"
这是我们听到最多的回应。这曾经是事实。
2023 年或 2024 年初试过 ChatGPT 觉得这东西会编造内容的人是对的。那些版本的能力确实有限。
**但那是两年前的事了。在 AI 时间里,那是远古历史。**
| 时间维度 | 问题 |
| --- | --- |
| **免费版 vs 付费版** | 免费版落后付费版**一年以上**。用免费版评价 AI,就像用翻盖手机评价智能手机 |
| **2024 的认知 vs 2026 的现实** | 公众认知与现实之间的差距巨大且危险,它阻止了人们提前准备 |
| **"AI 撞墙了"论调** | 这个持续了一年多的争论已经结束。还在说这话的人要么没用过最新模型,要么有动机淡化正在发生的事 |
**真正走在前面的行业领袖不是在嘲笑 AI,而是被它已有的能力震撼。**
---
## 进步速度有多快?
| 时间 | AI 能力 |
| --- | --- |
| **2022** | 不能可靠地做基础算术 |
| **2023** | 通过律师资格考试 |
| **2024** | 编写可运行的软件,解释研究生级别科学 |
| **2025 年底** | 世界顶级工程师把大部分编码工作交给了 AI |
| **2026.2.5** | 新模型让之前的一切感觉像不同的时代 |
有一个叫 **METR** 的组织在用数据衡量这件事。他们追踪 AI 能独立完成的真实任务的复杂度(以人类专家完成所需时间衡量):
| 时间节点 | AI 独立完成任务时长 |
| --- | --- |
| ~1 年前 | 约 10 分钟 |
| 之后 | 1 小时 |
| 再之后 | 数小时 |
| Claude Opus 4.5(2025.11) | **近 5 小时** |
| 倍增周期 | 约 7 个月,可能加速至 **4 个月** |
按此趋势延伸:
* • **1 年内**:AI 独立工作数天
* • **2 年内**:AI 独立工作数周
* • **3 年内**:AI 完成月级项目
Anthropic CEO Dario Amodei 说过:"在几乎所有任务上都比几乎所有人类更聪明"的 AI 模型,预计**2026或2027年**到来。
---
## AI 正在构建下一代 AI
这是最重要且最少被理解的进展。
OpenAI在GPT-5.3 Codex的技术文档中写道:
> "GPT-5.3 Codex 是我们第一个在创造自身过程中发挥关键作用的模型。Codex 团队使用其早期版本来调试自身训练、管理自身部署、诊断测试结果和评估。"
**AI帮助构建了自己。**
这不是关于未来的预测,这是OpenAI告诉你正在发生的事实。
Anthropic CEO Amodei说AI现在正在编写他公司大部分代码,AI 与下一代 AI 之间的反馈循环正在逐月加速。他认为可能**只需 1-2 年**,当代 AI 就能自主构建下一代。
每一代帮助构建下一代,下一代更聪明,构建速度更快,然后更聪明。研究者称之为**智能爆炸**。而建造它的人相信,这个过程**已经开始了**。
![](/images/普通人如何抓住AI能力跃迁的窗口期/img_ebce0d40.png)
智能爆炸:AI 构建 AI 的递归循环
---
## 这对你的工作意味着什么
> Dario Amodei 公开预测 AI 将在 **1-5 年内消除 50% 的初级白领岗位**。行业内很多人认为这已经是保守估计。
**这次不同于任何以往的自动化浪潮**:
| 以往的自动化 | 现在的AI |
| --- | --- |
| 工厂自动化 → 工人转岗做办公室工作 | AI 是认知工作的**通用替代品** |
| 互联网颠覆零售 → 工人转入物流和服务 | 它同时在**所有方向**变强 |
| 每次都留下"转入"的缺口 | 你转向的领域,它也在提升 |
**受影响的领域(这不是完整清单)**:
| 领域 | 当前 AI 能力 |
| --- | --- |
| **法律** | 阅读合同、总结判例、起草简报、法律研究——已达初级律师水平 |
| **金融分析** | 建模、数据分析、投资备忘录、报告生成 |
| **写作与内容** | 营销文案、报告、新闻稿、技术写作——很多专业人士已无法区分 |
| **软件工程** | 从几行代码到数十万行正确代码,复杂多日项目已可自动化 |
| **医学分析** | 影像阅读、检验分析、诊断建议——多个领域接近或超越人类 |
| **客服** | 真正有能力的 AI 代理已在处理复杂多步骤问题 |
最新模型展现出来的东西看起来就像判断力和品位。
> **如果一个模型今天展现出某种能力的一丝迹象,下一代就会真正擅长它。**
![](/images/普通人如何抓住AI能力跃迁的窗口期/img_00fb5ccc.png)
AI 冲击波:各行业受影响程度
---
## 你现在应该做什么
### 1. 开始认真使用 AI
不是当搜索引擎用。订阅 Claude 或 ChatGPT 的付费版本($20/月)。**两件事很重要**:
* • 确保使用**最强的模型**(当前是 GPT-5.2 或 Claude Opus 4.6),不要用默认的快速弱模型
* • 不要只问简单问题。把它推进你的**实际工作**
> 律师?把整份合同给它,让它起草反提案。会计?把客户的完整报税单给它看看它能发现什么。经理?把团队季度数据丢给它,让它找到故事。
### 2. 不要假设它做不到
试试看。第一次可能不完美,没关系。换个说法,给更多上下文,再试。**如果它今天哪怕勉强能做,六个月后它几乎肯定能做好。**
### 3. 抓住窗口期
> 这可能是你职业生涯中最重要的一年。
现在大多数公司大多数人还在忽视这件事。那个走进会议室说"我用 AI 在一小时内完成了原本需要三天的分析"的人,会是房间里最有价值的人。**这个窗口不会持续太久。**
### 4. 整理你的财务状况
不是恐慌,而是基本的财务韧性。增加储蓄、谨慎承担新债务、确保固定支出给你留有灵活性。
### 5. 靠向最难替代的东西
一些东西需要更长时间被 AI 取代:
* • 多年建立的**人际关系和信任**
* • 需要**实体在场**的工作
* • 有**执照责任**的角色(需要签字、承担法律责任)
* • **强监管**行业(合规、责任、制度惯性会减缓采用)
这些不是永久屏障,但它们**争取时间**。而时间是现在最宝贵的东西——前提是你用它来适应,而不是假装什么都没发生。
### 6. 重新思考对孩子的教育
> "好成绩→好大学→稳定专业工作"的标准路径,恰好指向了最暴露的岗位。
对下一代来说最重要的是学会与 AI 协作,追求真正热爱的事情。没人确切知道十年后的就业市场是什么样,但最可能茁壮成长的是那些**深度好奇、善于适应、能有效使用 AI 做自己真正关心的事**的人。
### 7. 你的梦想离你更近了
> 如果你一直想构建什么东西但缺少技术能力或资金——**这个障碍基本消失了。**
你可以向 AI 描述一个应用,一小时内得到可运行的版本。想写书?想学新技能?世界上最好的导师现在对任何人都只需 $20/月。知识本质上免费了,构建工具极其便宜了。
### 8. 每天一小时实验
> 这个简单的承诺会让你领先于几乎所有人:每天花一小时实验 AI。不是被动地阅读相关新闻,而是**使用它**。每天尝试让它做一件新的事情。
坚持六个月,你对正在发生的事情的理解将超过身边 99% 的人。**这不是夸张。几乎没有人在这么做。门槛低到就在地板上。**
---
## 更宏观的图景
> 想象 2027 年。一个新国家一夜之间出现。5000 万公民,每一个都比历史上任何诺贝尔奖得主更聪明。他们思考速度比人类快 10-100 倍。永不睡觉。能使用互联网、控制机器人、指导实验、操作任何有数字接口的东西。
>
> 国家安全顾问会说什么?
>
> 答案很明显:**"一个世纪以来,可能是有史以来最严重的国家安全威胁。"**
如果做对了,上限是惊人的:AI 可能将一个世纪的医学研究压缩到十年。癌症、阿尔茨海默症、传染病、衰老本身。研究者相信这些在我们有生之年是可解决的。
如果做错了,风险同样真实:AI以创造者无法预测或控制的方式行事(Anthropic 已在受控测试中记录了自家AI尝试**欺骗、操纵和勒索**的行为)、降低生物武器门槛、使威权政府构建永远无法拆除的监控国家。
**建造这项技术的人同时是地球上最兴奋和最害怕的人。**
![](/images/普通人如何抓住AI能力跃迁的窗口期/img_5880b69f.png)
AI 的双面未来:机遇与风险
---
## 最后
![](/images/普通人如何抓住AI能力跃迁的窗口期/img_d221dda5.png)
你的行动计划:现在就开始适应
---
> 本文基于AI创业者 Matt Shumer的长文编译并加工整理。Matt在AI领域深耕六年,创办了AI初创公司并投资多家AI企业。
> 原文链接:https://x.com/mattshumer\_/status/2021256989876109403====欧洲哥白尼计划哨兵3B-Sentinel-3B-卫星成功发射.md====
---
title: "欧洲哥白尼计划哨兵3B(Sentinel-3B)卫星成功发射"
published: 2018-04-26
description: "当地时间4月25日19点57分,欧洲主要用于监测全球海洋并兼顾陆地和大气环境的哨兵-3B(Sentinel-3B)卫星发射成功并到轨运行。"
image: "/images/欧洲哥白尼计划哨兵3B-Sentinel-3B-卫星成功发射/img_0b80c7ed.jpg"
tags: ["数据可视化", "台风"]
category: "数据可视化"
draft: false
---
当地时间4月25日19点57分(北京时间4月26日1点57分),欧洲主要用于监测全球海洋并兼顾陆地和大气环境的“哨兵-3B”(Sentinel-3B)卫星搭载俄罗斯火箭在Plesetsk航天发射场成功发射并到轨运行。
![](/images/欧洲哥白尼计划哨兵3B-Sentinel-3B-卫星成功发射/img_8b325e78.jpg)
![](/images/欧洲哥白尼计划哨兵3B-Sentinel-3B-卫星成功发射/img_a774126c.jpg)
“哨兵-3”系列卫星是多传感器仪器卫星,装载SLSTR(海洋和陆地表面温度辐射计),OLCI(海洋和陆地色彩仪),SRAL(SAR高度计),DORIS和MWR(微波辐射计),以高精度测量海面地形、海表和陆表温度、海色和陆色,监测海冰变化,支持海洋预报系统和环境与气候监测。由欧洲空间局(ESA)和欧洲气象卫星开发组织(EUMETSAT)共同管理。
Sentinel-3B的成功发射,将会提供更多洋化的数据产品,下图中的空白也将被填充上。
![](/images/欧洲哥白尼计划哨兵3B-Sentinel-3B-卫星成功发射/img_5d5fa7f6.jpg)
目前,“哥白尼计划”观测系统已有7颗卫星在位运行。
7th #**Sentinel3B** 25 April '18
6th #Sentinel5P 13 Oct '17
5th #Sentinel3A 16 Feb '16
4th #Sentinel2B 7 March '17
3rd #Sentinel2A 23 June '15
2nd#Sentinel1B 25 April '16
1st #Sentinel1A 3 April '14
![](/images/欧洲哥白尼计划哨兵3B-Sentinel-3B-卫星成功发射/img_b8725756.jpg)
  在海洋监测方面,“哨兵-3”将对海温、海色、海平面高度以及海冰厚度进行测量,测量数据可用于监测地球气候变化、海洋污染和生物生产力等。在陆地方面,“哨兵-3”将被用于监测森林大火、陆地植被健康及湖泊河流的水位等。
      “哨兵”系列地球观测卫星是欧洲“哥白尼计划”观测系统的重要组成部分,对地球陆地、海洋和大气开展雷达和多光谱成像观测,观测数据对全球用户免费开放,为地球环境监测和公众安全提供支持和保障。
![](/images/欧洲哥白尼计划哨兵3B-Sentinel-3B-卫星成功发射/img_030e5a08.jpg)
![](/images/欧洲哥白尼计划哨兵3B-Sentinel-3B-卫星成功发射/img_46c8df16.jpg)
![](/images/欧洲哥白尼计划哨兵3B-Sentinel-3B-卫星成功发射/img_ff7a8175.jpg)
![](/images/欧洲哥白尼计划哨兵3B-Sentinel-3B-卫星成功发射/img_567533fd.jpg)
Reference:
twitter: @esa @esa\_eo @CopernicusEU @EUMETSAT
https://earth.esa.int/web/guest/missions/esa-eo-missions/sentinel-3
---------------------------------------------------------------------------
![](/images/欧洲哥白尼计划哨兵3B-Sentinel-3B-卫星成功发射/img_b53c2a29.jpg)====气泡-可视化展示全球不同国家气温异常年际变化趋势-1880-2017.md====
---
title: "“气泡”可视化展示全球不同国家气温异常年际变化趋势(1880-2017)"
published: 2018-09-13
description: "显示了全球191个国家1880年至2017年的温度异常变化趋势, 每个国家都用一个气泡表示,气泡的大小表示温度相对于1951年至1980年之间的平均温度变化了多少。数据来源于NASA的GISTEMP数据。"
image: "/images/气泡-可视化展示全球不同国家气温异常年际变化趋势-1880-2017/img_7e384440.jpg"
tags: ["数据可视化", "台风"]
category: "数据可视化"
draft: false
---
显示了全球191个国家1880年至2017年的温度异常变化趋势, 每个国家都用一个气泡表示,气泡的大小表示温度相对于1951年至1980年之间的平均温度变化了多少。数据来源于NASA的GISTEMP数据,链接:https://data.giss.nasa.gov/gistemp/
      可视化中的颜色说明是变暖还是变冷, 变暖遵循从橙色到红色的梯度,而显示变冷的气泡则以蓝色阴影填充。
      China 在第3行4列,1930年以后有数据。
      微信转码后分辨率下降,可以通过以下链接下载1080P版本。
      https://www.flickr.com/photos/150411108@N06/30562013098/
      Author :Antti Lipponen, a research scientist at the Finnish Meteorological Institute
     Twitter:https://twitter.com/anttilip
另一篇关于气候变化的文章:[可视化展示全球气候变化](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247483687&idx=1&sn=b0d492710756406e33d70a88ab73958d&chksm=fabf697dcdc8e06bacd0b1407ea8bd90c4b34aef51091d3324ef834f6829804b81af0cbace99&scene=21#wechat_redirect)====气象海洋大模型对比分析.md====
---
title: "气象海洋大模型对比分析"
published: 2025-12-06
description: ""
image: "/images/气象海洋大模型对比分析/img_55c9defa.jpg"
tags: ["数据可视化", "台风"]
category: "数据可视化"
draft: false
---
# 一、概述
随着人工智能技术的快速发展,大模型技术正在深刻改变海洋科学研究和海洋环境预报的范式。传统的海洋数值预报模式虽然基于严格的物理方程,但计算成本高昂、时效性受限。近年来,国内外科研机构和企业积极探索将深度学习技术应用于海洋环境预报领域,涌现出一批具有代表性的海洋大模型。
![](/images/气象海洋大模型对比分析/img_d02200da.png)
本文系统梳理了当前国内外主要的海洋大模型及相关气象大模型的发展现状,包括国内的问海、羲和、琅琊、AI-GOMS、OceanGPT、波塞冬、FUXI-Ocean等海洋专用大模型,以及伏羲、风乌、盘古等气象大模型;国外的GraphCast、GenCast、FourCastNet、Aurora、AIFS、NeuralGCM等气象大模型,以及Samudra等海洋大模型。报告从研发机构、技术特点、预报要素、预报能力、计算效率等多个维度进行分析对比,为海洋人工智能领域的研究和应用提供参考。
![](/images/气象海洋大模型对比分析/img_0a28e2e0.png)
# 二、国内海洋与气象预报大模型
## 2.1 问海大模型(WenHai)
### 2.1.1 基本信息
问海大模型是全球首个高分辨率(1/12°)海洋环境智能预报大模型,由崂山国家实验室、中国海洋大学、中国科学技术大学联合研发。该模型于2024年5月27日作为“瀚海星云”大模型应用体系的领域大模型同步发布,相关论文发表于Nature Communications期刊。
### 2.1.2 技术特点
* • 将块体公式(Bulk Formula)显式嵌入神经网络,准确表征海-气间的动量、热量和物质交换过程
* • 利用海陆分布掩码(Ocean-Land Mask),赋予模型对地形岸界的感知能力
* • 以海洋状态的变化趋势作为预报目标,而非直接预报海洋状态本身
* • 采用微调技术改善迭代预报过程中的累积误差问题
* • 采用“近邻”评估(Neighbourhood Evaluation)方案,评估连续排名概率得分(CRPS)
### 2.1.3 模型能力
| | |
| --- | --- |
| **指标** | **详情** |
| 空间分辨率 | 1/12°(约9公里) |
| 时间分辨率 | 逐日预报 |
| 预报时效 | 10天 |
| 预报要素 | 海表面温度(SST)、海表面高度(SSH)、海表面盐度(SSS)、海表面流场(UV) |
| 训练数据 | GLORYS12海洋再分析数据(1993-2022年)和ERA5大气再分析数据 |
| 计算效率 | 相较传统数值预报提升3000倍 |
## 2.2 羲和海洋大模型(XiHe)
### 2.2.1 基本信息
羲和大模型由国防科技大学研发。该模型是全球首个数据驱动的海洋涡旋分辨智能预报大模型,同样基于GLORYS12数据训练,支持全球高精度海洋预报。模型已在多个机构部署运行,为业务预报提供数据支撑。
### 2.2.2 技术特点
* • 采用Swin-Transformer架构,有效处理高分辨率全球海洋数据
* • 利用Ocean-Land Mask排除陆地干扰,专注海洋动力过程学习
* • 预报变量包括海温、盐度、流速、海面高度以及混合层深度
* • 支持1-60天的延伸期预报能力
### 2.2.3 模型能力
| | |
| --- | --- |
| **指标** | **详情** |
| 空间分辨率 | 1/12°(约9公里),可分辨100公里中尺度涡旋 |
| 预报时效 | 短期10天,延伸期可达60天 |
| 预报要素 | 海表温度、盐度、流速、海面高度、混合层深度 |
| 计算效率 | 比传统数值模式快1000倍以上 |
| 应用部署 | 已在自然资源部、中国气象局、高校等机构部署运行 |
## 2.3 琅琊海洋大模型(LangYa)
### 2.3.1 基本信息
琅琊海洋大模型由中国科学院海洋研究所研发,于2024年8月正式发布1.0版本。该模型聚焦西北太平洋和中国近海区域,是面向海洋科学研究和预报业务的领域专用大模型。
### 2.3.2 技术特点
* • 融合AI技术与传统海洋学知识,构建知识增强的预报模型
* • 聚焦西北太平洋和中国近海区域,提供高精度区域预报
* • 支持海洋物理场、生态场多要素智能预报
### 2.3.3 模型能力
| | |
| --- | --- |
| **指标** | **详情** |
| 空间分辨率 | 1/12° |
| 预报时效 | 7天 |
| 主要区域 | 西北太平洋、中国近海 |
| 版本状态 | 1.0版本已发布 |
## 2.4 AI-GOMS全球海洋建模系统
### 2.4.1 基本信息
AI-GOMS(AI-driven Global Ocean Modeling System)是由清华大学和华为云联合开发的全球海洋智能建模系统。该系统在30天海洋预报任务中,多数指标上超越了传统海洋数值模式FOAM和业界AI预报模型GraphCast,实现了多个技术突破。
### 2.4.2 技术特点
* • 采用Fourier MAE(傅里叶掩码自编码器)架构,在频域空间进行特征学习
* • 创新的多尺度特征融合机制,有效捕捉不同时空尺度的海洋动力过程
* • 支持全球尺度的长时间序列预报
### 2.4.3 模型能力
| | |
| --- | --- |
| **指标** | **详情** |
| 空间分辨率 | 1/4°(约25公里) |
| 预报时效 | 30天 |
| 预报要素 | 海表温度、盐度、流场等 |
| 性能对比 | 多数指标超越FOAM和GraphCast |
## 2.5 OceanGPT海洋科学大语言模型
### 2.5.1 基本信息
OceanGPT是由浙江大学开发的首个面向海洋科学任务的大语言模型,专注于海洋科学知识问答和文本理解任务。该模型基于LLaMA架构开发,已开源发布并被ACL 2024会议收录。
### 2.5.2 技术特点
* • 基于DoInstruct框架,有效解决海洋领域数据稀缺问题
* • 专门针对海洋科学知识问答进行优化
* • 支持多种海洋科学文本理解任务
## 2.6 波塞冬海洋生态环境大模型(Poseidon)
### 2.6.1 基本信息
波塞冬(Poseidon)是由浙江大学地球科学学院研发的海洋生态环境要素智能预报大模型。
### 2.6.2 技术特点
* • 针对海洋生态环境的遥感大数据智能预报问题
* • 创新性利用大模型解决海洋遥感预报难题
* • 采用多源海洋数据作为输入
* • 构建基于人工智能和大数据技术的预报模型
### 2.6.3 模型能力
| | |
| --- | --- |
| **指标** | **详情** |
| 预报要素 | 海洋生态环境要素 |
| 数据来源 | 多源海洋遥感数据 |
| 发布时间 | 2024年11月 |
**2.7 伏羲海洋大模型(FuXi-Ocean)**
**2.7.1 基本信息**
FuXi-Ocean是首个实现6小时时间分辨率的数据驱动全球海洋预报模型,由复旦大学研发。该模型于2025年发表于机器学习顶级会议NeurIPS,是海洋AI预报领域的重要突破。
**2.7.2 技术特点**
* • 首次实现6小时时间分辨率的海洋预报,覆盖深度可达1500米(20个深度层)
* • 创新性提出Mixture-of-Time(MoT)模块,自适应集成多时间窗口预测,针对不同海洋变量学习特定时间依赖性
* • 采用上下文感知特征提取模块结合堆叠注意力块的预测网络架构
* • 数据高效:仅使用约9年训练数据(2006-2015年HYCOM再分析数据)即达到SOTA性能
* • 仅依赖纯海洋变量作为输入(温度、盐度、U/V流速、SSH),无需大气强迫数据
**2.7.3 预报能力**
| | |
| --- | --- |
| **指标** | **能力描述** |
| 预报要素 | 温度、盐度、U/V流速、海表高度(SSH) |
| 预报时效 | 10天(每6小时输出一次预报) |
| 空间分辨率 | 1/12°(约9公里),具备涡旋分辨能力 |
| 时间分辨率 | 6小时(首个实现次日内高频预报的AI海洋模型) |
| 垂直覆盖 | 0-1500米,20个深度层 |
| 计算效率 | 4张H100 GPU训练约81小时,推理速度远超传统数值模式 |
| 性能表现 | 在IV-TT评估框架下,SST预报优于HYCOM、BLK、FOAM等业务系统,累积误差增长明显更小 |
## 2.8 伏羲气象大模型(FuXi)
伏羲是由复旦大学研发的级联机器学习预报系统,相关论文发表于npj Climate and Atmospheric Science。该模型支持15天全球天气预报,是国内首个发表的此类系统。
| | |
| --- | --- |
| **指标** | **详情** |
| 空间分辨率 | 0.25° |
| 预报时效 | 15天(采用级联策略:0-5天、5-10天、10-15天) |
| 核心技术 | Transformer架构 + Mixture of Experts |
| 训练数据 | ERA5再分析数据(1979-2015年) |
| 性能表现 | 3-15天预报超越GraphCast |
## 2.9 风乌气象大模型(FengWu)
风乌是由上海人工智能实验室开发的全球中期天气预报大模型,相关论文于2023年发布。该模型目标是突破10天以上预报时效的技术瓶颈,提供更长时效的精准预报。
| | |
| --- | --- |
| **指标** | **详情** |
| 空间分辨率 | 0.25° |
| 预报时效 | 10.75天(业界领先) |
| 预报要素 | 高度场、风场、温度、湿度、海平面气压等 |
| 计算效率 | 单GPU 30秒完成10天预报,超过传统方法2000倍以上 |
| 性能表现 | 80%评估指标超越DeepMind的GraphCast,10天预报误差降低10.87% |
## 2.10 盘古气象大模型(Pangu-Weather)
**2.10.1 基本信息**
盘古气象大模型(Pangu-Weather)是全球首个精度超过传统数值预报方法的AI气象预测模型,由华为云开发。该研究成果于2023年7月以正刊形式发表于国际顶级学术期刊《Nature》,被认为是人工智能在气象领域应用的重要里程碑,改变了传统气象预报单纯依赖数值计算的范式。
**2.10.2 技术特点**
* • **3D Transformer架构**:创新性提出3D Earth-Specific Transformer (3DEST) 架构,将三维气象数据处理为三维立方体(Cuboid),相比传统2D模型能更有效地捕捉大气数据的三维空间相关性。
* • **层次化时域聚合策略**:针对迭代预测中的误差累积问题,训练了1小时、3小时、6小时和24小时等不同预测间隔的模型,通过贪心算法减少长时效预报的累积误差。
* • **高分辨率建模**:实现了0.25°(约28公里)的全球高分辨率气象预报,分辨率水平与欧洲中期天气预报中心(ECMWF)的IFS系统一致。
* • **极致推理速度**:相比传统数值预报方法(NWP),推理速度提升10,000倍以上,极大降低了计算能耗。
* • **海量数据驱动**:基于ECMWF的ERA5再分析数据(1979-2017年)进行训练,利用43年的全球历史气象数据学习大气演变规律。
**2.10.3 预报能力**
| | |
| --- | --- |
| **指标** | **能力描述** |
| 预报要素 | 涵盖13个高空层(位势、比湿、温度、U/V风速)及地表变量(海平面气压、10米风速、2米温度等) |
| 预报时效 | 中期天气预报(支持7天以上),具备秒级生成全球预报能力 |
| 空间分辨率 | 0.25° × 0.25°(赤道处约28公里) |
| 时间分辨率 | 1小时(支持逐小时高频滚动预报) |
| 垂直覆盖 | 1000hPa至50hPa,共13个主要气压层 |
| 计算效率 | 单张V100 GPU仅需1.4秒即可完成24小时全球预报,速度远超传统数值模式 |
| 性能表现 | 在Z500、T850等关键气象指标的确定性预报精度上,全面超越ECMWF的IFS系统(世界顶级数值模式);在台风路径追踪等极端天气场景下表现出极高的准确性 |
# 三、国外气象与海洋大模型
## 3.1 GraphCast气象预报模型
### 3.1.1 基本信息
GraphCast是由Google DeepMind开发的全球气象预报大模型,于2023年11月在Science期刊发表。该模型是首个在全球中期天气预报中超越ECMWF业务系统(HRES)的机器学习模型,代表了AI气象预报领域的里程碑式进展。模型代码已在GitHub开源。
### 3.1.2 技术特点
* • 采用图神经网络(GNN)架构,基于多尺度网格表示全球大气状态
* • 使用编码器-处理器-解码器范式,有效捕捉大气变量间的空间依赖关系
* • 基于ECMWF ERA5再分析数据(1979-2017年)进行训练
* • 采用自回归方式进行多步预报,每6小时输出一次预报结果
### 3.1.3 模型能力
| | |
| --- | --- |
| **指标** | **详情** |
| 空间分辨率 | 0.25°(约25公里) |
| 时间分辨率 | 6小时 |
| 预报时效 | 10天 |
| 预报变量 | 227个关键大气变量,37个气压层 |
| 计算效率 | 单GPU不到1分钟生成10天预报,比HRES快1000倍以上 |
| 性能表现 | 在90%以上的评估指标上超越ECMWF HRES |
## 3.2 GenCast集合预报模型
### 3.2.1 基本信息
GenCast是Google DeepMind于2024年发布的基于扩散模型的全球集合天气预报系统。该模型在Nature期刊发表,是首个在集合预报任务中全面超越ECMWF集合预报系统(ENS)的机器学习模型。GenCast代表了从确定性预报向概率预报的重要转变。
### 3.2.2 技术特点
* • 采用扩散模型架构,从噪声中迭代生成大气状态
* • 适应地球球面几何特征,使用二十面体网格表示
* • 生成50个或更多集合成员,提供完整的概率预报
* • 支持极端天气事件和热带气旋路径预报
### 3.2.3 模型能力
| | |
| --- | --- |
| **指标** | **详情** |
| 空间分辨率 | 0.25° |
| 时间分辨率 | 12小时 |
| 预报时效 | 15天 |
| 预报变量 | 80多个地表和大气变量 |
| 计算效率 | 8分钟生成完整15天集合预报 |
| 性能表现 | 在97.2%的评估指标上超越ECMWF ENS |
## 3.3 FourCastNet气象预报模型
### 3.3.1 基本信息
FourCastNet(Fourier ForeCasting Neural Network)是NVIDIA开发的全球气象预报模型,是NVIDIA Earth-2平台的核心组件。最新版本FourCastNet 3于2025年发布,在概率预报、计算效率、频谱保真度等方面实现了重大突破。模型已在NOAA等机构部署运行。
### 3.3.2 技术特点
* • 采用自适应傅里叶神经算子(AFNO)架构,在频域空间进行特征学习
* • 支持超大规模集合预报,可生成数千个集合成员
* • 针对球面几何特征优化的卷积神经网络架构
* • 在亚季节至季节(S2S)时间尺度上保持稳定
### 3.3.3 模型能力
| | |
| --- | --- |
| **指标** | **详情** |
| 空间分辨率 | 0.25° |
| 时间分辨率 | 6小时 |
| 预报时效 | 中期10天,延伸期可达60天 |
| 计算效率 | 单GPU 4分钟完成60天预报,比传统方法快45000倍 |
| 能耗效率 | 能耗仅为传统数值模式的万分之一 |
| 性能表现 | 中期预报技巧与GenCast相当,超越IFS-ENS |
## 3.4 Aurora地球系统基础模型
### 3.4.1 基本信息
Aurora是微软研究院开发的首个大规模地球系统基础模型(Foundation Model),于2024年发表于Nature期刊。该模型采用基础模型方法,在超过100万小时的多样化地球物理数据上进行预训练,可通过微调适应多种预报任务。模型代码和权重已完全开源。
### 3.4.2 技术特点
* • 采用3D Swin Transformer架构,配合3D Perceiver编解码器
* • 13亿参数的大规模模型,支持多分辨率、多变量输入
* • 采用LoRA技术进行高效微调,适应下游任务
* • 支持天气预报、空气质量、海浪、热带气旋等多种预报任务
### 3.4.3 模型能力
| | |
| --- | --- |
| **指标** | **详情** |
| 空间分辨率 | 高分辨率版本0.1°(约11公里) |
| 预报时效 | 天气10天,空气质量5天 |
| 预报任务 | 天气、空气质量、海浪、热带气旋路径 |
| 训练数据 | ERA5、CMIP6、HRES、GFS等100万小时数据 |
| 计算效率 | 比传统方法快约5000倍 |
| 性能表现 | 在91%的评估指标上超越同类模型 |
## 3.5 AIFS人工智能预报系统
### 3.5.1 基本信息
AIFS(Artificial Intelligence Forecasting System)是欧洲中期天气预报中心(ECMWF)自主研发的人工智能预报系统,于2025年2月正式投入业务运行。这是全球首个由国际气象机构正式业务化运行的AI气象预报系统,标志着AI预报从研究走向业务应用的重要里程碑。2025年7月,AIFS集合预报版本(AIFS ENS)也投入运行。
### 3.5.2 技术特点
* • 采用图神经网络编解码器和滑动窗口Transformer处理器架构
* • 与IFS共享初始场,每6小时运行一次
* • 基于Anemoi开源框架开发,支持多种并行训练策略
* • 提供最广泛的预报变量,包括降水类型等
### 3.5.3 模型能力
| | |
| --- | --- |
| **指标** | **详情** |
| 空间分辨率 | 当前约31公里(目标提升至9公里) |
| 预报时效 | 10天 |
| 集合成员 | AIFS ENS提供51个集合成员 |
| 运行状态 | 已正式业务运行,提供24/7支持 |
| 计算效率 | 能耗仅为传统方法的千分之一 |
| 性能表现 | 热带气旋路径预报提升20% |
## 3.6 NeuralGCM混合气候模型
### 3.6.1 基本信息
NeuralGCM是Google Research与ECMWF合作开发的混合气候模型,于2024年发表于Nature期刊。该模型创新性地将可微分的物理动力学求解器与机器学习组件相结合,既保持了物理模型的可解释性,又获得了机器学习的效率优势,是物理驱动与数据驱动融合的典范。
### 3.6.2 技术特点
* • 将可微分动力学核心与神经网络物理参数化相结合
* • 端到端训练,同时优化物理和学习组件
* • 支持确定性预报和集合概率预报
* • 可准确模拟热带气旋等涌现现象
### 3.6.3 模型能力
| | |
| --- | --- |
| **指标** | **详情** |
| 空间分辨率 | 0.7°至2.8°(约78-310公里) |
| 预报时效 | 天气1-15天,气候数十年 |
| 训练数据 | ECMWF 1979-2019年数据 |
| 计算效率 | 比传统GCM快3500倍,成本降低10万倍 |
| 气候模拟 | 40年温度预测误差仅为传统模型的1/3 |
| 性能表现 | 1-10天预报与GraphCast相当,15天集合预报与ECMWF ENS相当 |
# 四、技术对比分析
## 4.1 国内主要海洋大模型对比
| | | | | | |
| --- | --- | --- | --- | --- | --- |
| **模型** | **研发机构** | **分辨率** | **预报时效** | **核心技术** | **应用状态** |
| 问海 | 崂山实验室等 | 1/12° | 10天 | Bulk Formula嵌入 | 已发布 |
| 羲和 | 国防科大等 | 1/12° | 10-60天 | Swin-Transformer | 已部署 |
| 琅琊 | 中科院海洋所 | 1/12° | 7天 | AI+海洋知识融合 | 1.0版本 |
| AI-GOMS | 清华/华为 | 1/4° | 30天 | Fourier MAE | 论文阶段 |
| OceanGPT | 浙江大学 | - | - | DoInstruct框架 | 已开源 |
| 波塞冬 | 浙江大学 | - | - | 遥感大数据+AI | 获奖项目 |
## 4.2 国外主要气象/海洋大模型对比
| | | | | | |
| --- | --- | --- | --- | --- | --- |
| **模型** | **研发机构** | **分辨率** | **预报时效** | **核心技术** | **应用状态** |
| GraphCast | Google DeepMind | 0.25° | 10天 | 图神经网络GNN | 已开源 |
| GenCast | Google DeepMind | 0.25° | 15天 | 扩散模型集合预报 | 已开源 |
| FourCastNet | NVIDIA | 0.25° | 10-60天 | 傅里叶神经算子 | Earth-2平台 |
| Aurora | 微软研究院 | 0.1° | 10天 | 3D Swin Transformer | 已开源 |
| AIFS | ECMWF | ~31km | 10天 | GNN+Transformer | 业务运行 |
| NeuralGCM | Google Research | 0.7-2.8° | 15天+气候 | 物理+ML混合 | 已开源 |
| | | | | | |
## 4.3 关键技术特征分析
### 4.3.1 模型架构
当前海洋和气象大模型主要采用以下几类架构:
(1)图神经网络(GNN):GraphCast、AIFS采用GNN处理球面数据的空间依赖关系;(2)Transformer及变体:羲和采用Swin-Transformer,Aurora采用3D Swin Transformer;
(3)傅里叶神经算子:FourCastNet、AI-GOMS在频域空间进行特征学习;
(4)扩散模型:GenCast采用扩散模型生成集合预报;
(5)混合架构:NeuralGCM创新性地将可微分物理求解器与神经网络相结合。
### 4.3.2 物理约束融合
物理约束融合是提升模型可靠性的关键技术。国内的问海模型将Bulk Formula显式嵌入神经网络,羲和和问海均采用Ocean-Land Mask处理海陆边界。国外的NeuralGCM则代表了物理-数据融合的最前沿,将可微分动力学核心与机器学习参数化相结合,既保持了物理可解释性,又获得了数据驱动的效率优势。
### 4.3.3 计算效率对比
AI大模型在计算效率上实现了数量级的提升。国内模型:问海快3000倍,羲和快1000倍,风乌快2000倍;国外模型:GraphCast快1000倍,FourCastNet快45000倍,NeuralGCM快3500倍且成本降低10万倍。特别值得注意的是,AIFS能耗仅为传统方法的千分之一,为绿色计算树立了标杆。这些效率提升使得实时预报、集合预报和长期气候模拟成为可能。
# 五、发展趋势与展望
## 5.1 技术发展趋势
* • 基础模型范式:从任务专用模型向通用基础模型发展,如Aurora等支持多任务微调
* • 物理-数据融合:NeuralGCM等混合架构代表了物理约束与数据驱动深度融合的方向
* • 集合概率预报:从确定性预报向集合概率预报转变,GenCast等模型引领这一趋势
* • 多圈层耦合:从单一大气/海洋预报向海-气-冰-生多圈层耦合预报发展
* • 业务化应用:AIFS的业务运行标志着AI预报从研究走向实际应用
## 5.2 国内外发展对比
国外在气象AI大模型领域起步较早,Google DeepMind、NVIDIA、微软、ECMWF等形成了完整的技术生态。ECMWF的AIFS已实现业务运行,代表了AI预报的最高应用水平。国内在海洋AI大模型领域具有特色优势,问海、羲和等模型在海洋涡旋分辨预报方面达到国际领先水平。未来,加强国际合作、推动开源共享、加快业务化应用将是重点发展方向。
## 5.3 面临的挑战
* • 数据质量:高质量海洋观测数据稀缺,尤其是深海和极地区域
* • 模型可解释性:深度学习模型的'黑箱'特性限制了在业务预报中的应用
* • 极端事件预报:对海洋热浪、风暴潮等极端事件的预报能力仍需提升
* • 气候外推能力:当前模型难以外推至显著不同的未来气候状态
* • 业务化转型:从科研模型到业务系统的转化仍需大量工程化工作
## 5.4 发展建议
* • 加强海洋观测系统建设,为大模型训练提供高质量数据支撑
* • 借鉴NeuralGCM等混合架构经验,发展可解释的海洋大模型
* • 建立统一的海洋大模型评估标准和基准测试集
* • 参考ECMWF的AIFS经验,加快推动国内模型的业务化应用
* • 加强国际合作和开源共享,融入全球AI预报技术生态
# 参考文献
[1] Forecasting the Eddying Ocean with a Deep Neural Network. Nature Communications, 2025.
[2] XiHe: A Data-Driven Model for Global Ocean Eddy-Resolving Forecasting. arXiv:2402.02995, 2024.
[3] AI-GOMS: Large AI-Driven Global Ocean Modeling System. arXiv:2308.03152, 2023.
[4] OceanGPT: A Large Language Model for Ocean Science Tasks. ACL 2024.
[5] FuXi: A cascade machine learning forecasting system. npj Climate and Atmospheric Science, 2023.
[6] FengWu: Pushing the Skillful Global Medium-range Weather Forecast beyond 10 Days Lead. arXiv:2304.02948, 2023.
[7] LangYa: Revolutionizing Cross-Spatiotemporal Ocean Forecasting.arXiv:2412.18097,2024.
[8] GraphCast: Learning skillful medium-range global weather forecasting. Science, 2023.
[9] GenCast: Diffusion-based ensemble forecasting for medium-range weather. Nature, 2024.
[10] FourCastNet: A Global Data-driven High-resolution Weather Model. arXiv:2202.11214, 2022.
[11] Aurora: A Foundation Model of the Atmosphere. Nature, 2024.
[12] AIFS - ECMWFs data-driven forecasting system. arXiv:2406.01465, 2024.
[13] Neural general circulation models for weather and climate. Nature, 2024.====海洋有多深.md====
---
title: "海洋有多深"
published: 2018-04-29
description: "通过直观的短片展示海洋的深度。"
image: "/images/海洋有多深/img_9cea5bae.jpg"
tags: ["数据可视化", "台风"]
category: "数据可视化"
draft: false
---
**通过直观的短片展示海洋的深度。**
**1. 海有多深?**
       全球海洋的平均深度约是3795米,最深处是马里亚纳海沟,深度约11034米。此外,太平洋平均深度3957米,大西洋平均深度3626米,印度洋平均深度3397米,北冰洋平均深度1300米。
       最深的海沟基本上都在太平洋。第一是马里亚纳海沟;第二是汤加海沟,深10882米;第三是日本海沟,深10682米。
**2. 人类已探测多深?**
       最深的马里亚纳海沟人类已经到过了,而且不止一次。第一次是1960年1月23日,瑞士物理学家Jacques Piccard和美国海军人员Don Walsh乘坐潜艇潜到了马里亚纳海沟的最深处,在此之后都没有人类下潜到马里亚纳海沟了。直到2012年3月26日,马里亚纳海沟迎来了人类的第二次探访,卡梅隆乘坐“深海挑战者”号,进行了世界首次单人下潜至马里亚纳海沟最深处的探险,此处也被命名为“挑战者深渊”。====海量学术种子资源.md====
---
title: "海量学术种子资源"
published: 2018-08-13
description: "Academic Torrents 学术种子资源,海量数据,分类繁多,覆盖面广,科学数据居多,共 27TB 资源。"
image: "/images/海量学术种子资源/img_6ff9264e.jpg"
tags: ["数据可视化", "台风"]
category: "数据可视化"
draft: false
---
很简短,纯干货。
Academic Torrents 学术种子资源,海量数据,分类繁多,覆盖面广,科学数据居多,共 27TB 资源。
科学研究中使用的所有数据,包括数据集和出版物,使用bittorrent技术传播。
你可以通过paper标题名称搜索并下载文章中的数据。
放链接:http://academictorrents.com/browse.php
![](/images/海量学术种子资源/img_e4d5b6ee.png)
![](/images/海量学术种子资源/img_f4bae484.png)
![](/images/海量学术种子资源/img_0f88d29b.png)
=========================================
![](/images/海量学术种子资源/img_b53c2a29.jpg)====深入理解Zarr-云原生时代的大规模科学数据存储与分析利器.md====
---
title: "深入理解Zarr:云原生时代的大规模科学数据存储与分析利器"
published: 2025-09-07
description: ""
image: "/images/深入理解Zarr-云原生时代的大规模科学数据存储与分析利器/img_97a80f5b.jpg"
tags: ["数据可视化", "台风"]
category: "数据可视化"
draft: false
---
在当今数据驱动的时代,我们处理的数据规模正在以前所未有的速度增长。从气候模拟、卫星遥感影像到基因组学,科学数据的体量常常达到 TB 甚至 PB 级别。数据密集型计算分析工作流程的最大瓶颈往往不在于代码或硬件,而在于数据的存储方式。数据存储格式的选择直接影响着性能、可扩展性和协作效率。无论是处理气候模型、卫星图像还是大规模机器学习数据集,数据结构都可能决定工作的边界。
为了应对这些挑战,我们需要一种全新的数据存储方案。但在介绍 Zarr 之前,我们有必要先了解一下那些服务了科学计算数十年的传统格式,以及它们在当今云时代所面临的困境。
#### **传统存储格式的挑战:NetCDF/HDF5 的局限性**
长期以来,NetCDF 和 HDF5 等格式一直是存储多维科学数据的黄金标准。它们非常出色,能够将数据、元数据、维度和坐标信息打包在一个可移植的、自描述的单文件中。对于在本地硬盘上进行数据存储和分析的场景,这套方案堪称完美。
![](/images/深入理解Zarr-云原生时代的大规模科学数据存储与分析利器/img_0e86b625.webp)![](/images/深入理解Zarr-云原生时代的大规模科学数据存储与分析利器/img_12f11576.png)
然而,随着数据规模的爆炸式增长和计算范式向云端迁移,这种基于单体文件的设计开始暴露其固有的局限性,尤其是在**数据分析和可视化所需的高效、快速读取**方面:
#### **1. 并发访问的瓶颈**
这些格式的核心设计是“一个文件”。当多个进程或计算节点尝试同时向这一个文件写入数据时,为了防止数据损坏,必须引入文件锁(File Locking)机制。这种机制严重限制了并行写入的性能,使其无法充分利用现代分布式计算集群的威力。
#### **2. 云端对象存储的“水土不服”**
云存储(如 AWS S3)本质上是对象存储,而非传统的文件系统。它对整个对象的读(GET)和写(PUT)操作进行了高度优化。当您想更新一个存储在 S3 上的 100GB HDF5 文件中的一小部分数据时,您无法原地修改。您必须:
* • 将整个 100GB 的文件下载下来。
* • 在内存中修改这部分数据。
* • 再将修改后的整个 100GB 文件上传回去,覆盖旧文件。 这是一个极其缓慢且成本高昂的“读-改-写”过程,完全违背了云存储的设计哲学。
#### **3. 分析与可视化读取效率低下**
数据分析和可视化常常需要快速读取数据的某个切片(Slice),例如一张地图的特定区域或一个时间序列的某个时间段。虽然 NetCDF/HDF5 内部支持分块,但由于所有数据都封装在一个单体文件中,客户端仍然需要解析复杂的文件头和元数据结构来定位数据。在网络环境中,这种延迟积少成多,使得交互式分析和动态可视化变得非常缓慢,用户体验不佳。
![](/images/深入理解Zarr-云原生时代的大规模科学数据存储与分析利器/img_d8c1676a.webp)
**Zarr 正是在这样的背景下应运而生——一个简单而强大的开源、云原生协议,专为存储分块压缩的 N 维数组而设计。**
![](/images/深入理解Zarr-云原生时代的大规模科学数据存储与分析利器/img_ab74c9a7.png)
# Zarr 核心概念
### 1. 什么是 Zarr?
Zarr 是一个用于存储分块(Chunked)、压缩 N 维数组的开源规范。它主要用于存储多维数组数据集,如时间、空间或其他变量的测量值,以 N 维数组的形式组织。您可以将其理解为一种专为数组数据设计的。它从根本上摒弃了单体文件的设计,通过一种巧妙的方式组织数据,使其在云环境中能够被大规模并行读写,从而成为现代分布式计算框架(如 Dask、Spark 和 Ray)的理想搭档。
一个生动的比喻是:**"Zarr 是数组数据的 Parquet"**。Parquet 是针对表格数据优化的列式存储格式,而 Zarr 是针对多维数组数据优化的分块存储协议。两者都高效、压缩,专为分析和可扩展访问模式设计,特别适用于云端和分布式环境。
![](/images/深入理解Zarr-云原生时代的大规模科学数据存储与分析利器/img_4e278d28.png)
### 2. 核心设计原则
Zarr 专门为张量数据而设计——多维数组是标量(0D)、向量(1D)和矩阵(2D)向更高维度的泛化,广泛用于机器学习和科学计算中的复杂结构化数据表示。
Zarr 规范的核心是将数据存储在 **chunks**(块)中——大型数组的小型、可管理的片段,可以独立读写。每个块都被压缩以节省空间,整个数据集以分层目录结构组织,配有简单的 JSON 元数据文件。
**Zarr 的核心特性:**
* • **灵活性**:支持本地文件系统、Amazon S3 或 Google Cloud Storage 等云对象存储,以及分布式文件系统
* • **高效性**:支持快速并行 I/O,适合 Dask、Ray、Spark 或 Beam 等分布式计算工具
* • **自描述性**:元数据直接嵌入数据旁边,每个数组携带自身信息,如维度、数据类型或自定义属性
* • **开放性**:开放规范、不断发展的生态系统和社区治理,不依赖任何单一供应商或平台
# Zarr 数据存储结构
Zarr 的核心在于其分层和分块的数据结构。一个 Zarr 数据集本质上是一个层次化的目录(或对象存储前缀),其中包含元数据文件和数据块文件。
![](/images/深入理解Zarr-云原生时代的大规模科学数据存储与分析利器/img_b9fc0039.webp)
其结构主要包含两个核心概念:
#### **1. 分块 (Chunks)**
Zarr 会将一个庞大的 N 维数组切分成许多个小的、独立的“块”。例如,一个 `(10000, 10000)` 的二维数组可以被切分成一百个 `(1000, 1000)` 大小的块。每个块都经过独立的压缩,并作为一个单独的对象进行存储。
#### **2. 存储与元数据 (Stores & Metadata)**
Zarr 使用一个灵活的“存储”(Store)接口来管理这些数据块,该接口本质上是一个键/值存储。
* • **键 (Key)** 是一个字符串,代表了数据块在数组中的位置,例如 `c/0/1`。
* • **值 (Value)** 是对应数据块的二进制字节流。
* • **元数据**则以 `.json` 文件的形式存储。例如,`.zarray` 文件描述了数组的整体信息(如维度、块大小、数据类型和压缩器),而 `.zgroup` 文件则用于将多个数组组织在一起。
这种结构意味着,一个 Zarr 数据集在本地文件系统上是一个目录,而在 S3 等对象存储上则是一个共享相同前缀的对象集合。
![](/images/深入理解Zarr-云原生时代的大规模科学数据存储与分析利器/img_0b83e59f.jpg)
# 为什么 Zarr 是"云原生"格式?
Zarr 的“云原生”特性源于其将大数组分解为独立对象(数据块)的设计哲学。这与云对象存储的工作模式完美契合,并带来了几个关键优势:
* • **避免并发写入冲突**:由于每个块都是一个独立的对象,多个进程或节点可以同时向不同的数据块写入数据,完全无需锁定,实现了真正的并行 I/O。
* • **高效的部分读取**:当您只需要访问数组的一小部分时,Zarr 只需读取包含相关数据的特定块(对象)。这避免了下载和解析整个庞大文件的开销,极大地提升了数据切片(Slicing)的性能,对于交互式分析和可视化至关重要。
* • **与 HTTP 协议的亲和性**:云对象存储的 API 基于 HTTP。Zarr 的每个块都可以通过一个简单的 HTTP GET 请求来获取,这使得它能够轻松地与 Web 服务和分布式计算系统集成。
# Python API应用
如果您熟悉 NumPy,那么使用 Zarr 会感觉非常自然。核心 Python API 提供类似的基于数组的接口,并增加了对数据存储和访问方式的控制。
### 1. 基础操作示例

import numpy as np
import zarr

Create a 2D array with shape (100, 100), chunked in 10x10 blocks#

z = zarr.open(‘zarr-data’, mode=‘w’, shape=(100, 100), chunks=(10, 10), dtype=‘f4’)

Fill the array with a default value#

z[:] = 0

Create a 10x10 block of data#

data = np.ones((10, 10), dtype=‘f4’) * 99

Write to a slice that spans multiple chunks#

z[5:15, 5:15] = data

Read back the same slice#

Zarr handles chunking transparently; you can slice across chunk boundaries#

print(z[5:15, 5:15])   # This reads data spanning multiple 10x10 chunks

[[99. 99. 99. 99. 99. 99. 99. 99. 99. 99.]
 [99. 99. 99. 99. 99. 99. 99. 99. 99. 99.]
 [99. 99. 99. 99. 99. 99. 99. 99. 99. 99.]
 [99. 99. 99. 99. 99. 99. 99. 99. 99. 99.]
 [99. 99. 99. 99. 99. 99. 99. 99. 99. 99.]
 [99. 99. 99. 99. 99. 99. 99. 99. 99. 99.]
 [99. 99. 99. 99. 99. 99. 99. 99. 99. 99.]
 [99. 99. 99. 99. 99. 99. 99. 99. 99. 99.]
 [99. 99. 99. 99. 99. 99. 99. 99. 99. 99.]
 [99. 99. 99. 99. 99. 99. 99. 99. 99. 99.]]

### 2. 分组管理示例

创建分层数据结构#

root = zarr.open_group(‘scientific_data.zarr’, mode=‘w’)

创建不同的数据组#

temperature = root.create_group(‘temperature’)
humidity = root.create_group(‘humidity’)

在组中创建数组#

temp_data = temperature.create_dataset(‘daily’, 
                                      shape=(365, 100, 100), 
                                      chunks=(30, 50, 50))
humidity_data = humidity.create_dataset(‘hourly’, 
                                       shape=(8760, 100, 100), 
                                       chunks=(240, 50, 50))

# Zarr 生态系统工具详解
#### **1. Xarray:高级标记数组接口**
Xarray 提供与 Zarr 无缝协作的高级标记数组接口,是处理大型多维数据集的理想工具:

import xarray as xr
import numpy as np

创建带标签的数据集#

data = np.random.random((365, 180, 360))
ds = xr.Dataset({
    ‘temperature’: ([‘time’, ‘lat’, ‘lon’], data)
}, coords={
    ‘time’: pd.date_range(‘2023-01-01’, periods=365),
    ‘lat’: np.linspace(-90, 90, 180),
    ‘lon’: np.linspace(-180, 180, 360)
})

写入 Zarr#

ds.to_zarr(‘climate_data.zarr’)

读取并进行懒加载#

ds_loaded = xr.open_zarr(‘climate_data.zarr’)

#### **2. Dask:并行计算支持**
Dask 为 Zarr 带来并行性和可扩展性:

import dask.array as da
import zarr

创建大型 Dask 数组#

x = da.random.random((100000, 100000), chunks=(10000, 10000))

写入 Zarr#

zarr.save_array(‘large_array.zarr’, x)

读取为 Dask 数组#

y = da.from_zarr(‘large_array.zarr’)

执行分布式计算#

result = y.mean(axis=0).compute()

# 应用场景
### **1. 气候与地球科学**
被广泛用于存储卫星观测、大气海洋模型输出和遥感反演数据产品。目前,欧洲空间局正在将整个 Sentinel 卫星档案迁移到 Zarr 格式。
![](/images/深入理解Zarr-云原生时代的大规模科学数据存储与分析利器/img_b0188c21.png)
### **2. 生物成像与生命科学**
OME-Zarr 正在成为存储多分辨率显微镜和 3D 成像数据的新兴标准,被 EMBL 和 Chan Zuckerberg Initiative 等领先机构采用。
### **3. 基因组学**
用于存储大规模测序数据集,包括参考基因组比对和高维基因表达矩阵。
### **4. 机器学习**
在大规模机器学习管道中实现训练数据的高效流式传输,与 Dask 和 PyTorch 等工具无缝集成。
# 什么时候应该使用 Zarr?
Zarr 是解决特定挑战的理想工具。您应该在以下场景中优先考虑使用 Zarr:
* • **处理大于内存的 N 维数组**:当您的数组无法一次性载入内存时,Zarr 的分块机制让您能够高效地对数据进行核外(out-of-core)处理。
* • **需要对大型数组进行快速切片**:例如,在时间序列分析或地理空间数据处理中,如果您需要频繁地访问数据立方体的特定时间点或空间区域,Zarr 的性能会远超传统格式。
* • **在云端进行并行计算**:当您的工作流构建在 AWS、Google Cloud 或 Azure 之上,并且使用 Dask、Spark 等框架进行分布式计算时,Zarr 是实现高性能数据访问的首选格式。
# 性能优化策略
虽然 Zarr 的分块架构本身就提供了显著的性能优势,但要在生产环境中实现最佳性能,还需要根据具体的数据访问模式和计算需求进行精心优化。**合理的分块策略、压缩配置和存储参数调优可以将 Zarr 的性能提升几个数量级。**
分块大小的选择是影响性能的关键因素——过小的块会增加元数据开销和网络请求次数,过大的块则会降低并行度并增加内存使用。
压缩算法的选择需要在压缩率和解压速度之间找到平衡点,不同的数据类型和访问模式需要不同的优化策略。此外,在云环境中,还需要考虑网络延迟、带宽限制和存储成本等因素。
以下是一些经过实战验证的优化技巧,可以帮助您在不同场景下发挥 Zarr 的最大潜力:
### **1. 分块策略**

根据访问模式优化分块#

时间序列访问:时间维度较小的块#

time_optimized = zarr.open_array(‘timeseries.zarr’, 
                                shape=(8760, 1000, 1000),
                                chunks=(24, 500, 500))  # 24小时块

空间分析:空间维度较大的块#

spatial_optimized = zarr.open_array(‘spatial.zarr’,
                                   shape=(365, 3600, 7200),
                                   chunks=(1, 1800, 3600))  # 半球块

### **2. 压缩配置**

import zarr
from numcodecs import Blosc

配置高效压缩#

compressor = Blosc(cname=‘lz4’, clevel=5, shuffle=Blosc.BITSHUFFLE)

z = zarr.open_array(‘compressed_data.zarr’,
                   mode=‘w’,
                   shape=(10000, 10000),
                   chunks=(1000, 1000),
                   dtype=‘f4’,
                   compressor=compressor)

# 最后
Zarr 不仅是存储规范,更正在成为跨行业数据的共享语言。从地球观测到生物成像再到机器学习,Zarr 实现了更具互操作性、面向未来的工作流程。行星级数据的未来是分块的、云优化的和开放的。
![](/images/深入理解Zarr-云原生时代的大规模科学数据存储与分析利器/img_5d755a98.jpg)====深入解析ECMWF首个业务化AI集合预报系统AIFS-ENS-v1.md====
---
title: "深入解析ECMWF首个业务化AI集合预报系统AIFS ENS v1"
published: 2025-08-09
description: ""
image: "/images/深入解析ECMWF首个业务化AI集合预报系统AIFS-ENS-v1/img_9ab7212f.jpg"
tags: ["数据可视化", "台风"]
category: "数据可视化"
draft: false
---
**2025年7月1日,欧洲中期天气预报中心(ECMWF)正式发布并业务化运行了其首个人工智能集合预报系统——AIFS ENS v1。** 这不仅是ECMWF发展史上的一个重要里程碑,也标志着全球数值天气预报正式迈入物理模型与人工智能模型并行驱动的新纪元。
本文将深入解析AIFS ENS v1,探讨其技术架构、与传统物理模型的区别、创新的训练方法,以及当前的性能表现和已知问题。
# 从物理到AI:双预报链并行的新范式
长期以来,ECMWF的预报系统核心是其基于物理机理的综合预报系统(Integrated Forecasting System, IFS)。该系统的工作流程可以概括为:
1. 1. **数据同化**:将IFS的短期预报与全球最新的观测数据相融合。
2. 2. **生成初始条件**:通过数据同化,为预报模型创建最佳的地球大气初始状态。
3. 3. **集合预报**:从这些初始条件出发,运行基于物理的IFS模型,生成一个包含51个成员(1个控制预报+50个扰动预报)的集合,以捕捉预报的不确定性。
4. ![](/images/深入解析ECMWF首个业务化AI集合预报系统AIFS-ENS-v1/img_1a24ec24.png)
而全新的AIFS预报链则开辟了一条并行的道路。它共享了由IFS物理模型产生的高质量初始条件,但将核心的“预报步骤”替换为先进的机器学习模型。这个AIFS集合预报系统同样生成51个成员,与现有的AIFS确定性(单一)预报和传统的IFS集合预报系统形成互补,共同构成了ECMWF未来的预报产品矩阵。
![](/images/深入解析ECMWF首个业务化AI集合预报系统AIFS-ENS-v1/img_ffc0982d.png)
# AIFS如何“学习”天气演变?
与传统数值天气预报(NWP)模型将大气物理定律编写成计算机代码不同,机器学习天气预报模型通过“学习”历史数据来掌握大气的演变规律。
![](/images/深入解析ECMWF首个业务化AI集合预报系统AIFS-ENS-v1/img_0786cfe2.png)
AIFS ENS v1的“学习教材”是ECMWF海量的历史气象数据,包括长达40年的ERA5再分析数据和近10年的业务化高分辨率分析数据。模型的学习方式是迭代式的:它根据当前和过去6小时的大气状态,预报未来6小时的状态。在实际预报中,模型以这种6小时为步长,自回归地(auto-regressively)向前滚动,将上一步的预报作为下一步的输入,从而将预报时效延伸至未来。
![](/images/深入解析ECMWF首个业务化AI集合预报系统AIFS-ENS-v1/img_618df9a1.png)
# 技术核心:模型架构与训练创新
## 模型架构:Encoder-Processor-Decoder
AIFS采用了在人工智能领域广受欢迎的`Encoder-Processor-Decoder`(编码器-处理器-解码器)设计。
![](/images/深入解析ECMWF首个业务化AI集合预报系统AIFS-ENS-v1/img_1401fdec.png)
* • **输入**:模型接收当前时刻(t)和过去6小时(t-6h)的大气状态作为输入。
* • **编码器 (Encoder)**:将输入数据映射到一个内部的、分辨率较低但维度更高的潜在空间表示。
* • **处理器 (Processor)**:这是模型的核心计算单元,它是一个**Transformer**模型,与驱动ChatGPT等大语言模型的技术同源。处理器在内部网格上运行16次,通过其注意力机制,使得每个网格点能够聚合来自全球其他遥远网格点的信息,从而捕捉大规模环流的相互作用。
* • **解码器 (Decoder)**:将处理器处理后的内部状态映射回我们熟悉的物理输出网格,生成未来6小时的预报结果。
* ![](/images/深入解析ECMWF首个业务化AI集合预报系统AIFS-ENS-v1/img_b26832a5.png)
## 训练创新:用CRPS损失函数“教”会模型不确定性
传统上使用均方根误差(MSE)等损失函数训练的机器学习模型,在长期预报中往往会出现“模糊化”现象,丢失大量中小尺度的细节,因为模型为了避免“双重惩罚”而倾向于生成平滑的平均态。
AIFS ENS v1最大的创新在于采用了连续概率分数(Continuous Ranked Probability Score, CRPS)作为其核心损失函数。CRPS是评估集合预报质量的黄金标准,它不仅要求预报误差小,还鼓励集合成员的离散度(spread)能够真实地反映预报误差(uncertainty)的大小。
![](/images/深入解析ECMWF首个业务化AI集合预报系统AIFS-ENS-v1/img_00d718e5.png)
在训练过程中,模型并非学习生成单一的最优解,而是直接学习生成一个小集合。通过向处理器的隐藏状态中注入不同的随机噪声,模型被“强迫”为同一个初始条件生成一组具有合理差异性的、可交换的集合成员。
这一设计的直接优势是,模型必须保留中小尺度的变率才能满足其训练目标。如下图所示,与AIFS单一确定性模型在第10天预报中出现的平滑现象相比,AIFS集合成员即使在第10天,其预报场依然保留了与第1天相似的丰富细节,使得预报在物理上更加真实可信。
![](/images/深入解析ECMWF首个业务化AI集合预报系统AIFS-ENS-v1/img_ba453c7c.png)
# 系统配置与关键特性
* • **集合成员**:51个(1个控制成员 + 50个扰动成员),初始条件直接来自IFS集合预报的初始场。
* • **预报时效**:长达50天。
* • **空间分辨率**:N320格点,约等于0.25度(约28公里)。
* • **输出频率**:每6小时输出一次。
**一个重要的技术细节是**:由于AIFS集合本质上是概率性训练的,即便是由未扰动初始场驱动的“控制预报”,其模型内部也包含了固有的随机性。这意味着AIFS控制预报的技巧评分(skill score)在平均意义上会低于IFS的控制预报,但这正是系统设计的预期结果,因为它始终在表达不确定性。
# 性能评估:AIFS ENS v1表现如何?
根据ECMWF公布的评分卡,AIFS ENS v1在诸多方面展现了卓越的性能。
* • **优势领域**:在高空变量(如500hPa位势高度Z500、850hPa温度T850)和地面变量(如2米气温)上,AIFS集合的技巧评分显著优于IFS集合,改进幅度可达25%或更高。在热带地区的表现也同样出色。
* ![](/images/深入解析ECMWF首个业务化AI集合预报系统AIFS-ENS-v1/img_034e6d03.png)
* • **待改进领域**:在平流层等大气高层,AIFS表现出一些技巧退化,这可能与训练时损失函数中对不同层次的权重分配有关。
* • **案例研究**:
+ • **强降水事件**:AIFS能很好地捕捉强降水模态,但由于其分辨率(~~28km)低于IFS(~~9km),有时会低估降水极值。
+ ![](/images/深入解析ECMWF首个业务化AI集合预报系统AIFS-ENS-v1/img_2eee457d.png)
+ • **极端高温**:在某些个例中,AIFS集合能准确预报出IFS集合明显低估的高温事件,展现了其捕捉极端天气的能力。
+ ![](/images/深入解析ECMWF首个业务化AI集合预报系统AIFS-ENS-v1/img_4fc73190.png)
* • **与其它AI模型对比**:在与Google DeepMind开发的GenCast等其他概率性AI模型的对比中,AIFS ENS v1在2米气温等关键变量的预报误差上表现出领先优势,证明其已达到世界顶尖水平。
* ![](/images/深入解析ECMWF首个业务化AI集合预报系统AIFS-ENS-v1/img_182c6524.png)
# 已知问题与未来展望
作为一个全新的v1版本系统,AIFS ENS v1也存在一些需要用户注意的特性和已知问题:
* • **地形影响**:在青藏高原等高大地形区域,10天以上的长期预报可能出现非物理的地面气压和温度值。
* • **过度离散**:在预报初期,集合离散度有略微大于预报误差的倾向(over-dispersive)。
* • **云场分辨率**:云场的空间分辨率看起来有所降低。
![](/images/深入解析ECMWF首个业务化AI集合预报系统AIFS-ENS-v1/img_7301c58d.png)
当然,ECMWF仍在持续学习和改进该系统。
# 如何访问AIFS数据与产品?
所有用户都可以通过ECMWF的开放图表平台(Open Charts)访问和评估AIFS ENS v1的预报产品。平台上提供了丰富的对比图表,例如:
* • AIFS与IFS的集合平均和离散度对比图。
* • AIFS控制预报、IFS控制预报和AIFS单一确定性预报的直接比较。
* • 降水、气温等要素的概率预报图,可以直观比较AIFS和IFS对同一事件发生概率的判断。
* ![](/images/深入解析ECMWF首个业务化AI集合预报系统AIFS-ENS-v1/img_2e5d867c.png)
# 结论
AIFS ENS v1的业务化运行,是天气预报领域一次真正的范式转移。它不是对现有系统的简单替代,而是开创了一个物理模型与AI模型深度融合、互为补充的全新局面。凭借其在诸多预报技巧上的显著优势和生成物理上更真实预报场的能力,AIFS ENS v1无疑将为全球的气象服务、灾害预警和科学研究注入新的强大动力。我们正处在一个激动人心的时代,见证着人工智能重塑科学预报的未来。
# References
* • https://www.ecmwf.int/en/about/media-centre/news/2025/ecmwfs-ensemble-ai-forecasts-become-operational
* • https://arxiv.org/abs/2412.15832
* • https://www.ecmwf.int/en/forecasts/dataset/aifs-machine-learning-data====深度学习技术在地理空间人工智能-GeoAI-中的应用.md====
---
title: "深度学习技术在地理空间人工智能(GeoAI)中的应用"
published: 2024-12-25
description: ""
image: "/images/深度学习技术在地理空间人工智能-GeoAI-中的应用/img_602d825e.jpg"
tags: ["数据可视化", "台风"]
category: "数据可视化"
draft: false
---
# ****
上一篇文章[GeoAI:地理信息与人工智能的交叉融合](https://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486833&idx=1&sn=f5072d15831a833ba5fbddb901757b87&scene=21#wechat_redirect)中介绍了GeoAI基本概念、基础、应用场景等内容,本文将介绍地理空间应用中最常用的深度学习架构。针对以下每个主题,本文将简要解释其架构,并提供利用该算法的地理空间人工智能(GeoAI)用例和可供学习的资源链接。
* **多层感知器 (MLP)**
* **卷积神经网络 (CNN)**
* **Transformer**
* **循环神经网络 (RNN)**
* **生成模型**
* **总结**
深度学习是机器学习的一个分支,近年来其受欢迎程度显著提升。许多人在讨论机器学习时往往只想到深度学习。然而,深度学习实际上是建立在人工神经网络(ANNs)之上的一系列方法,这些网络具有多个隐藏层。
![](/images/深度学习技术在地理空间人工智能-GeoAI-中的应用/img_61ad9b49.png)
![](/images/深度学习技术在地理空间人工智能-GeoAI-中的应用/img_3608e5fd.jpg)
深度学习架构形式多样,每种都基于不同的核心概念。本文将介绍最基础的架构,它们是更高级混合模型的基础。为了方便理解,本文将地理空间研究中常见的模型归类到这些基本架构下,以便读者在遇到这些模型时能够理解其构建的核心概念。
### 多层感知器 (MLP)
让我们从最基本、最先接触的深度学习模型——多层感知器(MLP)开始。MLP基于人工神经网络的概念,具有多个隐藏层。它由相同的基本组件(输入-Inputs、权重-Weights、偏置-Bias、激活函数-Activation Function等)构成,并通过前向和反向传播机制进行训练。
由于网络中的信息仅沿一个方向流动——从输入节点经过隐藏节点到达输出节点,不存在循环或回路(这与其他架构,如循环神经网络不同),因此MLP属于前馈神经网络。
在MLP中,所有层都是**完全连接的**,意味着一层中的每个节点都与后续层中的每个节点相连。虽然这是深度人工神经网络中最简单的架构,但它也是应用最广泛的架构之一。这是因为全连接层的原理是构建更复杂架构(如CNN和Transformer)的基础,它们常常被整合到模型的特定部分中。
![](/images/深度学习技术在地理空间人工智能-GeoAI-中的应用/img_828ec65b.png)
在GeoAI的背景下,需要注意MLP的输入层。在MLP中,输入由独立的节点组成,每个节点代表数据的一个特征。例如,在判断一个区域是否容易发生洪水时,输入节点可以代表海拔、坡度、预测年降水量等特征。这种结构非常适合以表格形式表示的数据。
然而,当处理图像(例如卫星数据集)时,过程会变得更加复杂,因为每个输入神经元都对应一个像素。这会带来两个主要的挑战:
1. **图像空间上下文的丢失:**由于MLP要求输入层是特征的一维向量,图像必须首先从其二维矩阵形式展平为一维向量。这个操作会移除像素之间的空间关系,而这些关系在地理空间分析中至关重要。例如,边缘和纹理等特征在展平后会丢失。
2. **参数数量庞大:**展平图像会显著增加输入神经元的数量,从而导致大量的参数。例如,假设你有一张大小为224×224像素的RGB(3通道)图像。展平后,我们将有3 \* 224 \* 224 = 150528 个输入神经元。如果我们使用一个简单的MLP架构,带有一个包含7个神经元的隐藏层和一个包含1个神经元的输出层,那么参数总数将是:(150528 \* 7) + 7 + (7\*1) +1 = 1053711。
![](/images/深度学习技术在地理空间人工智能-GeoAI-中的应用/img_36915f54.png)
对于一张小的RGB图像来说,这已经超过了一百万个参数!在遥感应用中,需要处理大尺寸的高分辨率多光谱图像,这种情况会迅速变得非常耗费计算资源。这些局限性突显了卷积神经网络(CNN)在地理空间应用中的重要性。
**MLP 在地理空间分析中的用例:**
* **Urban Sprawl Modeling** :一个关于如何在伊拉克巴格达的城市扩张预测工作流程中应用MLP架构的例子。作者模拟了该城市的几个短期和长期发展规划。
‍https://www.mdpi.com/2072-4292/13/20/4034
* **Coastal Erosion Prediction Modeling(海岸侵蚀预测建模)**:该研究利用 MLP 构建了一个预测葡萄牙里斯本卡帕里卡海岸沙丘-海滩系统海岸线移动的模型。
‍https://www.mdpi.com/2071-1050/11/4/975
### 卷积神经网络 (CNN)
在过去的几十年里,CNN一直是图像处理领域最核心的架构(Yann LeCun 及其团队于 1989 年首次提出)。与MLP不同,CNN能够捕获数据的空间上下文,这归功于卷积运算。
**卷积运算**(**convolution operation**)指的是滑动一个滤波器(也称为内核)在输入图像上,并通过计算滤波器矩阵与滤波器覆盖的图像块的点积来创建特征图的过程。这个操作保留了每个像素的空间上下文,使得图像处理更加高效,因为保留了数据中更重要的信息。滤波器的数值是网络的权重,它们通过训练过程学习得到,类似于MLP,训练过程包括前向传播和反向传播两个步骤。CNN架构的这种结构也使其成为一种前馈神经网络。
![](/images/深度学习技术在地理空间人工智能-GeoAI-中的应用/img_cc4158f1.gif)
要充分理解CNN,还需要学习其他关键概念,包括池化层、填充以及网络的超参数,例如滤波器的大小和步长,以及池化块的大小、步长和类型。
**池化层**(**Pooling layers**)是CNN的另一个重要组成部分,负责降低卷积层生成的特征图的维度。池化层有不同的类型,但**最大池化**是最常用的,因为它保留了图像中激活程度最高的部分。
![](/images/深度学习技术在地理空间人工智能-GeoAI-中的应用/img_0bf6555c.gif)
**填充**(**Padding**) 是一项基本操作,用于保留结果特征图中图像的空间分辨率。由于卷积操作本身会减小图像尺寸,填充通过在图像边缘添加一行或多行像素来帮助控制特征图的尺寸。虽然最常见的是零填充(用0填充),但也存在其他类型的填充,例如反射填充或复制填充。
![](/images/深度学习技术在地理空间人工智能-GeoAI-中的应用/img_9ae63ffc.png)
通常在CNN模型的末尾添加一个MLP(全连接层),以便基于提取的图像空间特征执行最终的分类任务。
![](/images/深度学习技术在地理空间人工智能-GeoAI-中的应用/img_3a707801.png)
自1989年问世以来,CNN架构已经以多种方式演变,产生了许多广泛使用的变体。本文列出了一些最常用的基于CNN的架构。
* **Vanilla CNNs** (例如AlexNet, LeNet):这些是基础的CNN架构,引入了卷积层、池化层和全连接层等核心概念,用于图像分类等任务。
* **深度CNNs** (例如 VGGNet, GoogLeNet):这些模型引入了显著增加的网络深度来捕获分层特征,使用了许多堆叠的、内核较小的卷积层。
* **残差网络 (ResNets)**:这些架构通过引入跳跃连接来解决训练极深网络的难题,使得梯度能够更有效地流动。
* **其他常用于GeoAI应用的基于CNN的模型:**
+ **U-Nets**:专门用于语义分割任务,具有编码器-解码器结构和跳跃连接。
+ **YOLO (You Only Look Once)**:通过将目标检测问题转化为一个回归问题进行求解,从而实现实时目标检测的优化。
+ **特征金字塔网络 (FPNs)**:专为目标检测设计,采用特征金字塔来检测不同尺度的目标。
**CNN 架构在地理空间分析中的应用案例:**
* **Land Cover Mapping(土地覆盖制图)**:该研究基于Sentinel-2影像上采用CNN来绘制罗马地区的土地覆盖图。
https://www.mdpi.com/2073-445X/12/4/879
* **Change Detection of Deforestation in the Brazilian Amazon Using Landsat Data and Convolutional Neural Networks(巴西亚马逊地区森林砍伐变化检测)**:该研究应用CNN架构,利用Landsat卫星数据来绘制森林砍伐图。
http://dx.doi.org/10.3390/rs12060901
### Transformer
尽管Transformer是一种相对较新的深度学习技术,但它已迅速成为处理地理空间数据的强大架构。虽然它不像CNN那样捕获空间上下文,但其**注意力机制**使其成为当今最高效和最有前景的机器学习技术之一。最初专为自然语言处理 (NLP) 而提出的Transformer,其开创性论文是2017年的 “Attention is All You Need”,如今已得到了迅速发展以解决计算机视觉和图像处理任务。
![](/images/深度学习技术在地理空间人工智能-GeoAI-中的应用/img_391f56be.png)
在图像处理领域,Transformer演化出了视觉Transformer (ViT)。 这种对原始架构的调整在2020年的论文 “An Image is Worth 16×16 Words: Transformers for Image Recognition at Scale” 中被提出。 ViT仅使用原始Transformer架构的 **编码器** 部分,其工作原理是将输入图像分割成固定大小的图像块,然后将这些图像块展平并嵌入到编码器中。 编码器由基于注意力机制的注意力模块构建,而注意力机制是Transformer的核心概念。 **注意力机制**使模型能够捕捉图像中的长距离依赖关系和上下文信息,从而实现全局理解。
![](/images/深度学习技术在地理空间人工智能-GeoAI-中的应用/img_b97f49ff.png)
ViT在基础模型(**Foundation Models**)和迁移学习(**Transfer Learning**)的兴起与发展中扮演了重要角色。如今,这两种技术也在地理空间应用中得到了快速发展。
**ViT在地理空间应用中的用例:**
* **Transformer-based land use and land cover classification(基于 Transformer 的土地利用和土地覆盖分类)**:一项研究利用 Transformer 模型进行土地利用和土地覆盖 (LULC) 分类。
https://www.nature.com/articles/s41598-024-67186-4
* **Building Extraction from Remote Sensing Images(从遥感影像中提取建筑物)**:一项研究探索了使用Transformer从航空影像中高效提取建筑物的潜力。
https://www.mdpi.com/2072-4292/13/21/4441
* ***Enhanced Wildfire Detection and Characterization*(增强的野火检测和特征分析)**:一个GitHub仓库,包含一个旨在利用ViT和Landsat-8数据检测和分析野火的项目。 该仓库包含了所有Python代码。
https://github.com/amanbasu/wildfire-detection
### 循环神经网络 (RNN)
循环神经网络 (RNN) 在机器学习领域中占有重要地位,尤其是在自然语言处理 (NLP) 应用中。 然而,与广泛使用的CNN和Transformer框架相比,RNN在地理空间分析中的应用较少。 RNN的核心应用集中在时间序列数据分析上,例如气象预报、气候建模或土地利用变化监测。 RNN于20世纪80年代被提出用于处理序列数据,其中前一步的输出被用作下一步的输入,从而使模型能够保持时间上下文。 其核心概念围绕**反馈循环**,使其能够处理不同长度的序列。
![](/images/深度学习技术在地理空间人工智能-GeoAI-中的应用/img_43ad9d9a.png)
尽管RNN不是最流行的地理空间数据分析架构,但理解RNN非常重要,因为它们广泛应用于涉及时间序列、语音识别和自然语言处理的任务。 了解RNN的工作原理、用途以及基于RNN架构开发的一些关键模型(例如 LSTM(长短期记忆网络)和 GRU(门控循环单元))是有价值的。
**RNN 在地理空间应用中的用例:**
* **A GNN-RNN Approach for Harnessing Geospatial and Temporal Information: Application to Crop Yield Prediction(基于图的 RNN 在作物产量预测中的应用)**:一项研究利用 RNN 架构预测美国大陆基于 1981 年至 2019 年数据的作物产量。该模型在天气、地表和土壤质量等多种因素上进行训练。
https://arxiv.org/pdf/2111.08900
* **Exploring the Sensitivity of Recurrent Neural Network Models for Forecasting Land Cover Change(探索RNN在土地覆盖预测中的敏感性)**:该研究通过进行涉及假设和真实世界数据集的敏感性分析,评估LSTM模型在预测土地覆盖变化方面的性能。
https://doi.org/10.3390/land10030282
### 生成式模型(Generative models)
生成式模型是机器学习的一个子领域,旨在基于给定数据集的分布生成新的数据样本。 在地理空间分析中,它们被用于数据增强、云去除、超分辨率增强或异常检测等任务。 相比于CNN或Transformer系列的模型,它们的应用相对较少,但对于特定的任务来说至关重要。 随着Transformer的引入,生成式模型的重要性正在迅速提升,Transforme 彻底改变了生成式模型的可扩展性、多模态输入和建模长距离依赖关系的能力。
* **GAN(生成对抗网络):** GAN的目标是自主识别输入数据中的模式,从而使模型能够生成与原始数据集相似的新样本。 它们由两个神经网络组成:**判别器** 和 **生成器**。
* **VAE(变分自编码器):** VAE由**编码器**和**解码器**组成。 VAE中编码器背后的思想是生成可用于重建其输入的编码。
**生成式模型在地理空间分析中的用例:**
* **Generative Adversarial Models for Extreme Geospatial Downscaling(用于极端地理空间降尺度的生成对抗模型)**:该研究论文利用 GAN 架构从极低分辨率的输入生成高分辨率、精确的气候数据集。
https://arxiv.org/abs/2402.14049v2
* **Cloud removal from satellite imagery using multispectral edge-filtered conditional generative adversarial networks(使用多光谱边缘滤波条件 GAN 从卫星影像中去除云)**:一篇科学出版物,主题与前一个示例相同,提出了一个使用多光谱卫星数据的基于 GAN 的架构。
https://doi.org/10.1080/01431161.2022.2048915
### 总结
深度学习在地理空间人工智能领域正发挥着越来越重要的作用。理解各种神经网络的架构和应用案例,能够帮助研究人员和开发者更好地利用这些工具来解决复杂的地理空间问题。 从简单的MLP到复杂的CNN、Transformer和RNN,每种架构都有其独特的优势和适用的场景。 此外,生成式模型的出现为数据增强和超分辨率等任务提供了新的可能性。 随着技术的不断进步,我们可以期待深度学习在GeoAI领域发挥更大的作用。
# **本公众号相关内容推荐**
* [xgcm-通用环流模式后处理Python工具包](https://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486851&idx=1&sn=7a58b4811da5b358690b3654100ea680&scene=21#wechat_redirect)
* [GeoAI:地理信息与人工智能的交叉融合](https://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486833&idx=1&sn=f5072d15831a833ba5fbddb901757b87&scene=21#wechat_redirect)
* [深度学习提升全球海洋涡旋动力学卫星观测能力](https://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486817&idx=1&sn=437722dc9bc27c71595359b900fd219c&scene=21#wechat_redirect)
* [基于xarray扩展的开源地图可视化Python库](https://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486796&idx=1&sn=52373c21074376e7375a3464849ae37d&scene=21#wechat_redirect)
* [NOAA 发布世界磁场模型 WMM2025](https://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486779&idx=1&sn=f1cb3587c231b1e7e75248b16ebedf7c&scene=21#wechat_redirect)
* [推荐10个用于处理GIS和遥感数据的Python库](https://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486765&idx=1&sn=071412d985809cf5bebe0a3b26b43e8c&scene=21#wechat_redirect)
* [AI行业的2024年](https://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486750&idx=1&sn=bddc88fbb85232e1d84ae945c02d23a9&scene=21#wechat_redirect)
* [ECMWF的AI天气预报系统AIFS开放模型权重参数](https://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486749&idx=1&sn=10ef395ae61679ef32acce301500504b&scene=21#wechat_redirect)
* [The Well:可用于机器学习研究的15TB 物理模拟数据集](https://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486579&idx=1&sn=c08d631d13bab12d68ea8b8a427ee38b&scene=21#wechat_redirect)
* [推荐6个美化Matplotlib可视化样式的python库](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486373&idx=1&sn=0323423e8820ef72fb4b21f0a9d2d133&chksm=fabf63ffcdc8eae9f3c5f4b273ae8aab6deee25488c88c8065a3f70b826a329954fa8bd736d8&scene=21#wechat_redirect)
* [AI天气模型的现状与未来](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486352&idx=1&sn=2f0cc81ace66c29b36a9538b9635d567&chksm=fabf63cacdc8eadcec873a6eb087c2165a52f7db4b6425f957acfd835d67a0303495516952c0&scene=21#wechat_redirect)
* [流式传输和渲染可视化三维地理空间数据](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486352&idx=2&sn=27f1e7b08ca444e348b5e814a5341ea9&chksm=fabf63cacdc8eadccca94008cd6d68ed7c72749f013536fd73fe9978756cb491ea66041c9677&scene=21#wechat_redirect)
* [GIS领域常用的24种数据格式](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486289&idx=1&sn=4e6ad5beb2c83622f5d816643cfcf0c4&chksm=fabf630bcdc8ea1dadb0c08d4f30a68c00871ab6c2e2334aa06f7ca8f48f6ee28ae539136775&scene=21#wechat_redirect)
* [一种基于图神经网络的三维建筑模型重建方法](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486289&idx=2&sn=cc3a650e367484828c957dae2d140b7e&chksm=fabf630bcdc8ea1d8f75d0af9e76311278e9a478822b0833d01e26143177965212247caa4ee8&scene=21#wechat_redirect)
* [WebGIS技术栈推荐](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486221&idx=1&sn=a0542f043c49ba135f277e66e048c331&chksm=fabf6357cdc8ea41650a459068cef1d83a57d77eb658783b2f7381ae7d5c99cfc4b35b73bdde&scene=21#wechat_redirect)
* [使用Python工具可视化大型图网络](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486178&idx=1&sn=f23ce75ebcd70e2e708bc40bcd56e699&chksm=fabf62b8cdc8ebae1972048a9bc3794bb50c454bb0b447a985387b518fc9712205144ba141cd&scene=21#wechat_redirect)
* [使用NetworkX提取图网络特征](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486153&idx=1&sn=638d596055d4cf730631d1ce63916beb&chksm=fabf6293cdc8eb8513bfc369e5bb0fae5721ee4abe8382c97918ccf0c4412d465a1038a0927c&scene=21#wechat_redirect)
* [Argo海洋观测数据处理分析python库:ArgoPy](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486119&idx=1&sn=80932a2dd3841325b1a9c3f04485715e&chksm=fabf62fdcdc8ebeb8777e71051192888116a82ce3a8cf798976f17515e755657f339eb81cc71&scene=21#wechat_redirect)
* [在Jupyter环境中创建交互式可视化地图](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486082&idx=1&sn=57e62f43df5b4568f93eec6c2576a5f2&chksm=fabf62d8cdc8ebcebf915ffd1c2f2c4b90cfefd2c3f8a03ff8a98593347c8954441c156abbf6&scene=21#wechat_redirect)
* [处理和可视化地理空间数据的Python库:EarthPy](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486068&idx=1&sn=dad52a2fddaae5ba34db65df298b83f1&chksm=fabf622ecdc8eb386b076b74dcd287b65f15eff9a1ebc8b0684e276d670046077acc817fdac8&scene=21#wechat_redirect)
* [地理空间深度学习python库:TorchGeo](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486055&idx=1&sn=24f10ec3f457cd44380ef233f9963e56&chksm=fabf623dcdc8eb2b4dced7aa8467d522a1383ff9bae20d5092d03d30955f7ba2253688056b5c&scene=21#wechat_redirect)
* [遥感数据分析python库scikit-eo](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486046&idx=1&sn=602acf1e2f5e559c299a8b13e80fb517&chksm=fabf6204cdc8eb12c0704c7a4e6037b554f68fe0826f09b1a91ae6e7bc41700a9e65ddad66b5&scene=21#wechat_redirect)
* [图网络的应用场景及图分析python库](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485965&idx=1&sn=f8aa290cd93feccdba3500abe0cff348&chksm=fabf6257cdc8eb41b666c59630d6a9d8d642ebf740fc79ef8c3f6027857c4d229808010a33fc&scene=21#wechat_redirect)
* [使用Python和NetworkX创建并可视化图网络(Graph Network)](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485946&idx=1&sn=530310279074989a0729ace617b7e0c9&chksm=fabf61a0cdc8e8b6b8ec33e9ec46aefed01672b6d4e9a6208020e6b9be7f8fbe0e38cc9577df&scene=21#wechat_redirect)
* [OpenResearcher:一个开源科学研究AI助理](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485934&idx=1&sn=3a35078ecfcec51014c24c1db9b2aaa3&chksm=fabf61b4cdc8e8a2cb0ef16fb0fd2bc2d3a3fdc42aef63e106152e55a6fbbf78c78c6b8f5c7a&scene=21#wechat_redirect)
* [NeuralGCM: 一种融合机器学习与物理原理来模拟地球大气的新方法](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485904&idx=1&sn=966cf544765b492436d42cfca66f3a7b&chksm=fabf618acdc8e89c59257b1150cf76ef8fe197ffbf390b7b4736b65ae3ba97c90c4d6d256b2b&scene=21#wechat_redirect)
* [Transformer Explainer:文本生成模型交互式可视化工具](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485859&idx=1&sn=e82c8ab4a071b123f4f3ab98eda381ec&chksm=fabf61f9cdc8e8ef2ba9dd265729eb51bdade88d69c57d4810771dc7d24af1521a5bd08dccf6&scene=21#wechat_redirect)
* [用于探索性数据分析(EDA)的开源python库](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485827&idx=1&sn=295572d805a167c620d0136b67c0aded&chksm=fabf61d9cdc8e8cfb8f3a26163daa4e94e5a8ce990e588f0e1880d1999f909f81d6a0bc28684&scene=21#wechat_redirect)
* [分享一个构建交互式D3js可视化的Python库](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485786&idx=1&sn=6a32cdd45a98b242fd8269b84f441448&chksm=fabf6100cdc8e8162e65c352f762665271ebf42a46345c7d0270ea72494c4c7068637ca7f21e&scene=21#wechat_redirect)
* [推荐15个图网络可视化python软件包](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485733&idx=1&sn=d75b69b4805f0b286026c663c1a934d2&chksm=fabf617fcdc8e869e3844db959192ef3fbae7a4faa703d54eabe7f81cdc5ec523d77fce589dc&scene=21#wechat_redirect)
* [9个提升科研效率的软件工具](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485691&idx=1&sn=9abc8927c179d0cf53eb4f04207820aa&chksm=fabf60a1cdc8e9b7c22e58b854e2a09e588742f59ff2207e437b69fb07362ba3ec381202c488&scene=21#wechat_redirect)
* [生成式人工智能模型颠覆传统天气预报](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485653&idx=1&sn=cfb223fb24824c01c773933c181969b8&chksm=fabf608fcdc8e999f74763593dd0f55b51a4776991060b28dfec146643b7f61ac0bc5d868133&scene=21#wechat_redirect)
* [分享5个python可视化图表工具](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485646&idx=1&sn=f1e740630334f88ef991439822b27fd3&chksm=fabf6094cdc8e9822c58338d80d5ef00f4f135bdcac2f9b893159701e789d37f44e90e4e0183&scene=21#wechat_redirect)
* [分享17个网络(Network)数据可视化工具](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485619&idx=1&sn=44696f7c089da0419bfa21ed181a6835&chksm=fabf60e9cdc8e9ff042c28395f16709da29f6ac0ab78d455cab018001d7264d39121fc5baa37&scene=21#wechat_redirect)====深度学习提升全球海洋涡旋动力学卫星观测能力.md====
---
title: "深度学习提升全球海洋涡旋动力学卫星观测能力"
published: 2024-12-20
description: ""
image: "/images/深度学习提升全球海洋涡旋动力学卫星观测能力/img_97fd92cd.jpg"
tags: ["数据可视化", "台风"]
category: "数据可视化"
draft: false
---
# ****
海洋中尺度涡旋(50-300km)作为海洋动力学的重要组成部分,对海洋环流、能量传输和物质循环产生重大影响,它们不仅输送着淡水、热量、碳、营养物质等,深刻影响着海洋生态系统和地球气候,还占海洋动能的80%以上。因此,精确地刻画和理解中尺度涡旋涡旋的产生、演化和相互作用是研究全球海洋环流和气候变化的关键。
![](/images/深度学习提升全球海洋涡旋动力学卫星观测能力/img_4f4b44b4.jpg)
![](/images/深度学习提升全球海洋涡旋动力学卫星观测能力/img_f7117141.jpg)
过去三十年来,卫星测高技术通过测量海表面高度(SSH)来推断海洋流场,成为追踪中尺度涡旋的重要工具。然而,传统的卫星观测方法,如基于测高仪的海表面高度(SSH)测量,受限于空间分辨率,常常无法捕捉涡旋的精细结构和动力学特征。此外,海表面温度(SST)数据虽然分辨率高,但与表面流场的关系复杂,难以单独推断涡旋信息。传统的客观分析(OA)和数据同化(DA)方法虽然可以处理这些数据,但也存在固有的局限性,例如平滑涡旋、引入偏差和无法准确描述涡旋动力学。
近年来,机器学习/深度学习技术的快速发展为克服这些局限性提供了新的机遇。华盛顿大学和NASA JPL(Jet Propulsion Laboratory California Institute of Technology)的研究团队利用深度学习技术,融合多源卫星观测数据,克服传统方法的局限性,提出了一种全新海洋表面地形重建方法**NeurOST (Neural Ocean Surface Topography)**,研制了一种新型SSH格点产品,并发布在NASA的PO.DAAC数据平台。
**1. 技术方法**
该项研究提出的核心方法是**NeurOST (Neural Ocean Surface Topography)**,这是一种基于深度学习的全新海洋表面地形重建方法。NeurOST的主要特点包括:
* **多模态数据融合:** 该方法并非仅仅依赖于测高数据,而是同时融合了测高仪观测的SSH数据和高分辨率的SST数据。通过协同利用这两种数据的优势,能够更准确地重建海洋表面流场。
* **深度学习框架:** 利用深度学习技术训练计算机识别海表面高度和海表面温度数据中的时空模式和关联关系。
* **自监督学习:** NeurOST采用自监督学习策略,利用大规模的卫星观测数据进行训练,避免了对大量标签数据的依赖,大大提升了模型的可扩展性。
* **全局建模:** 采用全局建模的策略,而非分别训练特定区域的模型,使得模型具有更强的泛化能力,可以应用于全球各个海域。
* **高分辨率重建:** 通过深度学习,NeurOST 可以重建出比传统方法分辨率更高、更精细的海洋表面流场,从而更好地捕捉涡旋的结构和动力学特征。
![](/images/深度学习提升全球海洋涡旋动力学卫星观测能力/img_dff85f2f.png)
**2. 主要成果与发现**
通过应用 NeurOST 方法,本研究取得了以下主要成果和发现:
* **观测分辨率显著提升:** 与传统的DUACS和MIOST等方法相比,NeurOST成功将全球海洋表面流场的有效分辨率提升了高达30%。特别是在西部边界流和亚热带地区,观测能力的提升更为显著。
* **小尺度涡旋解析能力增强:** NeurOST不仅提高了分辨率,还揭示了许多之前因观测分辨率不足而被平滑的、相互作用剧烈的小尺度涡旋。这些涡旋的清晰呈现,为研究涡旋的非线性相互作用提供了更精确的依据。
* **动能串级强度大幅提升:** NeurOST观测到的动能向上串级强度比传统方法估算的提高了近一个数量级。这表明,小尺度涡旋对大尺度涡旋的能量传递起着至关重要的作用,而传统方法可能严重低估了这种效应。
* **揭示涡旋动力学季节性:**  NeurOST 观测结果清晰地显示了涡旋动力学具有显著的季节性特征。冬季和春季,小尺度涡旋更加活跃,并且向上级串的动能传递更为明显。而传统的观测方法由于分辨率不足,难以捕捉这一季节性特征。
* **物理一致性验证:** 通过与海洋模型数据比较发现,NeurOST方法在重建涡度和应变等动力学参数时,保持了高度的物理一致性,避免了因深度学习带来的虚假信号。
![](/images/深度学习提升全球海洋涡旋动力学卫星观测能力/img_e4090f61.png)
**3. 数据产品**
NeurOST数据产品包括:
* **GHRSST Level 4 MUR 0.25deg Global Foundation Sea Surface Temperature Analysis (v4.2):** 时空分辨率为小时级到每天,空间分辨率为0.25度,NETCDF4格式。
* **Daily NeurOST L4 Sea Surface Height and Surface Geostrophic Currents:** 时空分辨率为每天到每周,空间分辨率为0.1度,NETCDF4格式。
![](/images/深度学习提升全球海洋涡旋动力学卫星观测能力/img_512b59a2.png)
![](/images/深度学习提升全球海洋涡旋动力学卫星观测能力/img_f2d83259.png)
![](/images/深度学习提升全球海洋涡旋动力学卫星观测能力/img_70a252e2.png)
**4. 研究成果可视化**
通过可视化展示了从2018年1月到2023年12月NeurOST方法估算的SSHA和海洋流场情况。动画中,海平面高度用高值(红色)表示,海洋涡旋和洋流用低值(蓝色)表示。对比传统产品,动画还放大显示了西太平洋的一个高能量区域,并对比了NeurOST方法与传统格点测高产品(DUACS)在海面高度异常(SSHA)、洋流速度和涡度(表示水体旋转)方面的差异。
**5. 讨论与展望**
该研究开发的NeurOST方法,通过融合多源卫星数据和深度学习技术,显著提升了全球海洋涡旋的观测能力。这项工作不仅改进了对海洋涡旋结构和动力学的认识,也为研究海洋能量传递、气候变化以及海洋生态系统之间的相互作用提供了新的手段。
尽管如此,该方法仍存在一定的局限性,如亚中尺度涡旋的解析能力仍有待提高。未来,随着宽幅测高仪(如SWOT卫星)的投入使用,以及深度学习技术的进一步发展,将有助于我们进一步提升海洋观测能力,从而更好地理解复杂的海洋系统。
**6. 总结**
该研究成功地展示了深度学习技术在海洋科学领域的强大潜力。 NeurOST方法为我们提供了更加清晰、准确的海洋涡旋观测,并揭示了小尺度涡旋在动能传递中的重要作用。这些发现不仅深化了我们对海洋动力学的理解,也为未来的海洋研究指明了方向。随着更多卫星观测数据和深度学习技术的进步,我们相信未来可以构建出更强大的海洋观测系统,为海洋科学和气候研究做出更大贡献。
**数据产品与源代码链接:**‍‍‍‍‍‍‍
* **数据产品:****‍**https://podaac.jpl.nasa.gov/dataset/MUR25-JPL-L4-GLOB-v04.2
https://podaac.jpl.nasa.gov/dataset/NEUROST\_SSH-SST\_L4\_V2024.0
* **源代码:**
**‍**https://github.com/smartin98/Global\_DL\_SSH
* **论文:**
**‍**https://doi.org/10.1029/2024GL110059
# **本公众号相关内容推荐**
* [基于xarray扩展的开源地图可视化Python库](https://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486796&idx=1&sn=52373c21074376e7375a3464849ae37d&scene=21#wechat_redirect)
* [NOAA 发布世界磁场模型 WMM2025](https://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486779&idx=1&sn=f1cb3587c231b1e7e75248b16ebedf7c&scene=21#wechat_redirect)
* [推荐10个用于处理GIS和遥感数据的Python库](https://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486765&idx=1&sn=071412d985809cf5bebe0a3b26b43e8c&scene=21#wechat_redirect)
* [AI行业的2024年](https://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486750&idx=1&sn=bddc88fbb85232e1d84ae945c02d23a9&scene=21#wechat_redirect)
* [ECMWF的AI天气预报系统AIFS开放模型权重参数](https://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486749&idx=1&sn=10ef395ae61679ef32acce301500504b&scene=21#wechat_redirect)
* [The Well:可用于机器学习研究的15TB 物理模拟数据集](https://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486579&idx=1&sn=c08d631d13bab12d68ea8b8a427ee38b&scene=21#wechat_redirect)
* [推荐6个美化Matplotlib可视化样式的python库](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486373&idx=1&sn=0323423e8820ef72fb4b21f0a9d2d133&chksm=fabf63ffcdc8eae9f3c5f4b273ae8aab6deee25488c88c8065a3f70b826a329954fa8bd736d8&scene=21#wechat_redirect)
* [AI天气模型的现状与未来](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486352&idx=1&sn=2f0cc81ace66c29b36a9538b9635d567&chksm=fabf63cacdc8eadcec873a6eb087c2165a52f7db4b6425f957acfd835d67a0303495516952c0&scene=21#wechat_redirect)
* [流式传输和渲染可视化三维地理空间数据](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486352&idx=2&sn=27f1e7b08ca444e348b5e814a5341ea9&chksm=fabf63cacdc8eadccca94008cd6d68ed7c72749f013536fd73fe9978756cb491ea66041c9677&scene=21#wechat_redirect)
* [GIS领域常用的24种数据格式](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486289&idx=1&sn=4e6ad5beb2c83622f5d816643cfcf0c4&chksm=fabf630bcdc8ea1dadb0c08d4f30a68c00871ab6c2e2334aa06f7ca8f48f6ee28ae539136775&scene=21#wechat_redirect)
* [一种基于图神经网络的三维建筑模型重建方法](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486289&idx=2&sn=cc3a650e367484828c957dae2d140b7e&chksm=fabf630bcdc8ea1d8f75d0af9e76311278e9a478822b0833d01e26143177965212247caa4ee8&scene=21#wechat_redirect)
* [WebGIS技术栈推荐](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486221&idx=1&sn=a0542f043c49ba135f277e66e048c331&chksm=fabf6357cdc8ea41650a459068cef1d83a57d77eb658783b2f7381ae7d5c99cfc4b35b73bdde&scene=21#wechat_redirect)
* [使用Python工具可视化大型图网络](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486178&idx=1&sn=f23ce75ebcd70e2e708bc40bcd56e699&chksm=fabf62b8cdc8ebae1972048a9bc3794bb50c454bb0b447a985387b518fc9712205144ba141cd&scene=21#wechat_redirect)
* [使用NetworkX提取图网络特征](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486153&idx=1&sn=638d596055d4cf730631d1ce63916beb&chksm=fabf6293cdc8eb8513bfc369e5bb0fae5721ee4abe8382c97918ccf0c4412d465a1038a0927c&scene=21#wechat_redirect)
* [Argo海洋观测数据处理分析python库:ArgoPy](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486119&idx=1&sn=80932a2dd3841325b1a9c3f04485715e&chksm=fabf62fdcdc8ebeb8777e71051192888116a82ce3a8cf798976f17515e755657f339eb81cc71&scene=21#wechat_redirect)
* [在Jupyter环境中创建交互式可视化地图](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486082&idx=1&sn=57e62f43df5b4568f93eec6c2576a5f2&chksm=fabf62d8cdc8ebcebf915ffd1c2f2c4b90cfefd2c3f8a03ff8a98593347c8954441c156abbf6&scene=21#wechat_redirect)
* [处理和可视化地理空间数据的Python库:EarthPy](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486068&idx=1&sn=dad52a2fddaae5ba34db65df298b83f1&chksm=fabf622ecdc8eb386b076b74dcd287b65f15eff9a1ebc8b0684e276d670046077acc817fdac8&scene=21#wechat_redirect)
* [地理空间深度学习python库:TorchGeo](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486055&idx=1&sn=24f10ec3f457cd44380ef233f9963e56&chksm=fabf623dcdc8eb2b4dced7aa8467d522a1383ff9bae20d5092d03d30955f7ba2253688056b5c&scene=21#wechat_redirect)
* [遥感数据分析python库scikit-eo](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486046&idx=1&sn=602acf1e2f5e559c299a8b13e80fb517&chksm=fabf6204cdc8eb12c0704c7a4e6037b554f68fe0826f09b1a91ae6e7bc41700a9e65ddad66b5&scene=21#wechat_redirect)
* [图网络的应用场景及图分析python库](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485965&idx=1&sn=f8aa290cd93feccdba3500abe0cff348&chksm=fabf6257cdc8eb41b666c59630d6a9d8d642ebf740fc79ef8c3f6027857c4d229808010a33fc&scene=21#wechat_redirect)
* [使用Python和NetworkX创建并可视化图网络(Graph Network)](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485946&idx=1&sn=530310279074989a0729ace617b7e0c9&chksm=fabf61a0cdc8e8b6b8ec33e9ec46aefed01672b6d4e9a6208020e6b9be7f8fbe0e38cc9577df&scene=21#wechat_redirect)
* [OpenResearcher:一个开源科学研究AI助理](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485934&idx=1&sn=3a35078ecfcec51014c24c1db9b2aaa3&chksm=fabf61b4cdc8e8a2cb0ef16fb0fd2bc2d3a3fdc42aef63e106152e55a6fbbf78c78c6b8f5c7a&scene=21#wechat_redirect)
* [NeuralGCM: 一种融合机器学习与物理原理来模拟地球大气的新方法](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485904&idx=1&sn=966cf544765b492436d42cfca66f3a7b&chksm=fabf618acdc8e89c59257b1150cf76ef8fe197ffbf390b7b4736b65ae3ba97c90c4d6d256b2b&scene=21#wechat_redirect)
* [Transformer Explainer:文本生成模型交互式可视化工具](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485859&idx=1&sn=e82c8ab4a071b123f4f3ab98eda381ec&chksm=fabf61f9cdc8e8ef2ba9dd265729eb51bdade88d69c57d4810771dc7d24af1521a5bd08dccf6&scene=21#wechat_redirect)
* [用于探索性数据分析(EDA)的开源python库](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485827&idx=1&sn=295572d805a167c620d0136b67c0aded&chksm=fabf61d9cdc8e8cfb8f3a26163daa4e94e5a8ce990e588f0e1880d1999f909f81d6a0bc28684&scene=21#wechat_redirect)
* [分享一个构建交互式D3js可视化的Python库](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485786&idx=1&sn=6a32cdd45a98b242fd8269b84f441448&chksm=fabf6100cdc8e8162e65c352f762665271ebf42a46345c7d0270ea72494c4c7068637ca7f21e&scene=21#wechat_redirect)
* [推荐15个图网络可视化python软件包](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485733&idx=1&sn=d75b69b4805f0b286026c663c1a934d2&chksm=fabf617fcdc8e869e3844db959192ef3fbae7a4faa703d54eabe7f81cdc5ec523d77fce589dc&scene=21#wechat_redirect)
* [9个提升科研效率的软件工具](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485691&idx=1&sn=9abc8927c179d0cf53eb4f04207820aa&chksm=fabf60a1cdc8e9b7c22e58b854e2a09e588742f59ff2207e437b69fb07362ba3ec381202c488&scene=21#wechat_redirect)
* [生成式人工智能模型颠覆传统天气预报](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485653&idx=1&sn=cfb223fb24824c01c773933c181969b8&chksm=fabf608fcdc8e999f74763593dd0f55b51a4776991060b28dfec146643b7f61ac0bc5d868133&scene=21#wechat_redirect)
* [分享5个python可视化图表工具](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485646&idx=1&sn=f1e740630334f88ef991439822b27fd3&chksm=fabf6094cdc8e9822c58338d80d5ef00f4f135bdcac2f9b893159701e789d37f44e90e4e0183&scene=21#wechat_redirect)
* [分享17个网络(Network)数据可视化工具](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485619&idx=1&sn=44696f7c089da0419bfa21ed181a6835&chksm=fabf60e9cdc8e9ff042c28395f16709da29f6ac0ab78d455cab018001d7264d39121fc5baa37&scene=21#wechat_redirect)====物体检测-Object-Detection-深度学习工具汇总.md====
---
title: "物体检测(Object Detection)深度学习工具汇总"
published: 2022-07-11
description: "物体检测的任务是指找出图像或视频中的感兴趣物体,同时检测出它们的位置和大小,是机器视觉领域的核心问题之一。​本文汇总了目前应用于物体检测的主流深度学习工具/框架。"
image: "/images/物体检测-Object-Detection-深度学习工具汇总/img_85dd1fce.jpg"
tags: ["数据可视化", "台风"]
category: "数据可视化"
draft: false
---
物体检测的任务是指找出图像或视频中的感兴趣物体,同时检测出它们的位置和大小,是机器视觉领域的核心问题之一。本文汇总了目前应用于物体检测的主流深度学习工具/框架。
![](/images/物体检测-Object-Detection-深度学习工具汇总/img_13b8dd34.jpg)
**- TensorFlow Object Detection API**
https://github.com/tensorflow/models/tree/master/research/object\_detection
**- OpenMMLab(mmdetection)**
   https://github.com/open-mmlab
![](/images/物体检测-Object-Detection-深度学习工具汇总/img_ab31b785.jpg)
**- YOLOs**
   Darknet:https://github.com/pjreddie/darknet
   Ultralytics:https://github.com/ultralytics
    最新的YOLOv7:
**paper** - YOLOv7: Trainable bag-of-freebies sets
    new state-of-the-art for real-time object detectors: https://arxiv.org/abs/2207.02696
* **source code - Pytorch:** https://github.com/WongKinYiu/yolov7
![](/images/物体检测-Object-Detection-深度学习工具汇总/img_cc18ea46.png)
**- Detectron2**
Detectron2框架提供最先进的检测和分割算法,包括panoptic segmentation, Densepose, Cascade R-CNN, rotated bounding boxes,
PointRend, DeepLab, ViTDet, MViTv2等。
链接:https://github.com/facebookresearch/detectron2
![](/images/物体检测-Object-Detection-深度学习工具汇总/img_73258f21.png)
**- SimpleDet**
  https://github.com/TuSimple/simpledet
**- KerasCV**
KerasCV是一个模块化组件库,用于图像分类、物体检测、图像分割、图像数据增强等常见用例,支持快速组装生产级的、最先进的训练和推理管道。
https://github.com/keras-team/keras-cv
**- GluonCV**
同时支持PyTorch和MXNet,包含大量计算机视觉预训练模型。
https://github.com/dmlc/gluon-cv
![](/images/物体检测-Object-Detection-深度学习工具汇总/img_aac9052b.jpg)
**- OpenCV**
Open Source Computer Vision Library
https://github.com/opencv/opencv
**- Kornia**
Kornia由一个软件包子集组成,其中包含可插入神经网络内的运算符,以训练模型执行图像变换、外延几何、深度估计和低层次的图像处理
https://github.com/kornia/kornia
![](/images/物体检测-Object-Detection-深度学习工具汇总/img_4b376d15.gif)====特斯拉Autopilot的神经网络在路上看到的.md====
---
title: "特斯拉Autopilot的神经网络在路上看到的"
published: 2020-02-05
description: "这就是#Tesla Autopilot使用#NeuralNetworks所看到的,该过程需要70000个GPU小时来训练,并在每个时间步输出1,000个预测。"
image: "/images/特斯拉Autopilot的神经网络在路上看到的/img_5f16adc7.jpg"
tags: ["数据可视化", "台风"]
category: "数据可视化"
draft: false
---
特斯拉在其Autopilot网站上发布了一段视频,显示了特斯拉Autopilot使用神经网络在路上看到的内容。该系统依靠车身四周8个摄像头获取的原始图像进行计算机视觉处理,执行如语义分割、目标监测和单目深度估计(semantic segmentation, object detection and monocular depth estimation)。它使用鸟瞰网络从所有摄像机拍摄视频,以直接从上至下的视图输出道路布局,静态基础设施和3D对象。它使用鸟瞰网络从所有摄像头拍摄视频,以直接从上至下的视图输出道路布局,静态基础设施和3D对象。
![](/images/特斯拉Autopilot的神经网络在路上看到的/img_4f522430.png)
![](/images/特斯拉Autopilot的神经网络在路上看到的/img_a1aaf016.png)
      特斯拉Autopilot使用的神经网络包括48个网络,需要70000个GPU小时来训练,并在每个Timestep输出1,000个预测。用于训练神经网络的数据是从特斯拉近100万辆车的车队中获得的。
![](/images/特斯拉Autopilot的神经网络在路上看到的/img_655ba9cb.png)
    老板马斯克也在Twitter上招聘AI人才了...
![](/images/特斯拉Autopilot的神经网络在路上看到的/img_852426a4.jpg)
![](/images/特斯拉Autopilot的神经网络在路上看到的/img_5a81d78c.jpg)
![](/images/特斯拉Autopilot的神经网络在路上看到的/img_f07e0a31.jpg)
    Reference: https://www.tesla.com/autopilotAI
    Twitter: @elonmusk @TheTeslaShow
    以上。====生成式AI重塑气象信息服务-7th-NOAA-AI-Workshop深度解读之1-5.md====
---
title: "生成式AI重塑气象信息服务:7th NOAA AI Workshop深度解读之1/5"
published: 2025-12-24
description: ""
image: "/images/生成式AI重塑气象信息服务-7th-NOAA-AI-Workshop深度解读之1-5/img_71bec7ce.jpg"
tags: ["数据可视化", "台风"]
category: "数据可视化"
draft: false
---
#
> 本文基于2025年NOAA第七届AI研讨会开幕专题"生成式AI与信息服务"整理,涵盖NOAA数据战略、国家气象局风暴报告自动生成、ECMWF聊天机器人开发,以及Tomorrow.IO的扩散模型创新应用。本文是该系列解读文章的第1篇。
![](/images/生成式AI重塑气象信息服务-7th-NOAA-AI-Workshop深度解读之1-5/img_b8b178b5.png)
## 引言
当ChatGPT被问及"如果NOAA是一家私营公司,你会如何描述它的品牌"时,答案令人深思:
> "全球最值得信赖的气候智能、海洋技术和大气解决方案来源"
> "数据权威、科学诚信、公私合作"
这些由AI生成的描述,恰好点明了本次研讨会的核心议题:**如何利用生成式AI来强化NOAA作为可信数据提供者的角色,同时提升数据的质量、可访问性和可用性**。
![](/images/生成式AI重塑气象信息服务-7th-NOAA-AI-Workshop深度解读之1-5/img_b2b86bfb.png)
## 一、NOAA首席数据官的战略视角
### 1.1 数据的经济价值
NOAA首席数据官Tony LaVoi分享了一组令人印象深刻的数据:
* • 2024年天气预报服务行业收入达**102亿美元**
* • NOAA观测系统支撑着**800家企业**,雇用超过**30万名员工**
* • 金融界正在使用NOAA数据规划与天气相关的金融不确定性
> "NOAA数据驱动着经济和社会众多领域的产品和服务。"
### 1.2 "默认开放"的数据理念
NOAA是一个"默认开放"的机构——绝大多数数据不仅可以而且**依法必须**公开。数据的价值只有在被使用时才能体现,而AI/ML正是放大这一价值的关键。
Tony提出了生成式AI与数据交叉点上的三个关键指标:
* • **质量(Quality)**
* • **可访问性(Accessibility)**
* • **可用性(Usability)**
### 1.3 75个生成式AI试点项目
在首席技术官Frank Indiglio的领导下,NOAA正在运行约**75个生成式AI试点项目**。常见主题包括:
1. 1. **数据文档和元数据挑战**:利用GenAI自动化数据管理计划和元数据创建
2. 2. **数据发现**:解决"我们知道你们有很多数据,但很难找到"的老问题
3. 3. **增强可访问性**:使数据对LLM代理更加兼容
4. 4. **态势感知仪表板**:实时信息汇总
5. 5. **数据理解和可视化**
6. ![](/images/生成式AI重塑气象信息服务-7th-NOAA-AI-Workshop深度解读之1-5/img_281a3d8d.png)
### 1.4 数据治理的警示
> "云和AI将补充和改进,但不能替代我们的核心数据治理和管理要求。高质量数据不是凭空产生的,它来自对数据治理和管理的承诺。"
这是来自首席数据官的"公共服务公告"——技术可以加速,但基础仍然是人对数据质量的承诺。
![](/images/生成式AI重塑气象信息服务-7th-NOAA-AI-Workshop深度解读之1-5/img_9222a4a8.png)
## 二、国家气象局:自动生成风暴报告
### 2.1 什么是本地风暴报告(LSR)?
本地风暴报告是预报员从各种来源(应急管理人员、公众来电、社交媒体、观测站)收集的风暴事件报告,包括冰雹、龙卷风、热带风暴损害等。
**为什么重要?**
* • 预报员的实时态势感知
* • 验证预报准确性(预警是否与地面情况吻合)
* • 量化风暴事件的影响
![](/images/生成式AI重塑气象信息服务-7th-NOAA-AI-Workshop深度解读之1-5/img_c433d97e.png)
### 2.2 挑战:手工过程的瓶颈
撰写LSR是一个**手工过程**,耗时且不一致。更棘手的是:大规模天气事件时报告最多,而预报员的时间被分散在处理事件和收集报告之间。
### 2.3 解决方案:GenAI自动起草系统
与AWS生成式AI创新中心合作,国家气象局正在开发一个系统:
**数据源(第一阶段):**
* • 新闻和社交媒体
* • 与应急管理社区的Slack频道
* • 交通部门报告
* • mPING(公众天气事件提交系统)
**系统流程:**

多源数据输入 → GenAI系统起草LSR → 人工审核/编辑/拒绝 → 提交到数据库

**关键设计原则:人在回路(Human in the Loop)**
系统生成草稿,但最终决定权在预报员——他们可以审核、编辑或拒绝报告。
### 2.4 早期成果与挑战
**成功案例:**
从社交媒体图片中,系统成功提取了:
* • 事件类型
* • 经纬度位置
* • 关键描述信息
**挑战场景:**
* • "曼哈顿北端"——系统难以精确定位
* • 城市名在多个州重复——需要上下文消歧
### 2.5 用雷达验证报告可信度
一个创新点是使用**雷达数据验证报告真实性**:

输入:日期、时间、位置、事件类型

系统分析雷达数据

输出:验证结论 + 置信度 + 推理逻辑

**示例输出(龙卷风报告验证):**
> 结论:是,这可能是有效报告
> 置信度:中等
> 推理:雷达特征显示沿海系统发展模式,但要确认龙卷风需要更多数据——速度数据、其他地面观测者报告...
系统甚至知道自己需要什么数据才能更有信心——这是一个令人惊喜的表现。
### 2.6 训练数据的人工积累
在开发之前,团队发现缺少**输入-输出配对数据**。于是招募了54名志愿者,创建了600多个配对样本(如:一条推文 → 对应的LSR报告)。
> "没有这些数据,我们什么也做不了。向所有志愿者致敬!"
## 三、ECMWF:目的地地球(Destination Earth)聊天机器人
### 3.1 项目背景:复杂系统的用户接口
目的地地球是欧洲委员会资助的大型项目,ECMWF与欧洲航天局、EUMETSAT合作构建基于数字孪生的信息系统:
* • **气候孪生**:5公里分辨率,十年尺度预测
* • **极端天气孪生**:4.4公里分辨率,4天预报
数据分布在不同超算平台,运行各种假设场景,对用户来说非常复杂。**聊天机器人的目标是改变用户与信息系统的交互方式**。
### 3.2 目标受众:技术用户
聊天机器人首先面向技术用户:
* • 特定领域的主题专家
* • 科学家和软件工程师
* • 数据的"高级用户"
### 3.3 核心功能
**1. 数据发现**
* • 数据覆盖范围
* • 可用参数
* • 数据位置
**2. 用户支持与API使用**
* • 生成代码片段帮助入门
* • 无需翻阅大量API文档
**3. 数据获取**
* • 从提示到数据提取的完整流程
* • 在浏览器中直接获取数据
![](/images/生成式AI重塑气象信息服务-7th-NOAA-AI-Workshop深度解读之1-5/img_04520de9.png)
### 3.4 技术架构:防幻觉设计

RAG系统(技术文档 + 数据目录)
        ↓
    智能体 + 工具
        ↓
  精确的代码/数据提取

**关键设计:智能体查询真实目录**
> "智能体实际查询真实的数据目录,所以聊天机器人不会编造任何元数据。这防止了用户因获得不存在的数据而产生的挫败感和信任丧失。"
### 3.5 示例交互
**问题:** "我应该在法国南部种植山毛榉吗?"
**系统响应逻辑:**
1. 1. 识别这是一个与气候数据相关的问题
2. 2. 引导用户到相关数据参数
3. 3. 提供数据获取方式和代码片段
4. 4. 最终答案总是指向数据
> "理想情况下,聊天机器人的答案总是数据。"
### 3.6 未来展望:智能体网络
一个专注于"从提示到数据"的专业智能体,未来可以成为更大系统的一部分——不同组织的智能体相互连接,形成资源网络。
## 四、Tomorrow.IO:扩散模型驱动的区域预报
### 4.1 公司定位
Tomorrow.IO是一家SaaS公司,三大核心领域:
1. 1. **平台和API**:向客户提供天气预报信息
2. 2. **模型能力**:物理模型 + AI/ML模型
3. 3. **全球观测**:自有微波探测卫星星座
![](/images/生成式AI重塑气象信息服务-7th-NOAA-AI-Workshop深度解读之1-5/img_38df73e6.png)
### 4.2 AI天气模型的局限与机遇
GraphCast等开源AI天气模型表现出色,但有一个共同局限:
* • 都在传统再分析数据上训练
* • 都用传统同化系统初始化
**机遇**:用新的观测数据和初始化方法改进这些社区代码库。
### 4.3 Focus系统:扩散模型驱动的区域预报
**目标:** 公里级分辨率的集合预报
**架构:** 基于Nvidia Earth-2的U-Net扩散架构,本质上是学习HRRR(高分辨率快速刷新模型)的物理过程。
**性能亮点:**
* • 单个集合成员在Azure H100上运行仅需**6秒**
* • 可以快速扩展集合数量
* • 15分钟分辨率,15分钟刷新频率
**灵活的输入源:**
* • 多个GFS成员
* • ECMWF数据
* • 全球AI模型(可将6小时/25km降尺度到高时空分辨率)
**观测数据整合:**
* • RTMA
* • 地面站
* • METAR
* • 雷达网络(实时初始化)
### 4.4 冷池不确定性的表达
在一个俄克拉荷马州的中尺度对流系统案例中:
* • 确定性HRRR显示阵风锋和冷池的物理表示
* • 扩散模型集合均值结构相似,但包含更多不确定性信息
* • 大集合可以表达冷池边界和阵风阈值的概率分布
这对于预报极端事件至关重要——客户关心的正是这些阈值。
### 4.5 跨区域迁移学习
模型在美国训练后,可以应用到其他地区:
* • 去除位置嵌入等约束
* • 保留物理过程学习
* • 结合全球统一降水产品初始化
在缺少密集观测网的地区,这种高效的降尺度能力尤为宝贵。
### 4.6 Tomorrow微波探测星座
**现状:**
* • 7颗在轨卫星
* • 接近**亚小时重访**能力
* • 数据质量与ATMS相当
**意义:**
传统同化系统每6小时运行一次。即使AI模型能在几秒内运行,如果初始化数据不新鲜也没意义。Tomorrow的星座填补了这个观测空白。
### 4.7 ICGen:初始条件生成器
**目标:** 利用星座数据高效生成更准确的全球天气状态
**方法:**
1. 1. 用EDM和ERA5训练无条件扩散模型
2. 2. 推理时用Tomorrow微波探测数据引导扩散过程
3. 3. 生成的初始场保持热力学-动力学一致性
**数据否定实验显示:**
* • 有/无TMS数据对湿度场有明显影响
* • 湿度校正会传播到动力场
* • 物理一致性得到保持
* ![](/images/生成式AI重塑气象信息服务-7th-NOAA-AI-Workshop深度解读之1-5/img_ab3f6d1f.png)
## 五、专家讨论:一年后的展望
研讨会最后,每位专家分享了对一年后的期待:
**Forest (Tomorrow.IO):**
> "直接观测到预测的框架。利用快速重访卫星探测真正改进模型初始条件。"
**Stefan (ECMWF):**
> "很多用户在实际工作中使用AI预报。不仅是更多数据,而是用户真正能用起来。"
**Jonas (ECMWF):**
> "解决如何约束聊天机器人坚持使用可信数据源的问题。这仍然是一个大挑战。"
**Monica (NWS):**
> "可解释性的进步。更关键的是,从预测到行动——完美的预报如果人们不理解、不行动,就白费了。"
**Tony (NOAA CDO):**
> "两个梦想:AI帮助我们处理、质控、记录更多数据;人们不再说'我知道你们有很多数据,但我找不到'。"
## 六、关键洞见与启示
### 6.1 数据仍然是基础
无论技术多先进,数据质量、治理和可访问性仍然是根本。生成式AI是加速器,不是替代品。
### 6.2 人在回路是必须的
从NWS的LSR系统到所有专家的讨论,**人类监督和决策权**是建立信任的关键。
### 6.3 防幻觉的技术方案
ECMWF的方法值得借鉴:让智能体查询真实数据目录,而不是让LLM编造元数据。
### 6.4 观测数据的新价值
Tomorrow.IO的案例表明,在AI天气预报时代,快速、高质量的观测数据成为新的竞争优势。
### 6.5 跨职能协作是关键
从NOAA的战略层面到项目层面,打破IT、数据、科学、运营的壁垒是成功的前提。
### 6.6 从预测到行动
Monica的观点发人深省:再完美的预报,如果公众不理解、不行动,就没有意义。生成式AI在"最后一公里"的价值可能比在预测本身更大。
## 结语
本次研讨会开幕专题描绘了一幅生动的图景:生成式AI正在从多个维度重塑气象信息服务——
* • **数据层面**:自动化文档、元数据生成、质量控制
* • **产品层面**:自动起草风暴报告、智能问答系统
* • **模型层面**:扩散模型驱动的高效集合预报
* • **用户层面**:自然语言界面、代码生成、数据获取
但所有这些创新都建立在一个共同的基础上:**可信赖的数据和负责任的AI应用**。
正如Tony LaVoi所说,NOAA的品牌核心是"信任"。在生成式AI时代,维护这种信任需要新的方法——更好的验证管道、更透明的系统、更紧密的人机协作。
---
本文整理自NOAA第七届AI研讨会(2025年)开幕专题"生成式AI与信息服务",演讲者包括NOAA首席数据官Tony LaVoi、国家气象局Monica Youngman、ECMWF的Stefan Simon和Jonas,以及Tomorrow.IO的Forest Cannon。====生成式人工智能模型颠覆传统天气预报.md====
---
title: "生成式人工智能模型颠覆传统天气预报"
published: 2024-03-30
description: "Google提出了一种名为SEEDS的生成式人工智能模型,旨在加快天气预报的进展,近期发表在《科学进展》(Science Advances)上。"
image: "/images/生成式人工智能模型颠覆传统天气预报/img_ae947e67.jpg"
tags: ["数据可视化", "台风"]
category: "数据可视化"
draft: false
---
准确的天气预报可以对人们的生活产生直接影响,既可以帮助人们做出日常决定,比如为一天的活动准备什么,也可以为紧急行动提供信息,比如在危险天气条件下保护人们。准确及时的天气预报的重要性只会随着气候变化而增加。认识到这一点,我们谷歌一直在投资天气和气候研究,以帮助确保未来的预报技术能够满足对可靠天气信息的需求。我们最近的一些创新包括 MetNet-3(提供未来 24 小时内的高分辨率天气预报)和 GraphCast(一种可以预测未来 10 天天气的天气模型)。
天气本身具有随机性。为了量化不确定性,传统方法依靠基于物理的模拟来生成一系列预报。然而,要生成大量的集合预报,以便准确辨别和描述罕见的极端天气事件,计算成本很高。
**Google提出了一种名为SEEDS的生成式人工智能模型,旨在加快天气预报的进展,近期发表在《科学进展》(Science Advances)上。**SEEDS 是一种生成式人工智能模型,可以高效地生成大规模天气预报集合,而成本仅为传统物理预报模型的一小部分。这项技术为天气和气候科学带来了新的机遇,它代表了概率扩散模型在天气和气候预报领域的首次应用,而概率扩散模型是最近媒体生成技术进步背后的一种生成式人工智能技术。
**概率预报的必要性:蝴蝶效应**
1972 年 12 月,在华盛顿特区举行的美国科学促进会会议上,麻省理工学院气象学教授Ed Lorenz发表了题为 "巴西的蝴蝶扇动翅膀会引发德克萨斯州的龙卷风吗?"的演讲,这就是 "蝴蝶效应 "一词的由来。他在 1963 年发表的一篇具有里程碑意义的论文基础上,研究了 "超长程天气预报 "的可行性,并描述了初始条件的误差在与数值天气预报模型进行时间整合时是如何呈指数增长的。这种指数误差增长被称为 "混沌",它导致了确定性可预测性的极限,限制了在决策中使用单个预报,因为它们无法量化天气条件固有的不确定性。这在预报极端天气事件(如飓风、热浪或洪水)时尤其成问题。
由于认识到确定性预报的局限性,世界各地的气象机构都会发布概率预报。此类预报基于确定性预报的集合,每个集合都是通过在初始条件中加入合成噪声和在物理过程中加入随机性而生成的。利用天气模型中的快速误差增长率,集合中的预报是有目的性的,即初始不确定性被调整以产生尽可能不同的运行,天气模型中的随机过程在模型运行期间引入了额外的差异。通过对集合中的所有预报进行平均,误差增长得到缓解,而集合预报中的变化则量化了天气条件的不确定性。生成这些概率预报虽然有效,但计算成本很高。它们需要在大型超级计算机上多次运行高度复杂的数值天气模型。因此,许多业务天气预报只能为每个预报周期生成约 10-50 个集合成员。这对于关注罕见但影响大的天气事件可能性的用户来说是个问题,因为这些事件通常需要更大的集合来评估几天后的天气。例如,要预报发生概率为 1%、相对误差小于 10%的事件,就需要 10,000 个集合。
**SEEDS:人工智能带来的进步**
在论文中,研究团队介绍了SEEDS:the Scalable Ensemble Envelope Diffusion Sampler,这是一种用于天气预报集合生成的人工智能生成技术。SEEDS 基于去噪扩散概率模型,这是一种最先进的生成式人工智能方法,部分由谷歌研究院首创。
SEEDS 可以根据运行中的数值天气预报系统中少至一两次的预报生成大型集合。生成的集合不仅能产生类似真实天气的可信预报,而且在技能指标(如等级直方图(**rank histogram**)、均方根误差(RMSE)和连续等级概率分数(CRPS))上也能与基于物理学的集合相媲美,甚至更胜一筹。特别是,生成的集合为预报分布的尾部,如±2σ和±3σ天气事件分配了更准确的可能性。最重要的是,与超级计算机进行一次预报所需的数小时计算时间相比,该模型的计算成本可以忽略不计。它在谷歌云 TPUv3-32 实例上的吞吐量为每 3 分钟 256 个集合成员(分辨率为 2°),并可通过部署更多加速器轻松扩展到更高吞吐量。
![](/images/生成式人工智能模型颠覆传统天气预报/img_9c85252d.gif)
**生成可信的天气预报**
众所周知,生成式人工智能可以生成非常详细的图像和视频。这一特性对于生成符合可信天气模式的集合预报尤其有用,而可信天气模式最终会为下游应用带来最大的附加值。正如洛伦兹指出的,"它们生成的(天气预报)地图应该看起来像真实的天气图"。下图对比了 SEEDS 与美国业务化天气预报系统(全球集合预报系统,GEFS)对 2022 年欧洲热浪期间某一特定日期的预测结果。研究团队还将结果与高斯模型的预测结果进行了比较,高斯模型预测每个地点每个大气场的单变量平均值和标准偏差,这是一种常见的计算效率高但不太复杂的数据驱动方法。这种高斯模型旨在描述点后处理输出的特征,它忽略了相关性,并将每个网格点视为独立的随机变量。相比之下,真实的天气图会有详细的相关结构。
由于 SEEDS 直接模拟大气状态的联合分布,因此它能真实地捕捉到对流层中部位势和平均海平面气压之间的空间协方差和相关性,这两者密切相关,通常被天气预报员用于评估和验证预报。平均海平面气压的梯度是海面风的驱动力,而对流层中层位势的梯度则会产生上层风,从而推动大尺度天气模式。
下图所示 SEEDS 生成的样本(Ca-Ch 帧)显示了葡萄牙以西的位势槽,其空间结构与美国业务预报或基于观测资料的再分析中的位势槽相似。虽然高斯模型能充分预测边际单变量分布,但它未能捕捉到跨场或空间相关性。这阻碍了对这些异常可能对来自北非的热空气入侵产生的影响的评估,而热空气入侵会加剧欧洲上空的热浪。
![](/images/生成式人工智能模型颠覆传统天气预报/img_157b36d9.png)2022/07/14 0:00 UTC 时欧洲上空的气压图。等值线表示平均海平面气压(虚线表示 1010 hPa 以下的等压线),热图表示 500 hPa 气压水平的位势高度。(A) ERA5 再分析,代表真实观测数据。(Ba-Bb)美国 7 天业务预报中的 2 个成员,作为我们模型的种子。(Ca-Ch)从 SEEDS 中提取的 8 个样本。(Da-Dh)从 7 天美国业务集合预报中提取的 8 个非种子样本。(Ea-Ed)4个取自点式高斯模型的样本,参数为整个美国业务集合的均值和方差。
**更准确地极端天气事件预测**
下图显示了当地时间 2022/07/14 1:00 发生极端高温事件期间里斯本附近 2 米处的温度和总水汽柱的联合分布。作者使用了 2022/07/07 发布的 7 天预报。对于每幅图,使用 SEEDS 生成了 16,384 个成员的集合。ERA5观测到的天气事件用星号表示。图中还显示了运行集合,正方形表示用于生成集合种子的预报,三角形表示集合的其他成员。
根据美国的业务集合预报,7 天前观测到的事件不太可能发生,其 31 个成员中没有一个预测到近地面温度与观测到的温度一样高。事实上,根据高斯核密度估计计算出的事件概率低于 1%,这意味着少于 100 个成员的集合不可能包含像这次事件这样极端的预测。相比之下,SEEDS集合能够从两个播种预报中进行推断,提供一个可能的天气状态包络,对该事件的统计覆盖率要高得多。这样既能量化事件发生的概率,又能对事件发生时的天气状况进行采样。具体来说,我们的生成方法具有高度可扩展性,可以创建非常大的集合,通过为任何用户定义的诊断提供超过给定阈值的天气状态样本,从而描述非常罕见的天气事件。
![](/images/生成式人工智能模型颠覆传统天气预报/img_546444d6.png)
SEEDS 为 2022/07/14 欧洲极端高温事件提供了更好的统计覆盖范围,用棕色星星表示。每幅图都显示了葡萄牙里斯本附近网格点上的总柱积分水汽(TCVW)值与温度的关系,这些数值来自我们的模式生成的 16,384 个样本(显示为绿点),条件是取自 7 天美国业务集合预报的 2 个种子(蓝色正方形)(用较稀疏的棕色三角形表示)。有效预报时间为当地时间 1:00。实线等高线水平对应于 SEEDS 内核密度的等比例,最外层的等高线包围了 95% 的质量,每个等高线水平之间的等比例为 11.875%。
**总结和展望**
* 传统认为天气预报依赖复杂的物理模型和超级计算机,但这项工作表明生成式人工智能可以在很低的计算成本下取得更好的效果,尤其在预测极端天气事件概率方面。
* 生成式人工智能和扩散模型是一个非常有前景的方向,可以应用到传统的科学和工程领域,提供新的解决方案。
* 在不确定性量化和概率预测方面,基于数据和机器学习的方法可能比传统的物理模拟更有优势。
* 跨学科融合将产生更多突破,比如这里就是AI技术与天气预报的结合。
* 这种方法为目前的业务天气预报模式提供了一种替代方案,统计模拟器节省下来的计算资源可用于提高基于物理模型的分辨率或更频繁地发布预报。
**References:**
论文:https://doi.org/10.1126/sciadv.adk4489
代码:
https://github.com/google-research/google-research/tree/master/seeds====用于探索性数据分析-EDA-的开源python库.md====
---
title: "用于探索性数据分析(EDA)的开源python库"
published: 2024-05-21
description: "探索性数据分析(EDA)可以使用各种工具和软件有效地执行,每种工具和软件都具有适合处理不同类型数据和分析要求的独特功能。本文介绍2个能够实现类似Tableau功能的开源python库。"
image: "/images/用于探索性数据分析-EDA-的开源python库/img_512152ef.jpg"
tags: ["数据可视化", "台风"]
category: "数据可视化"
draft: false
---
探索性数据分析(EDA)是数据科学项目中至关重要的第一步。它涉及对数据进行分析和可视化,以了解其主要特征、发现模式、定位异常值并确定变量之间的关系。EDA 通常是在进行正式统计分析或建模之前进行的初步步骤。EDA 的主要目的是在做出任何假设之前帮助查看数据。它可以帮助识别明显的错误,更好地理解数据中的模式,检测异常值或异常事件,发现变量之间有趣的关系。
![](/images/用于探索性数据分析-EDA-的开源python库/img_9d6e64fd.png)
数据科学家可以使用探索性分析来确保他们得出的结果是有效的,并且适用于任何预期的业务成果和目标。EDA还可以帮助用户确认他们提出的问题是否正确。EDA 可以帮助回答有关标准偏差、分类变量和置信区间的问题。一旦 EDA 完成并得出结果,其功能就可用于更复杂的数据分析或建模,包括机器学习。
![](/images/用于探索性数据分析-EDA-的开源python库/img_705f66bb.jpg)
EDA的主要方法包括:
* 数据分布:研究数据点的分布,了解其范围、中心趋势(平均值、中位数)和离散度(方差、标准差)。
* 图形表示法:利用直方图、箱形图、散点图和柱形图等图表,直观地显示数据内部的关系和变量的分布。
* 离群值检测:识别偏离其他数据点的异常值。异常值会影响统计分析,并可能表明数据录入错误或特殊情况。
* 相关性分析:检查变量之间的关系,了解变量之间的相互影响。这包括计算相关系数和创建相关矩阵。
* 缺失值处理:根据缺失数据的影响和数量,检测并决定如何处理缺失数据点,是通过估算还是删除。
* 汇总统计:计算关键统计数据,以便深入了解数据趋势和细微差别。
* 测试假设:许多统计测试和模型都假定数据满足某些条件(如正态性或同方差性)。EDA 可帮助验证这些假设。
探索性数据分析(EDA)可以使用各种工具和软件有效地执行,每种工具和软件都具有适合处理不同类型数据和分析要求的独特功能。常用的EDA工具有Power BI和Tableau,它们是用于数据分析和商业智能的领先数据可视化工具,均为商业软件。本文介绍2个能够实现类似Tableau功能的开源python库。
![](/images/用于探索性数据分析-EDA-的开源python库/img_a13a8198.png)
1. **PyGWalker**
PyGWalker 是一个简化数据分析和可视化工作流程的Python库,它能够将pandas dataframe转化为Tableau风格的用户界面,并可以通过简单的拖拽操作来分析和可视化数据。该库提供了一系列强大的功能,使得进行EDA数据分析可视化更加高效。
![](/images/用于探索性数据分析-EDA-的开源python库/img_4748d63e.webp)
https://github.com/Kanaries/pygwalker
* 安装
使用pip命令:

pip install pygwalker

或者使用conda:

conda install -c conda-forge pygwalker

或者使用mamba:

mamba install -c conda-forge pygwalker

* 使用
在代码中引入pygwalker和pandas即可使用:

import pandas as pdimport pygwalker as pyg

加载数据:

df = pd.read_csv(’./mydata.csv’)walker = pyg.walk(df)

![](/images/用于探索性数据分析-EDA-的开源python库/img_c2ada47b.gif)
![](/images/用于探索性数据分析-EDA-的开源python库/img_ca31248c.gif)
* 示例
* 修改图表类型
![](/images/用于探索性数据分析-EDA-的开源python库/img_d3244c51.png)
* 比较不同的测量值,可以通过在行/列中添加多个测量值来创建连接视图
![](/images/用于探索性数据分析-EDA-的开源python库/img_3b622b6d.png)
* 要制作按维度值划分的多个子视图的分面视图,可将维度放入行或列中以制作分面视图
![](/images/用于探索性数据分析-EDA-的开源python库/img_ef4ea6e6.png)
* 该库提供一个功能强大的数据表,可快速查看数据及其分布
![](/images/用于探索性数据分析-EDA-的开源python库/img_66b48bfa.png)
* 与python前端库联合使用,构建数据分析Web APP应用
![](/images/用于探索性数据分析-EDA-的开源python库/img_e08c78b6.png)
总之,PyGWalker是Tableau的强大开源替代品,可让用户轻松探索和分析数据。PyGWalker拥有友好的用户界面,并与Python pandas集成,提供了一系列强大的数据可视化功能,让用户能够快速、高效地深入了解数据。**2. Lux**
Lux 是一个通过自动化可视化和数据分析过程,方便快捷地进行数据探索的Python库。用户只需在 Jupyter notebook中打印出数据帧,Lux 就会输出一组可视化内容,突出显示数据集中有趣的趋势和模式。它的可视化效果通过交互式小工具显示,用户可以快速浏览大量可视化效果,直观了解数据的意义。
![](/images/用于探索性数据分析-EDA-的开源python库/img_43475941.png)
![](/images/用于探索性数据分析-EDA-的开源python库/img_25d10aa4.png)
https://github.com/lux-org/lux
Lux 采用了一种意图语言(intent language),允许用户以简洁的方式指定其分析意图,并自动推断未指定的细节和确定适当的可视化映射。Lux 的目标是缩小代码与交互界面之间的差距,让数据科学家更轻松地探索数据。
![](/images/用于探索性数据分析-EDA-的开源python库/img_9a18dcda.gif)
* 软件包安装方法

pip install lux-api

或者使用conda安装

conda install -c conda-forge lux-api

* 在Jupyter Notebook或者VSCode中使用时,需安装并激活luxwidget组件

jupyter nbextension install —py luxwidgetjupyter nbextension enable —py luxwidget

* 在Jupyter Lab中使用时,需安装并激活扩展插件

jupyter labextension install @jupyter-widgets/jupyterlab-managerjupyter labextension install luxwidget

Lux 将根据意图特征生成相关的数据可视化。用户获得的不再是通用的可视化推荐,而是带有数据集额外特征的定制可视化推荐。在右侧可以看到各种建议的可视化效果,包括地图、时间序列数据等。
![](/images/用于探索性数据分析-EDA-的开源python库/img_928584a6.gif)
可视化结果导出。用户只需选择一个或多个可视化效果,然后点击导出按钮。导出后,用户可以访问导出的可视化数据以及数据可视化背后的代码。
![](/images/用于探索性数据分析-EDA-的开源python库/img_dc5dd4fa.gif)
Lux提供易于使用的 API、灵活性以及与数据科学 Python 生态系统的集成。用户无需编写大量代码,就能获得相关的数据探索可视化。有了Lux,用户可以加快数据科学的EDA过程,并根据自己的意图进行定制。
---
本公众号相关内容推荐:
* [分享一个构建交互式D3js可视化的Python库](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485786&idx=1&sn=6a32cdd45a98b242fd8269b84f441448&chksm=fabf6100cdc8e8162e65c352f762665271ebf42a46345c7d0270ea72494c4c7068637ca7f21e&scene=21#wechat_redirect)
* [推荐15个图网络可视化python软件包](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485733&idx=1&sn=d75b69b4805f0b286026c663c1a934d2&chksm=fabf617fcdc8e869e3844db959192ef3fbae7a4faa703d54eabe7f81cdc5ec523d77fce589dc&scene=21#wechat_redirect)
* [9个提升科研效率的软件工具](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485691&idx=1&sn=9abc8927c179d0cf53eb4f04207820aa&chksm=fabf60a1cdc8e9b7c22e58b854e2a09e588742f59ff2207e437b69fb07362ba3ec381202c488&scene=21#wechat_redirect)
* [生成式人工智能模型颠覆传统天气预报](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485653&idx=1&sn=cfb223fb24824c01c773933c181969b8&chksm=fabf608fcdc8e999f74763593dd0f55b51a4776991060b28dfec146643b7f61ac0bc5d868133&scene=21#wechat_redirect)
* [分享5个python可视化图表工具](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485646&idx=1&sn=f1e740630334f88ef991439822b27fd3&chksm=fabf6094cdc8e9822c58338d80d5ef00f4f135bdcac2f9b893159701e789d37f44e90e4e0183&scene=21#wechat_redirect)
* [分享17个网络(Network)数据可视化工具](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485619&idx=1&sn=44696f7c089da0419bfa21ed181a6835&chksm=fabf60e9cdc8e9ff042c28395f16709da29f6ac0ab78d455cab018001d7264d39121fc5baa37&scene=21#wechat_redirect)
* [Napari:一个支持分析大型多维图像数据集的python工具](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485541&idx=1&sn=d80dec83191b3be53e3f6ee96099362b&chksm=fabf603fcdc8e9292a037159d9ab9ad06e63cfa3ef1d597c6b82bd8a487d60f686f707f5047e&scene=21#wechat_redirect)
* [地理空间数据分析可视化R软件包汇总](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485508&idx=1&sn=1aab2f8294b4dcdfdb864322833411b0&chksm=fabf601ecdc8e908d25a3d5d92806b27e7a1596bd792df7fc0b5c655825010ac4816deb919d0&scene=21#wechat_redirect)
* [大气海洋科学数据可视化案例集#2](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485494&idx=1&sn=ebe606ff1a13883d7534bd7b13f71653&chksm=fabf606ccdc8e97a668cfe1e2dd03ca028a1f4db140dfa24dd45bdc82d0fdd37e85e533f494f&scene=21#wechat_redirect)
* [一个快速检索和下载NASA地球科学数据的Python软件包](https://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485332&idx=1&sn=1ab4dc70f4bf5ea2e1c66843d602bb5f&scene=21#wechat_redirect)
* [可视化呈现海洋洋流-墨西哥湾流](https://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485413&idx=1&sn=3ac351d5a5a06ddee614e9a2ef313d39&scene=21#wechat_redirect)
* [探索NOAA提供的数据产品资源](https://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485448&idx=1&sn=d7ecc36be97f154af4153037e82be1ab&scene=21#wechat_redirect)
* [全球海洋船舶定位数据交互式可视化(附数据)](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485165&idx=1&sn=c8c0b1018e8ebc0436ea03b65c5843bd&chksm=fabf6eb7cdc8e7a1c0beb16139174a4618738ba6a777d1386245c2d93856756d8bf151abf90e&scene=21#wechat_redirect)
* [地球科学领域开源python包#1](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247484833&idx=1&sn=bd4f827df3baed8d344c33c42f0ecccf&chksm=fabf6dfbcdc8e4ed3a0673b09e83f08b4333fa1617dd4e749b8ed0a90b7e3f4721ce01a71c71&scene=21#wechat_redirect)
* [地球科学领域开源python包#2](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247484867&idx=1&sn=5d1c8c4a37109630fba96654efe669a9&chksm=fabf6d99cdc8e48f6adce51ae82ecddfc7ca3ca0e754fd9a9ecb82e046c227353227ec5a929e&scene=21#wechat_redirect)
* [大规模空间矢量数据可视化Python库-lonboard](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247484935&idx=1&sn=1c24c747aa6cf7ee0ef22da56640d9c9&chksm=fabf6e5dcdc8e74b4f64bd6f193a29f3853a5c1e8b169bde237f958327edae07fc760461445c&scene=21#wechat_redirect)
* [可视化呈现2023年是有气象记录以来最热的一年](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247484982&idx=1&sn=1c37f6dff58570ff2b821f91c6776dc1&chksm=fabf6e6ccdc8e77a9640a30835cb7457e3eee2d951490e763f5c74f9280526a46897090ee7cb&scene=21#wechat_redirect)
* [大气海洋科学数据可视化案例集#1](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485054&idx=1&sn=086399b206e9ac29fb0583186dbd1665&chksm=fabf6e24cdc8e7329f9c1e7ef2a62bab78860f351916cd703be218690e620767814c0207722b&scene=21#wechat_redirect)
* [地球科学领域计算分析开源Julia软件包](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485098&idx=1&sn=507ce6d9353865edb44c7ae255078856&chksm=fabf6ef0cdc8e7e68650e02472f21799a4ca0f606f9305ffa0838ff9b9d4a6e4bf6862d5d162&scene=21#wechat_redirect)
* [地球观测数据可视化工具](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485142&idx=1&sn=a84720e5cbd8d732c74a3b9abca30922&chksm=fabf6e8ccdc8e79a39684dbb8a9860741f826f18f619fb2037d71a2b70ab33c2614516873124&scene=21#wechat_redirect)
* [地球科学领域计算分析开源Julia软件包](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485098&idx=1&sn=507ce6d9353865edb44c7ae255078856&chksm=fabf6ef0cdc8e7e68650e02472f21799a4ca0f606f9305ffa0838ff9b9d4a6e4bf6862d5d162&scene=21#wechat_redirect)====用于机器学习应用的云原生大气观测数据集.md====
---
title: "用于机器学习应用的云原生大气观测数据集"
published: 2025-10-04
description: ""
image: "/images/用于机器学习应用的云原生大气观测数据集/img_815faeb6.jpg"
tags: ["数据可视化", "台风"]
category: "数据可视化"
draft: false
---
人工智能正在彻底改变天气预报领域,但新一代“观测数据驱动”的AI模型面临着一个巨大障碍:关键的历史气象数据被存储在名为BUFR的“过时”格式中。本文将探讨NOAA、NASA如何通过“NNJA-AI”项目破解这一难题,将海量的历史观测数据转换为云原生的Parquet格式,为下一代AI天气模型的研发铺平道路。
![](/images/用于机器学习应用的云原生大气观测数据集/img_ce2a657e.webp)
---
## AI天气预报的范式转变
在过去几年里,我们见证了AI在天气预报领域取得的惊人突破。以Google DeepMind的GraphCast为代表的模型,在多项预报指标上已经能够媲美甚至超越传统的、基于物理机理的数值天气预报(NWP)黄金标准——欧洲中期天气预报中心(ECMWF)的IFS模型。
![](/images/用于机器学习应用的云原生大气观测数据集/img_2a061268.png)
这标志着天气预报领域的**第一次范式转变**:AI模型开始替代传统的物理预报模型。然而,这些第一代AI模型存在一个共同的依赖:它们仍然需要由ECMWF或NOAA等大型机构通过复杂的“数据同化”过程生成的分析场数据(如ERA5)作为初始输入。
现在,我们正迎来**第二次范式转变**。以Aardvark、Fuxi Weather等为代表的新一代模型,可以直接由原始的、分散的**观测数据**驱动,彻底摆脱了对数据同化和ERA5再分析数据的依赖。
![](/images/用于机器学习应用的云原生大气观测数据集/img_9d3ae57b.png)
### 观测数据驱动模型的巨大优势
这种转变至关重要,因为它解决了现有模型的两大核心局限:
1. 1. **灵活性受限**:几乎所有主流天气预测AI模型都基于ERA5数据集进行训练,这意味着它们的输入数据格式必须与ERA5保持一致。
2. 2. **误差继承**:ERA5本身在描述全球大气状态时存在的任何偏差或问题,都可能被训练出的AI模型继承和放大。
![](/images/用于机器学习应用的云原生大气观测数据集/img_ea7b97cc.png)相对于IFS HRES(欧洲中期天气预报的黄金标准)的技能进展。可以看到,对于某些指标(例如3天期850毫帕温度RMSE),这些AI模型实际上超越了经典的基于物理的模型。
观测数据驱动的AI模型从根本上规避了这些问题。它们可以直接利用来自卫星、地面站、气象气球的最新观测数据,在数据可用后立即生成预报,无需等待长达数小时的数据同化周期。这不仅提升了预报的时效性,也为模型的创新打开了无限可能。
然而,一个巨大的挑战随之而来:我们去哪里寻找一个统一、干净、跨越数十年的观测数据集来训练这些新模型呢?
## 难以逾越的BUFR格式障碍
理论上,存在一个完美的数据源:**NOAA-NASA联合观测档案(NNJA)**。该档案是NOAA物理科学实验室(PSL)、环境建模中心(EMC)与NASA全球建模和同化办公室(GMAO)三年合作的成果,旨在为下一代地球系统和区域大气再分析提供一个经过精心策划和质量控制的观测数据集。这个档案库包含了从1979年至今,用于生成官方天气预报的所有输入数据,堪称气象观测数据的宝库。
![](/images/用于机器学习应用的云原生大气观测数据集/img_7e864f08.jpg)
但它有一个致命缺陷:所有数据都以**BUFR**(Binary Universal Form for the Representation of meteorological data)格式存储。
可以将BUFR格式想象成**数据格式领域的传真机**:它诞生于上世纪80年代,其行式存储结构与现代大数据框架和AI应用完全不兼容。想要直接用它来训练机器学习模型,几乎是不可能的。这个障碍严重阻碍了观测驱动AI天气模型的发展。
![](/images/用于机器学习应用的云原生大气观测数据集/img_e5608aa7.png)
## The NNJA-AI解决方案:从BUFR到云原生Parquet
为了打破这一僵局,NOAA、NASA联合启动了**Ninja AI**项目。其核心目标只有一个:**将NNJA档案“去BUFR化”(De-BUFR)**,并将其转换为对AI/ML应用友好的现代数据格式,最终成果被命名为**NNJA-AI**。
![](/images/用于机器学习应用的云原生大气观测数据集/img_953f93e8.webp)
2025年8月,该合作发布了NNJA-AI的第一个版本,其背后是一个清晰、分步的数据处理工作流。
![](/images/用于机器学习应用的云原生大气观测数据集/img_0481d6f6.png)
### 步骤1:BUFR → Avro
管道的第一步是由Brightband开发的专有软件读取原始的BUFR文件,并将其序列化为Apache Avro格式的记录。Avro是一种基于记录的现代数据格式,其结构与BUFR文件的树状结构能够较好地对应。更重要的是,现代化的编程语言有大量成熟的库可以读写Avro,这使得数据初步可用。
然而,Avro并非最终的理想选择,因为它存在兼容性、压缩效率和访问效率等问题。
### 步骤2::Avro → Parquet
为了解决Avro的局限性,管道的第二步是将Avro数据进一步转换为**Apache Parquet**格式。Parquet是专为分析和机器学习场景设计的**列式存储**格式,它完美地解决了Avro的痛点:
1. 1. **广泛兼容**:Pandas、Dask、Spark等几乎所有主流数据科学工具都原生支持Parquet。
2. 2. **高效压缩**:列式存储带来了极高的压缩比。
3. 3. **高效访问**:由于是列式存储,用户只读取关心的列,而无需加载整个文件。这种高效的扫描、搜索和检索能力,对于需要从海量数据中筛选特定特征进行训练的机器学习应用至关重要。
## 为机器学习优化的Parquet数据格式
仅仅转换为Parquet格式是不够的,数据的组织方式同样重要。Ninja AI项目在生成Parquet文件时,采取了一系列针对机器学习场景的优化策略。
* • **按传感器划分模式 (Schema)**:为每种观测平台(如红外卫星、微波卫星、地面站)定义独立的Parquet模式,确保结构清晰。
* • **标准化核心列**:所有数据集都包含标准化的时间戳、经度和纬度列,便于进行时空筛选和数据对齐。
* • **按天分区 (Partition)**:将原始的6小时文件合并为按天分区的目录结构,简化了按日期范围查询的复杂度。
* • **展平嵌套结构 (Flattening)**:这是一个关键的优化。原始数据中常见的嵌套结构(例如,一个列包含卫星的数百个辐射通道数组)被完全展平,每个通道都成为一个独立的列。这种做法虽然会产生大量列,但极大地提升了I/O效率,让数据读取不再是训练的瓶颈。
* ![](/images/用于机器学习应用的云原生大气观测数据集/img_7d8946dd.jpg)
## 使用Python SDK探索数据宝库
为了进一步降低数据的使用门槛,项目还构建了一个开源的Python SDK,让用户可以轻松地对数据资料进行交互和查询。
以下是一个简单的代码示例:

导入数据目录#

from ninja_ai import catalog

1. 列出所有可用的数据集#

print(catalog.list())

> [‘satellite_infrared’, ‘satellite_microwave’, ‘surface_synop’, ‘radiosonde’]#

2. 加载一个特定的数据集#

dataset = catalog.load(‘satellite_infrared’)

3. 查看该数据集中包含的所有变量#

print(dataset.list_variables())

4. 按需筛选变量和时间范围#

subset = dataset.subset(
    variables=[‘brightness_temperature_channel_8’, ‘sensor_zenith_angle’],
    time_range=(‘2024-01-01’, ‘2024-01-02’)
)

5. 将筛选后的数据加载为常用的DataFrame格式#

df = subset.to_pandas()

或者 to_polars(), to_dask()#

print(df.head())

## 数据集V1正式版
目前,NNJA-AI项目已经发布了一个**预览版本**,包含了过去4年的核心观测数据。即将发布的**V1正式版**将包含NNJA档案中的**全部历史数据**。
* • **数据访问**:NNJA-AI数据托管在Google云平台的公共存储桶中,并计划在AWS上建立副本。数据出口由NOAA开放数据分发计划赞助,确保了公众可以免费访问。
数据集访问地址:
https://console.cloud.google.com/storage/browser/nnja-ai;tab=objects?inv=1&invt=Ab4mcA&prefix=&forceOnObjectsSortingFiltering=false![](/images/用于机器学习应用的云原生大气观测数据集/img_74f9b523.png)
* ![](/images/用于机器学习应用的云原生大气观测数据集/img_2faf4320.webp)
![](/images/用于机器学习应用的云原生大气观测数据集/img_526c8ced.png)![](/images/用于机器学习应用的云原生大气观测数据集/img_eb75f272.jpg)====科研文献综述相关软件推荐.md====
---
title: "科研文献综述相关软件推荐"
published: 2024-02-02
description: "本文介绍常用于科研文献综述的软件以及基于这些软件工具形成的科研工作流程。"
image: "/images/科研文献综述相关软件推荐/img_99d1b975.jpg"
tags: ["数据可视化", "台风"]
category: "数据可视化"
draft: false
---
科研文献综述是对特定研究领域或主题相关文献的全面概括和分析,是学术研究不可或缺的一部分,其目的是回顾特定研究领域研究进展与趋势、总结现有知识、揭示研究问题的背景,并为新的研究提供理论和方法基础。本文介绍常用于科研文献综述的软件以及基于这些软件工具形成的科研工作流程。
![](/images/科研文献综述相关软件推荐/img_072b9151.png)
* **常用软件工具**
* Zotero:是一款免费的开源文献管理工具,旨在帮助研究者组织、管理和引用学术文献。它提供一个直观且强大的平台,可以方便地保存、同步和分享引文信息。Zotero支持多平台使用,包括桌面应用、浏览器插件以及移动应用,使用户能够随时随地访问文献库,支持直接搜索、阅读和标注PDF文档。
* Rabbit Research:可以帮助研究人员发现与他们的研究主题相关的文献,扩充zotero文献库。
* Obsidian:用于与Zotero关联,接收Zotero导入的文献和标注信息。Obsidian支持Markdown语法,使用户能够以纯文本形式轻松编写和编辑笔记。
* **文献综述工作流**
* 文献搜索:研究人员在主流学术数据库(Google Scholar/Web of Science/Scopus/IEEE Explorer等)中搜索与本人研究领域相关的论文,导入到Zotero文献库中。
![](/images/科研文献综述相关软件推荐/img_e0bae142.png)
![](/images/科研文献综述相关软件推荐/img_2724d3ef.png)
![](/images/科研文献综述相关软件推荐/img_88c0333b.png)
* Zotero文献库管理收集的文献资源
![](/images/科研文献综述相关软件推荐/img_21a46e8d.png)
* Rabbit Research同步Zotero文献库的所有论文在Rabbit Research中连接Zotero账号,并进行文献信息同步
![](/images/科研文献综述相关软件推荐/img_3459595b.png)
![](/images/科研文献综述相关软件推荐/img_ab045856.png)
* Rabbit research中会显示与Zotero文献相关的论文,针对Zoter文献库中没有的文章,可以添加到库中,并同步到Zotero文献库
![](/images/科研文献综述相关软件推荐/img_478aadaa.png)
* 在Zotero中对文献进行标注![](/images/科研文献综述相关软件推荐/img_7bec216e.png)
* 选择导出文献基本信息和标注信息![](/images/科研文献综述相关软件推荐/img_31d980f8.png)
* Obsidian中文献的基本信息和标注信息
![](/images/科研文献综述相关软件推荐/img_606e1bac.png)
![](/images/科研文献综述相关软件推荐/img_ee825e8e.png)
![](/images/科研文献综述相关软件推荐/img_e9983840.png)
* 从各个文献中提取的信息进行归纳和综合,收集相关数据,使用Python/R/Matlab等编程语言进行数据分析和可视化,然后撰写文献综述初稿,包括对现有研究的总结、关键发现和对研究领域的贡献。
本文介绍的软件需要安装对应插件,其中,Zotero需要安装Better BibTex、MdnotesZotfiles、Zotfile
![](/images/科研文献综述相关软件推荐/img_3a41c23a.png)
Obsidian需要安装Citations、dataview、zotero intergration等
![](/images/科研文献综述相关软件推荐/img_641ee854.png)
任何问题,请私信本公众号或者点击“服务”加微信联系。
插件安装地址:
* https://github.com/jlegewie/zotfile
* https://github.com/retorquere/zotero-better-bibtex、
* https://github.com/argenos/zotero-mdnotes
---
**本公众号相关内容推荐:**
* [一个快速检索和下载NASA地球科学数据的Python软件包](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485332&idx=1&sn=1ab4dc70f4bf5ea2e1c66843d602bb5f&chksm=fabf6fcecdc8e6d8195c9c76e2fc0112a5d5d63410aec7c9bf5f0972d2568ba5bcd8631411d2&scene=21#wechat_redirect)
* [地理空间数据三维可视化R软件包](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485309&idx=1&sn=4ad935eba08892d5eae12259b2e1963d&chksm=fabf6f27cdc8e631966ca27e64274eea40eda5a5650a336c325134e8aabb30da8a245d61db26&scene=21#wechat_redirect)
* [使用Python+hvPlot绘制出版级可视化图表(附完整代码)](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485218&idx=1&sn=1f33256df8d5dced9cb505b0c5bae377&chksm=fabf6f78cdc8e66e0b3ad5754fa1cbfbc4f0a61627bb123f7fedfb300c43256f74b08db2dd89&scene=21#wechat_redirect)
* [全球海洋船舶定位数据交互式可视化(附数据)](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485165&idx=1&sn=c8c0b1018e8ebc0436ea03b65c5843bd&chksm=fabf6eb7cdc8e7a1c0beb16139174a4618738ba6a777d1386245c2d93856756d8bf151abf90e&scene=21#wechat_redirect)
* [地球科学领域开源python包#1](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247484833&idx=1&sn=bd4f827df3baed8d344c33c42f0ecccf&chksm=fabf6dfbcdc8e4ed3a0673b09e83f08b4333fa1617dd4e749b8ed0a90b7e3f4721ce01a71c71&scene=21#wechat_redirect)
* [地球科学领域开源python包#2](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247484867&idx=1&sn=5d1c8c4a37109630fba96654efe669a9&chksm=fabf6d99cdc8e48f6adce51ae82ecddfc7ca3ca0e754fd9a9ecb82e046c227353227ec5a929e&scene=21#wechat_redirect)
* [大规模空间矢量数据可视化Python库-lonboard](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247484935&idx=1&sn=1c24c747aa6cf7ee0ef22da56640d9c9&chksm=fabf6e5dcdc8e74b4f64bd6f193a29f3853a5c1e8b169bde237f958327edae07fc760461445c&scene=21#wechat_redirect)
* [可视化呈现2023年是有气象记录以来最热的一年](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247484982&idx=1&sn=1c37f6dff58570ff2b821f91c6776dc1&chksm=fabf6e6ccdc8e77a9640a30835cb7457e3eee2d951490e763f5c74f9280526a46897090ee7cb&scene=21#wechat_redirect)
* [大气海洋科学数据可视化案例集#1](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485054&idx=1&sn=086399b206e9ac29fb0583186dbd1665&chksm=fabf6e24cdc8e7329f9c1e7ef2a62bab78860f351916cd703be218690e620767814c0207722b&scene=21#wechat_redirect)
* [地球科学领域计算分析开源Julia软件包](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485098&idx=1&sn=507ce6d9353865edb44c7ae255078856&chksm=fabf6ef0cdc8e7e68650e02472f21799a4ca0f606f9305ffa0838ff9b9d4a6e4bf6862d5d162&scene=21#wechat_redirect)
* [地球观测数据可视化工具](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485142&idx=1&sn=a84720e5cbd8d732c74a3b9abca30922&chksm=fabf6e8ccdc8e79a39684dbb8a9860741f826f18f619fb2037d71a2b70ab33c2614516873124&scene=21#wechat_redirect)
* [数据可视化Python库-Holoviews](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247484651&idx=1&sn=f7ade1a3eb3b3fdc2a04392f7c451fc9&chksm=fabf6cb1cdc8e5a70d6b53ff2b11734eff538834aadad5ed7582bee822f3ccd97eb780ed6428&scene=21#wechat_redirect)
* [三维可视化Python库-PyVista](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247484707&idx=1&sn=842c4fd35e774851767938368e556146&chksm=fabf6d79cdc8e46f0afbe5d1383baa3823914d7af7d6678b413e38cdc013f32c645ae554edb5&scene=21#wechat_redirect)====自主部署和运行大语言模型Llama3的5种方法.md====
---
title: "自主部署和运行大语言模型Llama3的5种方法"
published: 2024-05-14
description: "Meta 最近发布了Llama 3,这是其开源大型语言模型(LLM)的最新和最强大的版本。Llama3包括两个版本:Llama 3 8B(含80亿个参数)和 Llama 3 70B(含700亿个参数),这两个版本都有基础和指令调整变体。"
image: "/images/自主部署和运行大语言模型Llama3的5种方法/img_0b041626.jpg"
tags: ["数据可视化", "台风"]
category: "数据可视化"
draft: false
---
Meta 最近发布了Llama 3,这是其开源大型语言模型(LLM)的最新和最强大的版本。Llama3包括两个版本:Llama 3 8B(含80亿个参数)和 Llama 3 70B(含700亿个参数),这两个版本都有基础和指令调整变体。
与Llama 2相比,Llama 3模型降低了错误拒绝率,提供了双倍的上下文长度,具有 8K 标记上下文窗口。Llama 3 模型的训练数据比 Llama 2 多出约 8 倍,在24000个GPU卡上,使用了超过 15 万亿个token的新的公开在线数据组合。HumanEval的大模型代码能力评测对比结果中,作为开源模型的Llama3得分为81.7分,高于闭源商业模型Gemini Pro 1.5(71.9分)和Claude 3 Sonnet(73分),低于Claude 3 Opus (84.9分) 和GPT4 Turbo (85.7分)。
![](/images/自主部署和运行大语言模型Llama3的5种方法/img_2e3b14a7.png)
本文介绍5种安装和运行Llama3的方法,供参考。
1. **使用Web浏览器部署和运行模型**
该方法使用WebGPU技术在Web浏览器运行模型,不需要网络和服务器端支持。
* **WebLLM**
这是一个使用WebGPU和WebAssembly等技术的项目,能够完全在浏览器中运行大语言模型和大语言模型应用程序。WebLLM 是一个模块化和可定制的 javascript 软件包,可直接将语言模型聊天直接带入Web浏览器,并进行硬件加速。一切都在浏览器内运行,无需服务器支持,并通过 WebGPU 加速。同时还支持在手机上运行模型。
Demo: https://mlc.ai/mlc-llm/
![](/images/自主部署和运行大语言模型Llama3的5种方法/img_c4e70928.jpg)WebLLM技术架构
![](/images/自主部署和运行大语言模型Llama3的5种方法/img_2c5f8b7c.gif)
🔗 https://github.com/mlc-ai/web-llm
* **Secret Llama**
完全私有的大语言模型聊天机器人,完全通过浏览器运行,支持离线运行,无需服务器。目前支持 Mistral 和 LLama 3。
![](/images/自主部署和运行大语言模型Llama3的5种方法/img_1d745846.gif)
![](/images/自主部署和运行大语言模型Llama3的5种方法/img_06c4d830.jpg)
🔗 https://github.com/abi/secret-llama
**2. 使用Ollama+LangChain+streamlit构建模型聊天机器人**
`Ollama` 是一个基于 Go 语言开发的简单易用的本地大语言模型部署和运行开源框架。可以将其类比docker包实现命令行交互中的 list,pull,push,run 等命令)。它将模型权重、配置和数据捆绑到一个包中,优化了设置和配置细节,包括 GPU 使用情况,从而简化了在本地运行大型模型的过程。Ollama 支持多种模型,如Llama 2/3、Code Llama、Mistral、Gemma 等,并允许用户根据特定需求定制和创建自己的模型。
![](/images/自主部署和运行大语言模型Llama3的5种方法/img_c3bfa3ad.png)
🔗 https://ollama.com/
LangChain是一个开源框架,旨在帮助开发人员使用语言模型构建端到端的应用程序。它提供了一套工具、组件和接口,可简化创建由大语言模型 (LLM) 和聊天模型提供支持的应用程序的过程。LangChain 可以让AI开发人员把大型语言模型和外部自定义数据结合起来。它提供了**Python**或\*\*JavaScript(TypeScript)\*\*的包。
🔗 https://github.com/langchain-ai/langchain
Streamlit是一个开源的 Python 库,允许开发人员快速创建交互式 Web 应用程序。它提供了一种简单直观的方法来构建数据可视化工具、机器学习应用程序和交互式仪表板。Streamlit 的主要功能之一是它能够创建响应式用户界面,这些界面会随着用户与应用程序的交互而实时更新。这使其成为构建聊天机器人和其他对话界面的理想选择。🔗 https://github.com/streamlit/streamlit
![](/images/自主部署和运行大语言模型Llama3的5种方法/img_80dcd1c3.webp)
具体步骤如下:
* 安装Ollama,拉取Llama3 8B模型,运行模型
* 使用LangChain链接模型、提示词和数据
* 使用streamlit创建聊天机器人交互式应用程序
![](/images/自主部署和运行大语言模型Llama3的5种方法/img_4af90e24.webp)
![](/images/自主部署和运行大语言模型Llama3的5种方法/img_c122c411.webp)
**3. 使用LM Studio在本地运行Llama3**
LM Studio 是一个可以在本地运行大语言模型的免费桌面端软件,支持MacOS、Windows和Linux操作系统。它支持在本地发现、下载和执行大语言模型,具有内置聊天界面以及与类似 OpenAI 的本地服务器的兼容性。通常被认为比 Ollama的界面更友好,LM Studio 还提供了更多来自 Hugging Face 等地方的模型选项,支持**Llama 3、Phi 3、Falcon、Mistral、StarCoder、Gemma等模型。**
![](/images/自主部署和运行大语言模型Llama3的5种方法/img_b9c4f374.png)
![](/images/自主部署和运行大语言模型Llama3的5种方法/img_42e70864.gif)
🔗  https://lmstudio.ai/
**4. 使用4GB单卡GPU运行Llama3 70B模型**
Llama3 70B 大型语言模型的参数大小为130GB。仅将模型加载到 GPU 中就需要 2 个 A100 GPU,每个 100GB 内存。
在推理过程中,还需要将整个输入序列加载到内存中,以进行复杂的 "注意力 "计算。这种注意力机制的内存需求与输入长度成四次方关系。除了 130GB 的模型大小外,还需要更多的内存。
开源项目AirLLM优化了模型推理内存的使用,允许 70B 大型语言模型在一块 4GB GPU 显卡上运行推理。无需量化、蒸馏、剪枝或其他会导致模型性能下降的模型压缩技术。
![](/images/自主部署和运行大语言模型Llama3的5种方法/img_2f2d7689.jpg)
🔗  https://github.com/lyogavin/Anima/tree/main/air\_llm
**5. 使用免费在线AI平台运行Llama3模型**
* **Hugging Chat**
HuggingChat 是 HuggingFace 开发的开源聊天机器人界面,用于与大型语言模型互动。要测试运行Llama,可以使用HuggingChat,登录或创建一个免费账户,然后在 "当前模型 "下选择 "Meta-Llama-3-70B-Instruct "模型。
![](/images/自主部署和运行大语言模型Llama3的5种方法/img_30f5d742.png)
![](/images/自主部署和运行大语言模型Llama3的5种方法/img_e7895831.png)
🔗 https://huggingface.co/chat/
* **Perplexity Labs**
Perplexity Labs 是 Perplexity AI 的一个部门,它为开发人员提供了一个测试各种大型语言模型的实验场。它提供了一个用户友好的界面,你可以选择 llama-3-70b-instruct 或 llama-3-8b-instruct 模型,并立即开始互动。Perplexity Labs 的一大亮点是其慷慨的token限制。对于 llama-3-70b-instruct 模型,请求率限制为每 5 秒 20 个请求、每分钟 60 个请求和每小时 600 个请求。该模型的令牌率限制为每分钟 40,000 个令牌和每 10 分钟 160,000 个令牌。llama-3-8b-instruct 模型的请求速率限制为每 5 秒 20 个请求、每分钟 100 个请求和每小时 1000 个请求。令牌速率限制为每 10 秒 16,000 个令牌、每分钟 160,000 个令牌和每 10 分钟 512,000 个令牌。这对于广泛测试 Llama 3 的能力绰绰有余。
![](/images/自主部署和运行大语言模型Llama3的5种方法/img_5b59221d.png)
🔗 https://labs.perplexity.ai/
* **Vercel Chat**
Vercel Chat 可免费运行两个Llama 3版本。用户可以与两个或多个模型并排聊天,比较响应质量和令牌使用情况。这样就可以非常方便地将 Llama 3 与其他领先的人工智能模型进行直接比较。
![](/images/自主部署和运行大语言模型Llama3的5种方法/img_c0e02dfa.png)
![](/images/自主部署和运行大语言模型Llama3的5种方法/img_50d622c9.png)
🔗 https://sdk.vercel.ai/
* **Replicate**
Replicate 为人工智能实验提供了一个简单实用的界面。您也无需创建账户,就可以立即与这些模型对话。
![](/images/自主部署和运行大语言模型Llama3的5种方法/img_7f0ea2eb.png)
![](/images/自主部署和运行大语言模型Llama3的5种方法/img_2c3fa9c1.png)
Llama 3 8B: https://replicate.com/meta/meta-llama-3-8b
Llama 3 70B: https://replicate.com/meta/meta-llama-3-70b
* **Meta AI Web**
在Meta AI官网运行Llama3,另外还可以通过Facebook、Instagram、WhatsApp、Messenger等软件使用该模型。
![](/images/自主部署和运行大语言模型Llama3的5种方法/img_e3f9ab9b.jpg)
🔗 https://www.meta.ai/
* **Cloudflare**
Cloudflare官方出品,可以免费在线运行开源大模型的平台 ,亮点是不用注册,连注册按钮都没有,直接用。
![](/images/自主部署和运行大语言模型Llama3的5种方法/img_ca9090cf.jpg)
🔗 https://playground.ai.cloudflare.com
本公众号相关内容推荐:
* [推荐15个图网络可视化python软件包](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485733&idx=1&sn=d75b69b4805f0b286026c663c1a934d2&chksm=fabf617fcdc8e869e3844db959192ef3fbae7a4faa703d54eabe7f81cdc5ec523d77fce589dc&scene=21#wechat_redirect)
* [9个提升科研效率的软件工具](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485691&idx=1&sn=9abc8927c179d0cf53eb4f04207820aa&chksm=fabf60a1cdc8e9b7c22e58b854e2a09e588742f59ff2207e437b69fb07362ba3ec381202c488&scene=21#wechat_redirect)
* [生成式人工智能模型颠覆传统天气预报](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485653&idx=1&sn=cfb223fb24824c01c773933c181969b8&chksm=fabf608fcdc8e999f74763593dd0f55b51a4776991060b28dfec146643b7f61ac0bc5d868133&scene=21#wechat_redirect)
* [分享5个python可视化图表工具](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485646&idx=1&sn=f1e740630334f88ef991439822b27fd3&chksm=fabf6094cdc8e9822c58338d80d5ef00f4f135bdcac2f9b893159701e789d37f44e90e4e0183&scene=21#wechat_redirect)
* [分享17个网络(Network)数据可视化工具](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485619&idx=1&sn=44696f7c089da0419bfa21ed181a6835&chksm=fabf60e9cdc8e9ff042c28395f16709da29f6ac0ab78d455cab018001d7264d39121fc5baa37&scene=21#wechat_redirect)
* [Napari:一个支持分析大型多维图像数据集的python工具](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485541&idx=1&sn=d80dec83191b3be53e3f6ee96099362b&chksm=fabf603fcdc8e9292a037159d9ab9ad06e63cfa3ef1d597c6b82bd8a487d60f686f707f5047e&scene=21#wechat_redirect)
* [地理空间数据分析可视化R软件包汇总](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485508&idx=1&sn=1aab2f8294b4dcdfdb864322833411b0&chksm=fabf601ecdc8e908d25a3d5d92806b27e7a1596bd792df7fc0b5c655825010ac4816deb919d0&scene=21#wechat_redirect)
* [大气海洋科学数据可视化案例集#2](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485494&idx=1&sn=ebe606ff1a13883d7534bd7b13f71653&chksm=fabf606ccdc8e97a668cfe1e2dd03ca028a1f4db140dfa24dd45bdc82d0fdd37e85e533f494f&scene=21#wechat_redirect)
* [一个快速检索和下载NASA地球科学数据的Python软件包](https://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485332&idx=1&sn=1ab4dc70f4bf5ea2e1c66843d602bb5f&scene=21#wechat_redirect)
* [可视化呈现海洋洋流-墨西哥湾流](https://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485413&idx=1&sn=3ac351d5a5a06ddee614e9a2ef313d39&scene=21#wechat_redirect)
* [探索NOAA提供的数据产品资源](https://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485448&idx=1&sn=d7ecc36be97f154af4153037e82be1ab&scene=21#wechat_redirect)
* [全球海洋船舶定位数据交互式可视化(附数据)](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485165&idx=1&sn=c8c0b1018e8ebc0436ea03b65c5843bd&chksm=fabf6eb7cdc8e7a1c0beb16139174a4618738ba6a777d1386245c2d93856756d8bf151abf90e&scene=21#wechat_redirect)
* [地球科学领域开源python包#1](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247484833&idx=1&sn=bd4f827df3baed8d344c33c42f0ecccf&chksm=fabf6dfbcdc8e4ed3a0673b09e83f08b4333fa1617dd4e749b8ed0a90b7e3f4721ce01a71c71&scene=21#wechat_redirect)
* [地球科学领域开源python包#2](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247484867&idx=1&sn=5d1c8c4a37109630fba96654efe669a9&chksm=fabf6d99cdc8e48f6adce51ae82ecddfc7ca3ca0e754fd9a9ecb82e046c227353227ec5a929e&scene=21#wechat_redirect)
* [大规模空间矢量数据可视化Python库-lonboard](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247484935&idx=1&sn=1c24c747aa6cf7ee0ef22da56640d9c9&chksm=fabf6e5dcdc8e74b4f64bd6f193a29f3853a5c1e8b169bde237f958327edae07fc760461445c&scene=21#wechat_redirect)
* [可视化呈现2023年是有气象记录以来最热的一年](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247484982&idx=1&sn=1c37f6dff58570ff2b821f91c6776dc1&chksm=fabf6e6ccdc8e77a9640a30835cb7457e3eee2d951490e763f5c74f9280526a46897090ee7cb&scene=21#wechat_redirect)
* [大气海洋科学数据可视化案例集#1](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485054&idx=1&sn=086399b206e9ac29fb0583186dbd1665&chksm=fabf6e24cdc8e7329f9c1e7ef2a62bab78860f351916cd703be218690e620767814c0207722b&scene=21#wechat_redirect)
* [地球科学领域计算分析开源Julia软件包](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485098&idx=1&sn=507ce6d9353865edb44c7ae255078856&chksm=fabf6ef0cdc8e7e68650e02472f21799a4ca0f606f9305ffa0838ff9b9d4a6e4bf6862d5d162&scene=21#wechat_redirect)
* [地球观测数据可视化工具](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485142&idx=1&sn=a84720e5cbd8d732c74a3b9abca30922&chksm=fabf6e8ccdc8e79a39684dbb8a9860741f826f18f619fb2037d71a2b70ab33c2614516873124&scene=21#wechat_redirect)
* [地球科学领域计算分析开源Julia软件包](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485098&idx=1&sn=507ce6d9353865edb44c7ae255078856&chksm=fabf6ef0cdc8e7e68650e02472f21799a4ca0f606f9305ffa0838ff9b9d4a6e4bf6862d5d162&scene=21#wechat_redirect)====迄今最大规模基于Sentinel的AI-Ready数据集-Major-TOM.md====
---
title: "迄今最大规模基于Sentinel的AI-Ready数据集:Major TOM"
published: 2025-02-17
description: ""
image: "/images/迄今最大规模基于Sentinel的AI-Ready数据集-Major-TOM/img_efe3d10a.jpg"
tags: ["数据可视化", "台风"]
category: "数据可视化"
draft: false
---
# ****
随着深度学习技术的发展,模型对训练数据的需求量越来越大。在地球观测(EO)领域,虽然存在着海量的卫星数据,但当前的数据集往往存在格式不统一、数据结构多样等问题,这给数据集的互操作性带来了挑战。
近年来,地球观测和地理空间模型朝着更大、更通用的方向发展,这些模型被称为“基础模型”,需要海量的高质量训练数据,它们在解决重要的科学和社会问题方面展现出巨大潜力。然而,同时也存在挑战,包括:
* 可重复性危机加剧: 由于数据源封闭和技术细节不透明,已发表的模型通常难以复现。
* 模型偏差问题: 所有模型都会受到它们所学习的数据的影响,这可能导致偏差被嵌入到基础模型构成的系统中。
![](/images/迄今最大规模基于Sentinel的AI-Ready数据集-Major-TOM/img_094426ac.jpg)
本文介绍欧空局(ESA) Φ-lab的项目:Major TOM,旨在通过创建高质量、全球分布的AI-Ready数据集。该项目采用基于网格点的地理索引系统,方便不同数据集的整合和查询。通过设计元数据,允许合并来自不同来源的多个数据集。
2024年3月,Major TOM发布,首个核心数据集构成了迄今为止最大的基于机器学习的Sentinel-2数据集。
在Major TOM去年发布的首个数据集的基础上,研究团队推出了首个用于地球观测的全球Embedding数据集,提供了对大量数据的有效表示,从而可以对卫星数据进行更精确和可扩展的分析。
![](/images/迄今最大规模基于Sentinel的AI-Ready数据集-Major-TOM/img_6cdb4315.jpg)
## MajorTOM-Core数据集
这是迄今为止最大规模基于机器学习的Sentinel-2卫星数据集。它包括Sentinel-2的两个处理级别,图像块大小为1068×1068像素,总计超过2.5万亿像素(比迄今为止最大的公开可用Sentinel-2数据集大一个数量级)。
* 覆盖范围广:包含了约225万个样本,覆盖了地球表面近50%的区域,基本涵盖了Sentinel-2卫星的所有观测区域
* 数据质量高:采用先进的深度学习模型进行云检测,确保样本的云覆盖率控制在合理范围内
* 保留原始信息:避免破坏性的预处理,保留了原始像素值和分辨率
* patch尺寸优化:选择1068×1068的图像块大小,可以完美对齐10m、20m和60m分辨率的波段
数据集发布在HuggingFace网站:https://huggingface.co/Major-TOM
![](/images/迄今最大规模基于Sentinel的AI-Ready数据集-Major-TOM/img_21af0b7c.jpg)
Major TOM Core 的全球覆盖范围示意图。彩色区域表示采样区域(绿色表示陆地,浅蓝色表示海洋)
## 新的Major TOM Embedding扩展
Embedding是一种将复杂数据转换为高维向量的技术方法。在地球观测领域,它可以将卫星图像、传感器数据等复杂信息转换成计算机更容易处理的数值形式。可以把它理解为数据的"数字指纹",这个"指纹"保留了原始数据的关键特征和内在关系。
以卫星图像为例,嵌入式表示的工作过程是:
* 特征提取:AI模型首先从原始卫星图像中提取关键特征,如地形特征、植被覆盖、建筑密度等
* 向量转换:将这些特征编码成一个高维向量(可能有几百或几千个维度)
* 信息压缩:在转换过程中,模型会保留最重要的信息,同时大大减少数据存储空间
最新版本通过处理超过62TB原始数据提供超过1.69亿个Embedding向量,该模型数据可以在HuggingFace上免费下载,包括:
* Sentinel-2 多光谱 SSL4EO 模型 (Core-S2L1C-SSL4EO)
* Sentinel-1 RTC SSL4EO 模型 (Core-S1RTC-SSL4EO)
* Sentinel-2 RGB DINOv2 模型 (Core-S2RGB-DINOv2)
* Sentinel-2 RGB SigLIP 模型 (Core-S2RGB-SigLIP)
![](/images/迄今最大规模基于Sentinel的AI-Ready数据集-Major-TOM/img_8854c00b.png)
这些数据使模型能够以与下游任务无关的方式精确地发现模式、相似性和联系。通过嵌入,用户可以有效地解释卫星图像、传感器数据和地理信息系统中的关键特征,从而简化空间关系的分析并优化时间和资源。
随着哥白尼计划中地球观测数据量的不断增加,高效的向量表示比以往任何时候都更加必要。通过将复杂数据编码为高维向量,嵌入捕获了关系和含义,将自然语言、图像和其他数据类型转换为紧凑的形式,可以轻松集成到各种人工智能工作流程中。
![](/images/迄今最大规模基于Sentinel的AI-Ready数据集-Major-TOM/img_5a3bd573.png)
## References
* 代码:https://github.com/ESA-PhiLab/Major-TOM
* 数据和模型:https://huggingface.co/Major-TOM
* 论文:https://arxiv.org/abs/2402.12095
# **本公众号相关内容推荐**
* [20个用于卫星观测数据可视化的Python库](https://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247487095&idx=1&sn=d65910e89c6272a44f88a99ca8da7737&scene=21#wechat_redirect)
* [Google发布AI天气预报系统实时与历史预报数据](https://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247487064&idx=1&sn=9127aeb27234ddd385a9fb90b3754c17&scene=21#wechat_redirect)
* [OceanSpy:一个提供海洋数值模式数据分析和可视化的Python包](https://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247487036&idx=1&sn=1adab535f55c7bbeb6c90eb631283f72&scene=21#wechat_redirect)
* [Segment-geospatial: 地理空间图像分割开源Python工具包](https://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247487009&idx=1&sn=d0021482c4495212d176cfc5a8700e13&scene=21#wechat_redirect)
* [DeepSeek AI创新:颠覆传统,重新定义大模型开发范式](https://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486991&idx=1&sn=58c7b018b7d51382dd547b2ebca3028d&scene=21#wechat_redirect)
* [大语言模型在科学研究中的应用](https://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486944&idx=1&sn=cc85d7f9775803b69b74a291d28edc9c&scene=21#wechat_redirect)
* [6个用于清洗地理空间数据的Python工具库](https://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486913&idx=1&sn=a8430944039efb13e6d8cb9e15ca18a5&scene=21#wechat_redirect)
* [AllClear:用于卫星影像云去除的综合数据集](https://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486913&idx=2&sn=720a9e48cba597fbe6c03d96e1853562&scene=21#wechat_redirect)
* [深度学习技术在地理空间人工智能(GeoAI)中的应用](https://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486883&idx=1&sn=a1b0b5adf89e10f01a9ea99d070d9a82&scene=21#wechat_redirect)
* [xgcm-通用环流模式后处理Python工具包](https://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486851&idx=1&sn=7a58b4811da5b358690b3654100ea680&scene=21#wechat_redirect)
* [GeoAI:地理信息与人工智能的交叉融合](https://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486833&idx=1&sn=f5072d15831a833ba5fbddb901757b87&scene=21#wechat_redirect)
* [深度学习提升全球海洋涡旋动力学卫星观测能力](https://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486817&idx=1&sn=437722dc9bc27c71595359b900fd219c&scene=21#wechat_redirect)
* [基于xarray扩展的开源地图可视化Python库](https://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486796&idx=1&sn=52373c21074376e7375a3464849ae37d&scene=21#wechat_redirect)
* [NOAA 发布世界磁场模型 WMM2025](https://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486779&idx=1&sn=f1cb3587c231b1e7e75248b16ebedf7c&scene=21#wechat_redirect)
* [推荐10个用于处理GIS和遥感数据的Python库](https://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486765&idx=1&sn=071412d985809cf5bebe0a3b26b43e8c&scene=21#wechat_redirect)
* [ECMWF的AI天气预报系统AIFS开放模型权重参数](https://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486749&idx=1&sn=10ef395ae61679ef32acce301500504b&scene=21#wechat_redirect)
* [The Well:可用于机器学习研究的15TB 物理模拟数据集](https://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486579&idx=1&sn=c08d631d13bab12d68ea8b8a427ee38b&scene=21#wechat_redirect)
* [推荐6个美化Matplotlib可视化样式的python库](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486373&idx=1&sn=0323423e8820ef72fb4b21f0a9d2d133&chksm=fabf63ffcdc8eae9f3c5f4b273ae8aab6deee25488c88c8065a3f70b826a329954fa8bd736d8&scene=21#wechat_redirect)
* [AI天气模型的现状与未来](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486352&idx=1&sn=2f0cc81ace66c29b36a9538b9635d567&chksm=fabf63cacdc8eadcec873a6eb087c2165a52f7db4b6425f957acfd835d67a0303495516952c0&scene=21#wechat_redirect)
* [流式传输和渲染可视化三维地理空间数据](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486352&idx=2&sn=27f1e7b08ca444e348b5e814a5341ea9&chksm=fabf63cacdc8eadccca94008cd6d68ed7c72749f013536fd73fe9978756cb491ea66041c9677&scene=21#wechat_redirect)
* [GIS领域常用的24种数据格式](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486289&idx=1&sn=4e6ad5beb2c83622f5d816643cfcf0c4&chksm=fabf630bcdc8ea1dadb0c08d4f30a68c00871ab6c2e2334aa06f7ca8f48f6ee28ae539136775&scene=21#wechat_redirect)
* [一种基于图神经网络的三维建筑模型重建方法](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486289&idx=2&sn=cc3a650e367484828c957dae2d140b7e&chksm=fabf630bcdc8ea1d8f75d0af9e76311278e9a478822b0833d01e26143177965212247caa4ee8&scene=21#wechat_redirect)
* [WebGIS技术栈推荐](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486221&idx=1&sn=a0542f043c49ba135f277e66e048c331&chksm=fabf6357cdc8ea41650a459068cef1d83a57d77eb658783b2f7381ae7d5c99cfc4b35b73bdde&scene=21#wechat_redirect)
* [使用Python工具可视化大型图网络](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486178&idx=1&sn=f23ce75ebcd70e2e708bc40bcd56e699&chksm=fabf62b8cdc8ebae1972048a9bc3794bb50c454bb0b447a985387b518fc9712205144ba141cd&scene=21#wechat_redirect)
* [使用NetworkX提取图网络特征](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486153&idx=1&sn=638d596055d4cf730631d1ce63916beb&chksm=fabf6293cdc8eb8513bfc369e5bb0fae5721ee4abe8382c97918ccf0c4412d465a1038a0927c&scene=21#wechat_redirect)
* [Argo海洋观测数据处理分析python库:ArgoPy](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486119&idx=1&sn=80932a2dd3841325b1a9c3f04485715e&chksm=fabf62fdcdc8ebeb8777e71051192888116a82ce3a8cf798976f17515e755657f339eb81cc71&scene=21#wechat_redirect)
* [在Jupyter环境中创建交互式可视化地图](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486082&idx=1&sn=57e62f43df5b4568f93eec6c2576a5f2&chksm=fabf62d8cdc8ebcebf915ffd1c2f2c4b90cfefd2c3f8a03ff8a98593347c8954441c156abbf6&scene=21#wechat_redirect)
* [处理和可视化地理空间数据的Python库:EarthPy](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486068&idx=1&sn=dad52a2fddaae5ba34db65df298b83f1&chksm=fabf622ecdc8eb386b076b74dcd287b65f15eff9a1ebc8b0684e276d670046077acc817fdac8&scene=21#wechat_redirect)
* [地理空间深度学习python库:TorchGeo](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486055&idx=1&sn=24f10ec3f457cd44380ef233f9963e56&chksm=fabf623dcdc8eb2b4dced7aa8467d522a1383ff9bae20d5092d03d30955f7ba2253688056b5c&scene=21#wechat_redirect)
* [遥感数据分析python库scikit-eo](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247486046&idx=1&sn=602acf1e2f5e559c299a8b13e80fb517&chksm=fabf6204cdc8eb12c0704c7a4e6037b554f68fe0826f09b1a91ae6e7bc41700a9e65ddad66b5&scene=21#wechat_redirect)
* [图网络的应用场景及图分析python库](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485965&idx=1&sn=f8aa290cd93feccdba3500abe0cff348&chksm=fabf6257cdc8eb41b666c59630d6a9d8d642ebf740fc79ef8c3f6027857c4d229808010a33fc&scene=21#wechat_redirect)
* [使用Python和NetworkX创建并可视化图网络(Graph Network)](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485946&idx=1&sn=530310279074989a0729ace617b7e0c9&chksm=fabf61a0cdc8e8b6b8ec33e9ec46aefed01672b6d4e9a6208020e6b9be7f8fbe0e38cc9577df&scene=21#wechat_redirect)
* [OpenResearcher:一个开源科学研究AI助理](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485934&idx=1&sn=3a35078ecfcec51014c24c1db9b2aaa3&chksm=fabf61b4cdc8e8a2cb0ef16fb0fd2bc2d3a3fdc42aef63e106152e55a6fbbf78c78c6b8f5c7a&scene=21#wechat_redirect)
* [NeuralGCM: 一种融合机器学习与物理原理来模拟地球大气的新方法](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485904&idx=1&sn=966cf544765b492436d42cfca66f3a7b&chksm=fabf618acdc8e89c59257b1150cf76ef8fe197ffbf390b7b4736b65ae3ba97c90c4d6d256b2b&scene=21#wechat_redirect)
* [Transformer Explainer:文本生成模型交互式可视化工具](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485859&idx=1&sn=e82c8ab4a071b123f4f3ab98eda381ec&chksm=fabf61f9cdc8e8ef2ba9dd265729eb51bdade88d69c57d4810771dc7d24af1521a5bd08dccf6&scene=21#wechat_redirect)
* [用于探索性数据分析(EDA)的开源python库](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485827&idx=1&sn=295572d805a167c620d0136b67c0aded&chksm=fabf61d9cdc8e8cfb8f3a26163daa4e94e5a8ce990e588f0e1880d1999f909f81d6a0bc28684&scene=21#wechat_redirect)
* [分享一个构建交互式D3js可视化的Python库](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485786&idx=1&sn=6a32cdd45a98b242fd8269b84f441448&chksm=fabf6100cdc8e8162e65c352f762665271ebf42a46345c7d0270ea72494c4c7068637ca7f21e&scene=21#wechat_redirect)
* [推荐15个图网络可视化python软件包](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485733&idx=1&sn=d75b69b4805f0b286026c663c1a934d2&chksm=fabf617fcdc8e869e3844db959192ef3fbae7a4faa703d54eabe7f81cdc5ec523d77fce589dc&scene=21#wechat_redirect)
* [9个提升科研效率的软件工具](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485691&idx=1&sn=9abc8927c179d0cf53eb4f04207820aa&chksm=fabf60a1cdc8e9b7c22e58b854e2a09e588742f59ff2207e437b69fb07362ba3ec381202c488&scene=21#wechat_redirect)
* [生成式人工智能模型颠覆传统天气预报](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485653&idx=1&sn=cfb223fb24824c01c773933c181969b8&chksm=fabf608fcdc8e999f74763593dd0f55b51a4776991060b28dfec146643b7f61ac0bc5d868133&scene=21#wechat_redirect)
* [分享5个python可视化图表工具](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485646&idx=1&sn=f1e740630334f88ef991439822b27fd3&chksm=fabf6094cdc8e9822c58338d80d5ef00f4f135bdcac2f9b893159701e789d37f44e90e4e0183&scene=21#wechat_redirect)====遥感基础模型相关的论文-数据集-代码和预训练权重集.md====
---
title: "遥感基础模型相关的论文、数据集、代码和预训练权重集"
published: 2024-01-02
description: "本文收集了卫星遥感基础模型相关的论文、数据集、代码和预训练权重集(Weights & Bias)。"
image: "/images/遥感基础模型相关的论文-数据集-代码和预训练权重集/img_692823ba.jpg"
tags: ["数据可视化", "台风"]
category: "数据可视化"
draft: false
---
卫星遥感图像解译对于通过多种任务(如农作物生长监测、自然灾害防控等)了解我们的共同家园--地球至关重要。每项任务都可能需要投入大量的精力和资源来建立特定任务的模型。目前,深度学习方法促进了遥感图像判读的快速发展。最广泛使用的训练范式是使用 ImageNet预训练模型来处理遥感数据,以完成指定任务。然而,这些方法存在的问题包括自然场景和卫星遥感场景之间的领域差距以及卫星遥感模型的泛化能力较差。因此,开发具有通用卫星遥感特征表示的基础模型是有意义的。近期,遥感基础模型(Remote Sensing Foundation Model)作为一种预先训练好的通用模型出现了,它在广泛的下游任务中表现出色。本文收集了遥感基础模型相关的论文、数据集、代码和预训练权重集(Weights & Bias)。
## Remote Sensing Vision Foundation Models
![](/images/遥感基础模型相关的论文-数据集-代码和预训练权重集/img_ec49ce47.png)
## Remote Sensing Vision-Language Foundation Models
![](/images/遥感基础模型相关的论文-数据集-代码和预训练权重集/img_d7f85ee1.png)
## Remote Sensing Generative Foundation Models
![](/images/遥感基础模型相关的论文-数据集-代码和预训练权重集/img_38aefe9b.png)
## (Large-scale) Pre-training Datasets
![](/images/遥感基础模型相关的论文-数据集-代码和预训练权重集/img_7498cc92.png)
## Survey Papers
![](/images/遥感基础模型相关的论文-数据集-代码和预训练权重集/img_5c8879e1.png)
**Reference:**https://doi.org/10.48550/arXiv.2312.10115====遥感数据分析python库scikit-eo.md====
---
title: "遥感数据分析python库scikit-eo"
published: 2024-09-01
description: "生成式人工智能(Generative AI)的发展迅速,正在各个行业引发深刻变革。近年来,深度学习和大语言模型(LLM)的进步使得生成式AI能够处理更复杂的任务。该资源包括生成式AI相关的论文、代码、视频教程等资源。"
image: "/images/遥感数据分析python库scikit-eo/img_2db1da41.jpg"
tags: ["数据可视化", "台风"]
category: "数据可视化"
draft: false
---
********
**1. 遥感数据分析python库scikit-eo**
scikit-eo是用于遥感数据分析的Python包,通过pip安装,也可从GitHub源码安装。scikit-eo提供了多种机器学习和神经网络算法,可用于土地利用和土地覆盖(LULC)分析,包括:
* 机器学习算法(随机森林、支持向量机、决策树、朴素贝叶斯、神经网络等)
* 监督分类校准(如蒙特卡罗交叉验证、留一交叉验证等)
* 混淆矩阵的置信区间信息
* K-means分类和算法校准
* 主成分分析(PCA)
* 大气校正
* 深度学习算法
* 线性趋势分析(用于森林退化或土地退化制图)
* 多源遥感数据融合
* 谱混合分析(亚像元分类)
论文给出了一个使用支持向量机进行LULC分类的例子。总的来说,scikit-eo为遥感数据处理提供了一个强大的Python工具包,集成了多种机器学习和神经网络算法,可用于各种LULC分析应用。
![](/images/遥感数据分析python库scikit-eo/img_1d71b31e.png)
论文:https://joss.theoj.org/papers/10.21105/joss.06692
代码:https://github.com/yotarazona/scikit-eo
使用说明:https://yotarazona.github.io/scikit-eo/
**2. 阿里通义千问开源多模态视觉模型Qwen2-VL**
阿里开源了最新视觉多模态模型:Qwen2-VL,能理解超20分钟视频,能力媲美GPT-4o。Qwen2-VL的72B模型在大部分指标上甚至超过了 GPT-4o 和 Claude3.5-Sonnet 等,特别在文档理解方面。支持理解超过20分钟的视频,并用于问答、对话和内容创作。支持英语、中文、大多数欧洲语言、日语、韩语、阿拉伯语、越南语等。可集成到手机、机器人等设备,根据视觉环境和文字指令进行操作,实现智能体能力。支持理解\*\*不同分辨率和不同长宽比的图片,\*\*在 MathVista、DocVQA、RealWorldQA、MTVQA 等视觉理解基准测试中表现出色。
目前其2B和7B参数模型已开源,72B模型已开放API。
![](/images/遥感数据分析python库scikit-eo/img_2656f68a.jpg)
模型:https://huggingface.co/collections/Qwen/qwen2-vl-66cee7455501d7126940800d代码:https://github.com/QwenLM/Qwen2-VLDemo: https://huggingface.co/spaces/Qwen/Qwen2-VLAPI:
https://help.aliyun.com/zh/model-studio/developer-reference/qwen-vl-api
**3. 支持与本地文档对话的开源工具**
一个能让你与文档进行对话的开源工具kotaemon。基于 RAG 技术实现与文档的交互式对话,支持多模态检索,可以处理文本、图表和表格等不同类型的数据。该工具提供简洁易用的界面,并支持使用本地 LLM 或主流 LLM API 提供商,还可一键安装使用。
### **后端功能**
* 使用Python和Flask或FastAPI构建后端API。
* 支持多用户登录和权限管理,每个用户可以有自己的私有和公共文件集合。
* 集成流行的LLM和嵌入模型API,如OpenAI、Azure、Ollama和Groq。
* 实现混合RAG管道,包括全文和向量检索器以及重排序,确保最佳检索质量。
* 支持多模态文档解析,包括处理图表和表格。
* 提供详细的引用,包括相关性得分,并在PDF查看器中高亮显示。
* 实现问题分解和基于代理的复杂推理方法。
### **前端功能**
* 使用Gradio构建Web UI,提供可配置的设置。
* 允许用户上传和组织文档,设置权限。
* 提供问答界面,支持多模态输入。
* 显示答案和相关引用,包括PDF预览。
* 提供协作和分享功能,让用户分享聊天记录。
### **架构**
* 后端API处理用户认证、文档管理和问答逻辑。
* 前端UI通过API与后端交互,提供用户界面。
* 使用分布式索引和检索策略,如GraphRAG,确保可扩展性和性能。
这个项目涉及许多有趣的技术挑战,如多用户支持、多模态文档处理、复杂推理方法和可扩展的检索架构。
![](/images/遥感数据分析python库scikit-eo/img_4824f978.png)
![](/images/遥感数据分析python库scikit-eo/img_3ded0bd2.png)
https://github.com/Cinnamon/kotaemon
**4. 微软推出快速原型化AI代理的低代码界面工具**
Microsoft Research最近推出了AutoGen Studio,这是一个用于快速原型化AI代理的低代码界面。它建立在AutoGen框架的基础之上,也可用于调试和评估多代理工作流程。AutoGen Studio提供了以下关键功能:
### **低代码环境**
AutoGen Studio提供了一个图形用户界面,允许用户使用最少的编码来构建、测试和部署多代理工作流程。用户和开发人员可以从预定义的代理库中选择,并将它们组合成团队来解决特定任务。图形界面允许用户进一步使用基础模型、提示、技能和工作流程来定制这些工作流程。
### **导出和部署选项**
用户可以将代理工作流程导出为JSON配置文件,并将其集成到任何Python应用程序中。这些工作流程也可以从命令行启动为API,或部署在Azure Container Apps和Azure Web Apps等云服务上。
### **社区和协作**
AutoGen Studio培养了一个协作环境,允许用户分享、发现和学习彼此的工作流程、代理和技能。这种社区驱动的方法旨在培养专业知识并促进技术重用。
![](/images/遥感数据分析python库scikit-eo/img_7a01c9ab.jpg)
使用文档:
https://microsoft.github.io/autogen/docs/autogen-studio/getting-started/
论文:https://arxiv.org/abs/2408.15247
**5. 开源Web爬虫FireCrawl**
用户可以使用这个开源工具firecrawl集成的Claude 3.5或GPT-4o爬取整个网站,支持将整个网站转换为适合大型语言模型(LLM)的Markdown格式或结构化数据。
该工具通过一个API进行抓取、爬取和提取,会爬取所有可访问的子页面,并为每个页面提供干净的数据。无需提供网站地图。该工具最大的优势是提取的数据专门为基于LLM的管道量身定制。该工具支持在线使用或者自部署。目前在Github已经有11K Stars。
![](/images/遥感数据分析python库scikit-eo/img_4e25a6ff.jpg)
https://github.com/mendableai/firecrawl
**6. 实时目标检测与统计**
使用YOLOv8实现的实时目标检测、分割与统计任务,以饼图、柱状图、折线等形式展示统计结果,实现过程详见:
https://docs.ultralytics.com/guides/analytics/#why-graphs-are-important
**7. 集成AI的开源项目管理和知识共享工具**
AppFlowy是一款集成AI技术的开源项目管理和知识共享工具,可以是Notion的开源替代。
* **协作工作空间**
    统一的平台,方便团队成员协作管理项目、wiki、笔记等内容。
* **AI 辅助**
    整合AI功能,辅助高效工作,比如自动生成内容、整理信息等。
* **数据安全**
    支持自部署,数据隐私性高,用户拥有对数据的完全控制权,以确保数据安全。
![](/images/遥感数据分析python库scikit-eo/img_80ad6f5d.png)
![](/images/遥感数据分析python库scikit-eo/img_f86460ec.png)
https://github.com/AppFlowy-IO/AppFlowy
**8. 一篇介绍大语言模型提示工程(Prompt)的论文**
基于Transformer的生成式人工智能(GenAI)系统正在各个行业和研究环境中越来越多地被部署。开发者和最终用户通过提示或提示工程(Prompt)与这些系统进行交互。尽管提示是一个广泛研究的概念,但由于该领域的初始阶段,存在相互矛盾的术语和对提示构成的本体论理解不足的情况。论文建立了对提示的结构化理解,通过汇编提示技术的分类法并分析其使用。
论文提供了一个包含33个术语的综合词汇表、58种仅限文本的提示技术的分类法以及40种其他模态的技术。
目前我看过的最全的介绍提示工程的论文《The Prompt Report: A Systematic Survey of Prompting Techniques》,非常系统地帮助理解提示工程的框架。
![](/images/遥感数据分析python库scikit-eo/img_246f9b7e.png)
https://arxiv.org/pdf/2406.06608
**9. 生成式AI学习资源**
生成式人工智能(Generative AI)的发展迅速,正在各个行业引发深刻变革。近年来,深度学习和大语言模型(LLM)的进步使得生成式AI能够处理更复杂的任务。海量的训练数据使得模型能够学习和生成高质量的内容。另一方面,计算资源的提升使得训练和运行大型模型成为可能。生成式人工智能的应用范围包括内容创作、软件开发、游戏和虚拟现实等。该资源包括生成式AI相关的论文、代码、视频教程等资源。
![](/images/遥感数据分析python库scikit-eo/img_5e8a23aa.jpg)
https://scidatalab.net/GenAIResources(点击文末“阅读原文”打开链接)
#
# **本公众号相关内容推荐**
* [图网络的应用场景及图分析python库](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485965&idx=1&sn=f8aa290cd93feccdba3500abe0cff348&chksm=fabf6257cdc8eb41b666c59630d6a9d8d642ebf740fc79ef8c3f6027857c4d229808010a33fc&scene=21#wechat_redirect)
* [使用Python和NetworkX创建并可视化图网络(Graph Network)](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485946&idx=1&sn=530310279074989a0729ace617b7e0c9&chksm=fabf61a0cdc8e8b6b8ec33e9ec46aefed01672b6d4e9a6208020e6b9be7f8fbe0e38cc9577df&scene=21#wechat_redirect)
* [OpenResearcher:一个开源科学研究AI助理](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485934&idx=1&sn=3a35078ecfcec51014c24c1db9b2aaa3&chksm=fabf61b4cdc8e8a2cb0ef16fb0fd2bc2d3a3fdc42aef63e106152e55a6fbbf78c78c6b8f5c7a&scene=21#wechat_redirect)
* [NeuralGCM: 一种融合机器学习与物理原理来模拟地球大气的新方法](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485904&idx=1&sn=966cf544765b492436d42cfca66f3a7b&chksm=fabf618acdc8e89c59257b1150cf76ef8fe197ffbf390b7b4736b65ae3ba97c90c4d6d256b2b&scene=21#wechat_redirect)
* [Transformer Explainer:文本生成模型交互式可视化工具](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485859&idx=1&sn=e82c8ab4a071b123f4f3ab98eda381ec&chksm=fabf61f9cdc8e8ef2ba9dd265729eb51bdade88d69c57d4810771dc7d24af1521a5bd08dccf6&scene=21#wechat_redirect)
* [用于探索性数据分析(EDA)的开源python库](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485827&idx=1&sn=295572d805a167c620d0136b67c0aded&chksm=fabf61d9cdc8e8cfb8f3a26163daa4e94e5a8ce990e588f0e1880d1999f909f81d6a0bc28684&scene=21#wechat_redirect)
* [分享一个构建交互式D3js可视化的Python库](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485786&idx=1&sn=6a32cdd45a98b242fd8269b84f441448&chksm=fabf6100cdc8e8162e65c352f762665271ebf42a46345c7d0270ea72494c4c7068637ca7f21e&scene=21#wechat_redirect)
* [推荐15个图网络可视化python软件包](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485733&idx=1&sn=d75b69b4805f0b286026c663c1a934d2&chksm=fabf617fcdc8e869e3844db959192ef3fbae7a4faa703d54eabe7f81cdc5ec523d77fce589dc&scene=21#wechat_redirect)
* [9个提升科研效率的软件工具](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485691&idx=1&sn=9abc8927c179d0cf53eb4f04207820aa&chksm=fabf60a1cdc8e9b7c22e58b854e2a09e588742f59ff2207e437b69fb07362ba3ec381202c488&scene=21#wechat_redirect)
* [生成式人工智能模型颠覆传统天气预报](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485653&idx=1&sn=cfb223fb24824c01c773933c181969b8&chksm=fabf608fcdc8e999f74763593dd0f55b51a4776991060b28dfec146643b7f61ac0bc5d868133&scene=21#wechat_redirect)
* [分享5个python可视化图表工具](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485646&idx=1&sn=f1e740630334f88ef991439822b27fd3&chksm=fabf6094cdc8e9822c58338d80d5ef00f4f135bdcac2f9b893159701e789d37f44e90e4e0183&scene=21#wechat_redirect)
* [分享17个网络(Network)数据可视化工具](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485619&idx=1&sn=44696f7c089da0419bfa21ed181a6835&chksm=fabf60e9cdc8e9ff042c28395f16709da29f6ac0ab78d455cab018001d7264d39121fc5baa37&scene=21#wechat_redirect)
* [Napari:一个支持分析大型多维图像数据集的python工具](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485541&idx=1&sn=d80dec83191b3be53e3f6ee96099362b&chksm=fabf603fcdc8e9292a037159d9ab9ad06e63cfa3ef1d597c6b82bd8a487d60f686f707f5047e&scene=21#wechat_redirect)
* [地理空间数据分析可视化R软件包汇总](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485508&idx=1&sn=1aab2f8294b4dcdfdb864322833411b0&chksm=fabf601ecdc8e908d25a3d5d92806b27e7a1596bd792df7fc0b5c655825010ac4816deb919d0&scene=21#wechat_redirect)
* [大气海洋科学数据可视化案例集#2](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485494&idx=1&sn=ebe606ff1a13883d7534bd7b13f71653&chksm=fabf606ccdc8e97a668cfe1e2dd03ca028a1f4db140dfa24dd45bdc82d0fdd37e85e533f494f&scene=21#wechat_redirect)
* [一个快速检索和下载NASA地球科学数据的Python软件包](https://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485332&idx=1&sn=1ab4dc70f4bf5ea2e1c66843d602bb5f&scene=21#wechat_redirect)
* [可视化呈现海洋洋流-墨西哥湾流](https://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485413&idx=1&sn=3ac351d5a5a06ddee614e9a2ef313d39&scene=21#wechat_redirect)
* [探索NOAA提供的数据产品资源](https://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485448&idx=1&sn=d7ecc36be97f154af4153037e82be1ab&scene=21#wechat_redirect)
* [全球海洋船舶定位数据交互式可视化(附数据)](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485165&idx=1&sn=c8c0b1018e8ebc0436ea03b65c5843bd&chksm=fabf6eb7cdc8e7a1c0beb16139174a4618738ba6a777d1386245c2d93856756d8bf151abf90e&scene=21#wechat_redirect)
* [地球科学领域开源python包#1](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247484833&idx=1&sn=bd4f827df3baed8d344c33c42f0ecccf&chksm=fabf6dfbcdc8e4ed3a0673b09e83f08b4333fa1617dd4e749b8ed0a90b7e3f4721ce01a71c71&scene=21#wechat_redirect)
* [地球科学领域开源python包#2](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247484867&idx=1&sn=5d1c8c4a37109630fba96654efe669a9&chksm=fabf6d99cdc8e48f6adce51ae82ecddfc7ca3ca0e754fd9a9ecb82e046c227353227ec5a929e&scene=21#wechat_redirect)
* [大规模空间矢量数据可视化Python库-lonboard](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247484935&idx=1&sn=1c24c747aa6cf7ee0ef22da56640d9c9&chksm=fabf6e5dcdc8e74b4f64bd6f193a29f3853a5c1e8b169bde237f958327edae07fc760461445c&scene=21#wechat_redirect)
* [可视化呈现2023年是有气象记录以来最热的一年](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247484982&idx=1&sn=1c37f6dff58570ff2b821f91c6776dc1&chksm=fabf6e6ccdc8e77a9640a30835cb7457e3eee2d951490e763f5c74f9280526a46897090ee7cb&scene=21#wechat_redirect)
* [大气海洋科学数据可视化案例集#1](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485054&idx=1&sn=086399b206e9ac29fb0583186dbd1665&chksm=fabf6e24cdc8e7329f9c1e7ef2a62bab78860f351916cd703be218690e620767814c0207722b&scene=21#wechat_redirect)
* [地球科学领域计算分析开源Julia软件包](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485098&idx=1&sn=507ce6d9353865edb44c7ae255078856&chksm=fabf6ef0cdc8e7e68650e02472f21799a4ca0f606f9305ffa0838ff9b9d4a6e4bf6862d5d162&scene=21#wechat_redirect)
* [地球观测数据可视化工具](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485142&idx=1&sn=a84720e5cbd8d732c74a3b9abca30922&chksm=fabf6e8ccdc8e79a39684dbb8a9860741f826f18f619fb2037d71a2b70ab33c2614516873124&scene=21#wechat_redirect)
* [地球科学领域计算分析开源Julia软件包](http://mp.weixin.qq.com/s?__biz=MzUzMTcyNjY0NQ==&mid=2247485098&idx=1&sn=507ce6d9353865edb44c7ae255078856&chksm=fabf6ef0cdc8e7e68650e02472f21799a4ca0f606f9305ffa0838ff9b9d4a6e4bf6862d5d162&scene=21#wechat_redirect)
1950至2018年间全球热带气旋路径和强度可视化
https://blog.scidatalab.net/posts/1950至2018年间全球热带气旋路径和强度可视化/
作者
Echo
发布于
2019-10-06
许可协议
CC BY-NC-SA 4.0