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
.
这里面的逻辑是什么? minBitsResolution
和numBitsIncrement
应该怎么选择?
谢谢。
如果您只需要来自 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 分辨率、最大分辨率以及从一个分辨率到下一个分辨率的步长增量。
使用 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
.
这里面的逻辑是什么? minBitsResolution
和numBitsIncrement
应该怎么选择?
谢谢。
如果您只需要来自 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 分辨率、最大分辨率以及从一个分辨率到下一个分辨率的步长增量。