4 个版本 (2 个重大变更)

0.3.1 2023年5月1日
0.3.0 2023年4月28日
0.2.0 2023年1月29日
0.1.0 2022年9月21日

#688 in 数据结构

MIT/Apache

58KB
1K SLoC

CI Documentation

HexTree

hextree提供了用H3单元表示地理区域的树结构。

主要结构包括

  • HexTreeMap:H3单元到值的映射。
  • HexTreeSet:用于碰撞检测的H3单元集合。

可以将HexTreeMapHexTreeSet视为与HashMapHashSet类似。

这与HashMap<H3Cell, V>有何不同?

hextree的关键特性是其键(H3单元)是分层的。例如,如果您之前插入了一个低分辨率单元的条目,但后来查询一个更高分辨率的子单元,则树返回低分辨率单元的值。此外,通过压缩,树可以自动将相邻的高分辨率单元合并到其父单元中。对于非常大的区域,压缩过程可以继续到最低分辨率单元(res-0),可能从树中删除数百万个冗余单元。例如,表示北美的一个由4,795,661个res-7单元组成的集合,合并为一个包含42,383个元素的HexTreeSet

hextree的内部结构正好符合H3单元的语义。树的根有122个分辨率-0节点,接着是15级的7叉节点。占用节点或叶子节点的级别与其对应的H3单元分辨率相同。

功能

  • serde:通过serde进行序列化的支持。

许可证

许可协议为以下之一

由您选择。

贡献

除非您明确表示,否则根据Apache-2.0许可证定义的您有意提交以包含在作品中的任何贡献,应如上双许可,不附加任何额外条款或条件。

依赖项

~175KB