问题描述
我正在尝试将polyfill
函数与Python的h3
实现一起使用,但是我收到了意外的结果。
如果我使用固定分辨率的函数,则可以获取并显示一个多边形网格,如上所示。
但是当我想创建更精确的网格时,例如Uber为文档制作的网格:
我得到奇怪的结果。
我已经使用与以前相同的方法创建了网格,但精度更高(12),然后使用compact
函数对六边形进行了分组。
hexagons = h3.polyfill(json_poly,8,False)
hex_com = h3.compact(hexagons)
结果是这样,在这里我可以看到一些未被六角形覆盖的区域。
关于为什么会发生这种情况的任何线索吗?
我使用的方法是否有问题?
解决方法
在此处查看答案:https://github.com/uber/h3-js/issues/99#issuecomment-710659522
紧凑算法本质上是一种数据压缩算法-它以压缩形式表示压缩集,可用于大面积区域的有效数据存储/传输,某些查找算法等。但是,由于图像不完全包含基于六边形的网格系统,因此,压缩集中的单元格无法覆盖未压缩集中的区域,如图所示。
通常,除非出于特殊原因要压缩数据,否则通常要使用固定分辨率的数据表示形式。