A5 v1.0 | A5

Lobsters Hottest 工具

摘要

A5 v1.0 发布,这是一个用六十四位整数表示全球任意位置的离散全球网格系统(DGGS),本次版本冻结了网格布局与单元 ID,并新增 coverings 集合运算等高效数据处理功能。

<p><a href="https://lobste.rs/s/wtthju/a5_v1_0_a5">评论</a></p>
查看原文
查看缓存全文

缓存时间: 2026/10/19 14:01

# A5 v1.0 来源:https://a5geo.org/blog/2026/10/14/a5-v1 由五边形单元飞向地球的 A5 标志 距离 A5 首次发布已经过去了 18 个月。这个最初作为可视化实验(以及对五边形的痴迷)而诞生的项目,如今已成长为一个实用的工具,并在 [丰富的库、工具和软件生态](https://a5geo.org/docs/ecosystem) 中蓬勃发展。 今天我非常高兴地宣布 A5 的 `v1.0` 版本正式发布,带来了 [一系列强大的新功能和性能提升](https://a5geo.org/docs/whats-new),同时也 [确定了网格和索引的定义](https://a5geo.org/docs/upgrade-guide),为未来奠定了基础。 如果你还不了解 A5,简单来说,它是一个网格系统,可以将地球上任意位置、线条或面域表示为一个五边形单元(或一组单元),每个单元以紧凑的 64 位整数表示。 这个领域的专业术语叫离散全球网格系统(Discrete Global Grid System,简称 DGGS),目前已有多个类似的系统在为全球最大的公司和数据分析流程提供支持。 一个使用 A5 的具体应用示例是 [FIRMS Explorer](https://portolan-mirrors.github.io/firms-catalog/),它使用 A5 汇总了自 2000 年以来全球 6.31 亿个火灾探测点。 FIRMS Explorer:全球火灾探测点汇总到 A5 单元 ## 面向未来的稳定平台 (https://a5geo.org/blog/2026/10/14/a5-v1#stable-platform-for-the-future) 从 `v1.0` 开始,我们承诺网格布局和单元 ID 将从此保持冻结。虽然系统仍将持续演进和扩展,例如添加更多实用函数,但核心定义将保持不变,确保应用程序、数据库和工作流可以长期依赖 A5 单元 ID 来表示特定的地理位置。 围绕该项目的社区也在不断壮大,尤其是 [DuckDB](https://query.farm/products/extensions/a5/) 和 [R](https://belian-earth.github.io/a5R/dev/index.html) 实现——这两个精美的网站甚至可以和 A5 官方网站媲美!因此,今后 A5 官方网站的文档将在官方支持的 TypeScript、Rust 和 Python 库之外,同时提供这些语言的代码片段和 API 文档。 ## 新功能一览 (https://a5geo.org/blog/2026/10/14/a5-v1#whats-new) ### 紧凑数据处理 (https://a5geo.org/blog/2026/10/14/a5-v1#compacted-data-processing) `v1.0` 新增了一整套用于处理单元集合的函数,即 [覆盖区域(coverings)](https://a5geo.org/docs/api-reference/coverings)。 使用集合运算构建的覆盖区域,以其紧凑单元形式展示 处理覆盖区域时,现在可以使用集合运算:[`union`](https://a5geo.org/docs/api-reference/coverings#union)、[`intersect`](https://a5geo.org/docs/api-reference/coverings#intersect) 和 [`difference`](https://a5geo.org/docs/api-reference/coverings#difference);谓词函数:[`contains`](https://a5geo.org/docs/api-reference/coverings#contains) 和 [`overlaps`](https://a5geo.org/docs/api-reference/coverings#overlaps);以及度量函数:[`count`](https://a5geo.org/docs/api-reference/coverings#count) 和 [`area`](https://a5geo.org/docs/api-reference/coverings#area)。 通过使用紧凑数据和这些运算,无需像之前那样解压数据即可高效处理数十亿个单元。一个典型的工作流可能是:将多个数据库查询结果的覆盖区域取并集,再与多边形或球冠取交集,然后对一组点集按照结果覆盖区域进行过滤。参见 [示例工作流](https://a5geo.org/docs/api-reference/coverings#example-processing-flow)。 ### 空间层级函数 (https://a5geo.org/blog/2026/10/14/a5-v1#spatial-hierarchy-functions) 从几何角度来看,无法将一个 A5 五边形精确地分割为更多五边形并使它们完全重叠——六边形也是如此。这与四边形和三角形不同,后者可以被精确地分割。因此,A5 的层级结构是逻辑层面的,而非严格的空间嵌套。 为支持重采样等操作,新增了 [`cellToSubcells`](https://a5geo.org/docs/api-reference/hierarchy#celltosubcells) 函数。虽然它比 `cellToChildren` API 慢,但能产生基于质心的正确覆盖区域。逆向函数 [`cellToSupercell`](https://a5geo.org/docs/api-reference/hierarchy#celltosupercell) 也同样可用。 A5 单元的子单元:中心点位于其内部的更细粒度单元 ### 等面积特性 (https://a5geo.org/blog/2026/10/14/a5-v1#equal-area) A5 的一个关键优势一直是保证在给定分辨率下每个单元的面积**完全**相等,这意味着使用该系统进行的任何分析都 [不会因单元大小不等而产生偏差](https://a5geo.org/docs/recipes/a5-vs-h3)。`v1.0` 的新特性是,所有分辨率下的所有单元都具有相同的五边形拓扑结构。这与六边形 DGGS 不同——后者必须包含 12 个五边形单元,这会使拓扑复杂化并破坏纯粹的等面积保证。 ## 活跃的生态系统 (https://a5geo.org/blog/2026/10/14/a5-v1#vibrant-ecosystem) 网格系统的一个重要特征是它在工业界和学术界各种工具和软件中的支持程度。通过标准化网格和单元标识符的定义,数据可以在不同系统和应用之间轻松迁移。例如,上面的 FIRMS Explorer 就使用了以下工具构建: - [Geoparquet.io](https://geoparquet.io/) 进行 [数据聚合](https://geoparquet.io/concepts/spatial-indices/?h=a5#a5-cells):`gpio add a5 input.parquet output.parquet --resolution 5` - [Portolan](https://www.portolan-sdi.org/) 进行数据托管 - a5-js 和 deck.gl 中的 [A5Layer](https://deck.gl/docs/api-reference/geo-layers/a5-layer) 进行可视化 除了 [DuckDB](https://query.farm/products/extensions/a5/)、[R](https://belian-earth.github.io/a5R/dev/index.html)、[QGIS](https://plugins.qgis.org/plugins/vgridtools/) 等流行系统的各种实现之外,现在构建和尝试 A5 比以往任何时候都更加容易。如果你想参与贡献,或者有任何问题——欢迎加入 [Slack 频道](https://join.slack.com/t/a5-3ap4392/shared_invite/zt-35rpdc904-2vcsoikrJKFRJF7ncN1fmw)! ## 底层实现 (https://a5geo.org/blog/2026/10/14/a5-v1#under-the-hood) 过去 18 个月中,A5 的内部实现和 API 都得到了持续优化。 ### Teohedral 空间填充曲线 (https://a5geo.org/blog/2026/10/14/a5-v1#teohedral-space-filling-curve) 大多数其他改进都源于一个关键变更:实现了(或者说,发现!)一条新的 [teohedral](https://a5geo.org/docs/technical/teohedron) [空间填充曲线](https://a5geo.org/examples/teohedral-curve),它定义了单元的索引顺序。新的曲线遍历整个世界,从不与自身相交,同时还能对单元进行分组,使其形成(近似的)空间层级结构。 Teohedral 曲线遍历十二面体的 12 个面 不与自身相交这一特性对于在其之上构建的各种算法至关重要。例如,在用单元填充多边形时,我们可以立即推断出哪些单元位于区域内部,而无需进行代价高昂的泛洪填充。这是因为边界在全局空间填充曲线上充当了一组切割点——如果我们知道这些点,就可以轻松填充其间的单元。 以下基准测试颇具参考价值: polygonToCells 执行时间 vs 结果单元数量,对比旧版/新版 A5、H3 和 S2 *测量方法:每个点代表一次以某个分辨率填充国家轮廓(来自 A5 测试夹具的英国、法国、巴西、美国和澳大利亚)的调用,使用原生库计时:A5 1.0.0 和 0.10.1(Rust crates,rustc 1.87)、H3 4.5.0(C 库,通过 h3-py 的 NumPy API)和 S2(C++ 库,通过 s2geometry 0.14.0 Python 绑定;`S2RegionCoverer` 不设单元数量上限,因此返回目标层级的紧凑覆盖区域)。时间为多次运行中的最快值,超过 2 秒的调用取单次运行时间。测试平台为 Apple M1 Pro。每个库在单次调用超过一分钟(A5 为 6 秒)或单元数量超过十亿后停止计时。* 在 v1 之前,A5 的多边形填充在超过一百万个单元后就变得不切实际地缓慢。目前的 [H3](https://h3geo.org/) 也是如此。相比之下,[S2](https://s2geometry.io/) 可以轻松处理多达十亿个单元,新版本的 A5 同样如此。这绝非巧合——S2 也使用了一条**不**与自身相交的空间填充曲线([Hilbert 曲线](https://en.wikipedia.org/wiki/Hilbert_curve)),而 H3 的索引顺序则没有这种性质。 类似的算法技巧也可以加速其他操作,如交集计算或面积统计。有关这些操作的交互式示例,请参见 [Coverings 示例](https://a5geo.org/examples/coverings)。 ### 单元 ID (https://a5geo.org/blog/2026/10/14/a5-v1#cell-ids) 更换曲线带来的必然结果是单元 ID 发生变化。迁移指南请参见 [升级指南](https://a5geo.org/docs/upgrade-guide)。 ## 致谢与展望 (https://a5geo.org/blog/2026/10/14/a5-v1#thanks--looking-forward) 开发 A5 既有挑战也充满乐趣,也让我与许多聪明的人有了很多精彩的交流。非常感谢所有参与其中的人——无论是基于 A5 构建库、报告 bug,还是仅仅帮忙传播信息。 我对这个主题深感着迷。希望 A5 能在你的工作中发挥作用,也希望网站上的示例能帮助你了解 DGGS 的构建原理。目前我(与几位合作者一起)正在撰写一篇论文,将更严格地阐述 A5 的设计,并与其他 DGGS 库进行对比。 如果你想参与其中,欢迎加入我们的 [Slack 频道](https://join.slack.com/t/a5-3ap4392/shared_invite/zt-35rpdc904-2vcsoikrJKFRJF7ncN1fmw)。如果你用 A5 构建了任何东西,请一定要分享!

