首页 > 解决方案 > 计算周围的索引键

问题描述

我正在尝试检索与我当前位置直接相邻的 H3 索引键。我想知道这是否可以通过直接改变/计算坐标来完成,或者我是否必须使用库绑定来做到这一点?

举个例子:

./bin/geoToH3 --resolution 6 --latitude 43.6533055 --longitude -79.4018915

这将返回 key 862b9bc77ffffff。我现在想检索所有相关的 6 个邻居键(我相信 kRing 的值是如何描述它的?)。

一个切线但同样好奇的问题可能会使上述问题变得无关紧要:如果我试图查询具有所有 7 个索引的条目,有没有比使用 OR 语句查找所有 7 个值更好的方法?由于索引是数字的,我想知道是否可以检查数字表示中的范围?

标签: h3

解决方案


简短的回答是您需要使用kRing(通过绑定或命令行工具)来获取邻居。虽然在某些有限的情况下,您可以通过对索引进行位操作来获取邻居,但在许多情况下,邻居的数字索引可能很远。基本规则是,虽然数字上接近的索引在地理上接近,但反过来不一定正确。

出于同样的原因,您通常不能使用范围查询来查找附近的六边形。一般查找模式是使用 查找代码中感兴趣的相邻单元格kRing,然后在数据库中查询所有这些单元格。


推荐阅读