• 地理形状

    地理形状

    地理形状(geo-shapes)使用一种与地理坐标点完全不同的方法。
    我们在计算机屏幕上看到的圆形并不是由完美的连续的线组成的;而是用一个个连续的像素点来画出的一个近似圆。
    地理形状的工作方式就与此相似。

    复杂的形状 — 比如 点集,线,多边形,多多变形,中空多边形等 — 都是通过一个个 geohash单元来画出的。
    这些形状会转化为一个被它所覆盖到的 geohash 集合。

    注意

    实际上,有两种类型的格子模式能用于地理星座:
    默认是使用我们之前讨论过的 geohash;另外还有一种是 象限4叉树(quad trees)。
    象限4叉树和geohash类似,只不过它每个层级都是4个单元(而不是像geohash一样的32个)。
    这种不同取决于编码方式的选择。

    组成一个形状的 geohash 都作为一个组索引在一起。
    有这些信息,通过查看是否有相同的geohash 单元,就可以很轻易地检查两个形状是否有交集。

    地理形状有这些用处:判断查询的形状与索引的形状的关系;这些关系可能是以下之一:

    • intersects::

      查询的形状与索引形状有重叠(默认)。

    • disjoint::

      查询的形状与索引的形状完全不重叠。

    • within::

      索引的形状完全被包含在查询形状中。

    注意

    地理形状不能用语计算距离、排序、打分以及聚集。