5

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

如果我使用固定分辨率的函数,我可以得到并显示一个多边形网格,如上图所示。 在此处输入图像描述

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

在此处输入图像描述

我得到了奇怪的结果。

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

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

结果就是这样,我可以看到一些没有被任何六边形覆盖的区域。

在此处输入图像描述

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

我使用的方法有问题吗?

4

1 回答 1

3

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

compact算法本质上是一种数据压缩算法——它以压缩的形式表示compacted set,可用于大面积的高效数据存储/传输,一些lookup算法等。但是compacted set中的cell不覆盖如图所示,未压缩集的区域是由于基于六边形的网格系统的不完美分层包含。

通常,您会希望使用固定分辨率的数据表示,除非您出于特定原因对其进行压缩。

于 2020-10-31T00:47:28.210 回答