相似文章

@vintcessun: 程序不是一行行代码,而是一张二维地图?Grid Programs 颠覆了计算模型的直觉:指令在网格上任意排列,指针靠上下左右移动来控制流程,完全不用变量名。为什么重要?这为可视化编程、类细胞自动机硬件和代码混淆打开了全新设计空间,且已证明…

X AI KOLs Timeline

Grid Programs 提出了一种二维网格编程模型,指令在网格上排列,指针通过上下左右移动控制流程,无需变量名,已被证明图灵完备,为可视化编程、细胞自动机硬件和代码混淆开辟了新的设计空间。

Mobile-4DGS:统一的静态-动态实时移动端高斯溅射

Hugging Face Daily Papers

Mobile-4DGS 提出了一个统一的轻量级框架,在资源受限的移动设备上实现高保真、实时的静态与动态高斯溅射渲染。该方法通过压缩外观建模、多视角致密化与剪枝,以及紧凑的显式 4D 表示(含静态-动态划分与深度顺序复用),显著降低了存储和渲染开销,同时保持了有竞争力的视觉质量。

zai-org/GLM-5.2 来了!

Reddit r/LocalLLaMA

Z.AI 发布了 GLM-5.2,这是一款新的旗舰模型,拥有稳定的 1M token 上下文窗口,通过灵活的思考努力增强了编码能力,并通过 IndexShare 改进了架构。该模型在 MIT 开源许可证下发布。

GeoFix:面向4D一致生成的几何修复

Hugging Face Daily Papers

GeoFix提出了一种统一框架,通过单一几何奖励提升4D生成中的几何一致性和视觉质量,该奖励衡量静态区域的跨视角深度一致性,并针对视角重叠效应进行校准,实现了WorldScore 3D一致性提升39%和VBench质量提升4%。

yuxinlu1/gemma-4-12B-coder-fable5-composer2.5-v1-GGUF

Hugging Face Models Trending

针对代码任务的 Gemma 4 12B 专注微调版本,从思维链数据(Composer 2.5 和 Fable 5)中蒸馏而来,并量化为 GGUF 格式,以在本地离线使用,仅需极低 VRAM 要求