java - Geomesa-utils : How to choose ResolutionRange

标签 java geospatial geohashing geomesa

使用geomesa-utils获取geohash,我将作为参数传递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 个字母 x 5 。所以我将其设置为 30

里面的逻辑是什么?我应该如何选择 minBitsResolutionnumBitsIncrement

谢谢。

最佳答案

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

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

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

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

相关文章:

android - 在 Android 范围内的 Firetore 中查询 GeoHashes

java - 无法使用 GSON 将某些 JSON 解析为 JsonArray

java - 如果重写 equals() 方法,Java 中是否可以比较对类实例的引用?

java - 我什么时候应该使用 Factory<T> 而不是 Provider<T>

r - 使用 R 检查位置是否在一组其他位置的一定距离内

MySQL 地理空间函数来识别矩形是否在非均匀的四边形多边形中有点,反之亦然

java - 同步方法的 ConcurrentModificationException

Spring-MongoDB geonear 不使用额外的字段

javascript - 地理哈希 : How to calculate the eight surrounding boxes

python - 为什么边界框搜索执行时间太长?