H3六角形不匹配

问题描述

我正在尝试将polyfill函数与Python的h3实现一起使用,但是我收到了意外的结果。

如果我使用固定分辨率的函数,则可以获取显示一个多边形网格,如上所示。

enter image description here

但是当我想创建更精确的网格时,例如Uber为文档制作的网格:

enter image description here

我得到奇怪的结果。

我已经使用与以前相同的方法创建了网格,但精度更高(12),然后使用compact函数对六边形进行了分组。

hexagons = h3.polyfill(json_poly,8,False)
hex_com = h3.compact(hexagons)

结果是这样,在这里我可以看到一些未被六角形覆盖的区域。

enter image description here

关于为什么会发生这种情况的任何线索吗?

我使用的方法是否有问题?

解决方法

在此处查看答案:https://github.com/uber/h3-js/issues/99#issuecomment-710659522

紧凑算法本质上是一种数据压缩算法-它以压缩形式表示压缩集,可用于大面积区域的有效数据存储/传输,某些查找算法等。但是,由于图像不完全包含基于六边形的网格系统,因此,压缩集中的单元格无法覆盖未压缩集中的区域,如图所示。

通常,除非出于特殊原因要压缩数据,否则通常要使用固定分辨率的数据表示形式。