🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## 地理形状 地理形状(geo-shapes)使用一种与地理坐标点完全不同的方法。 我们在计算机屏幕上看到的圆形并不是由完美的连续的线组成的;而是用一个个连续的像素点来画出的一个近似圆。 地理形状的工作方式就与此相似。 复杂的形状 -- 比如 点集,线,多边形,多多变形,中空多边形等 -- 都是通过一个个 geohash单元来画出的。 这些形状会转化为一个被它所覆盖到的 geohash 集合。 > 注意 > 实际上,有两种类型的格子模式能用于地理星座: > 默认是使用我们之前讨论过的 geohash;另外还有一种是 象限4叉树(_quad trees_)。 > 象限4叉树和geohash类似,只不过它每个层级都是4个单元(而不是像geohash一样的32个)。 > 这种不同取决于编码方式的选择。 组成一个形状的 geohash 都作为一个组索引在一起。 有这些信息,通过查看是否有相同的geohash 单元,就可以很轻易地检查两个形状是否有交集。 地理形状有这些用处:判断查询的形状与索引的形状的关系;这些关系可能是以下之一: - `intersects`:: 查询的形状与索引形状有重叠(默认)。 - `disjoint`:: 查询的形状与索引的形状完全不重叠。 - `within`:: 索引的形状完全被包含在查询形状中。 > 注意 > 地理形状不能用语计算距离、排序、打分以及聚集。