Geomesa-utils: Как выбрать ResolutionRange - PullRequest
0 голосов
/ 06 ноября 2019

Используя geomesa-utils для получения геохешей, я передам в качестве параметра ResolutionRange instance. См. https://github.com/locationtech/geomesa/blob/4ef7662cd695008cfd6ed4ee4b4cb0bc45b886cc/geomesa-utils/src/main/scala/org/locationtech/geomesa/utils/geohash/GeohashUtils.scala#L60

Мне нужно получить 6 букв геохеша. После некоторых тестов я обнаружил, что maxBitsResolution должно быть nb letters x 5. Поэтому я установил его на 30.

Какая логика внутри? Как мне выбрать minBitsResolution и numBitsIncrement?

Thx.

1 Ответ

1 голос
/ 06 ноября 2019

Если вы хотите использовать только 6-буквенные геошашки из GeohashUtils.decomposeGeometry, то вы должны передать ResolutionRange(30, 30, 0).

Метод decomposeGeometry может возвращать геохешы переменного размера. Например, разложение всей декартовой плоскости может быть возвращено в виде 2 1-битных геохешей, 4 2-битных геохешей и т. Д. Для нерегулярных полигонов внутренняя часть полигона обычно может быть представлена ​​более грубым геохешем без потери точности, в то время какБолее тонкие геохеша могут быть использованы для краевых областей, чтобы минимизировать дополнительную неперекрывающуюся область. Это легче понять в этой визуализации в документации GeoMesa.

Аргумент ResolutionRange определяет приемлемый размер выходных геохешей, предоставляя минимальное разрешение геохеша, максимальное разрешение ишаг при переходе от одного разрешения к другому.

...