Geomesa-utils:如何选择 ResolutionRange

Geomesa-utils: How to choose ResolutionRange

使用 geomesa-utils 获取 geohashes,我将作为参数传递 ResolutionRange 实例。参见 https://github.com/locationtech/geomesa/blob/4ef7662cd695008cfd6ed4ee4b4cb0bc45b886cc/geomesa-utils/src/main/scala/org/locationtech/geomesa/utils/geohash/GeohashUtils.scala#L60

我需要得到 6 个字母的 geohashes。经过一些测试,我发现 maxBitsResolution 应该是 nb letters x 5 。所以我把它设置为 30.

这里面的逻辑是什么? minBitsResolutionnumBitsIncrement应该怎么选择?

谢谢。

如果您只需要来自 GeohashUtils.decomposeGeometry 的 6 个字母的 geohashes,那么您将传入 ResolutionRange(30, 30, 0).

decomposeGeometry 方法可以 return 可变大小的 geohashes。例如,分解整个笛卡尔平面可以returned为2个1-bit geohashes,4个2-bit geohashes等。对于不规则的多边形,多边形的内部一般可以用更粗略的geohash来表示,没有精度损失,而更精细的 geohashes 可用于边缘区域以最小化额外的非重叠区域。这在 GeoMesa 文档中的 visualization 中更容易理解。

ResolutionRange 参数定义可接受的输出 geohash 大小,提供最小 geohash 分辨率、最大分辨率以及从一个分辨率到下一个分辨率的步长增量。