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

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

内部逻辑是什么?我应该如何选择minBitsResolutionnumBitsIncrement

谢谢。

最佳答案

如果您只想从GeohashUtils.decomposeGeometry中获取6个字母的哈希,则可以传入ResolutionRange(30, 30, 0)

decomposeGeometry方法可以返回可变大小的地理哈希。例如,分解整个笛卡尔平面可以返回为2个1位地理哈希,4个2位地理哈希等。对于不规则多边形,多边形的内部通常可以用较粗的geohash表示,而不会损失精度,而边缘区域可以使用更细的土工哈希,以最大程度地减少多余的,不重叠的区域。这在GeoMesa文档的visualization中更容易理解。

ResolutionRange参数定义可接受的输出地理哈希值大小,提供最小的哈希哈希值分辨率,最大分辨率以及从一种分辨率转换到另一种分辨率时的步长增量。

关于java - Geomesa-utils:如何选择ResolutionRange,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58731260/

10-11 04:41