地理空间索引

对地理空间数据进行索引的选项

Redis 支持两种不同的地理空间数据模式类型

  • GEO:这使用一种简单格式,其中单个地理空间点指定为数字经度-纬度对。
  • GEOSHAPE:这使用 Well-Known Text (WKT) 格式的子集,使用地理坐标或笛卡尔坐标指定点和多边形。

以下部分解释了如何为这些模式类型创建索引。有关这两种类型的完整说明,请参阅地理空间参考页。

GEO

以下命令为包含地理空间数据且字段名为 location 的 JSON 对象创建一个 GEO 索引

如果您现在添加带有 product: 前缀和 location 字段的 JSON 对象,它们将自动添加到索引中

以下查询查找位于 Colorado Springs(经度=-104.800644,纬度=38.846127)100 英里半径范围内的产品。这仅返回丹佛的位置,但 200 英里的半径也会包括柯林斯堡的位置

有关可用选项的更多信息,请参阅地理空间查询

GEOSHAPE

以下命令为包含地理空间数据且字段名为 geom 的 JSON 对象创建索引。字段定义末尾的 FLAT 选项指定使用笛卡尔坐标而不是默认的球面地理坐标。使用 SPHERICAL 代替 FLAT 来明确选择坐标空间。

对 JSON 对象使用 shape: 前缀将其添加到索引中

您现在可以对索引运行各种地理空间查询。例如,以下查询返回绿色方框边界内的任何形状,但省略绿色方框本身

您还可以运行查询来查找索引中的形状是否完全包含或相互重叠。有关更多信息,请参阅地理空间查询

为此页评分
返回顶部 ↑