跳到主要内容
跳到主要内容

函数用于处理 S2 索引

S2Index

S2 是一种地理索引系统,其中所有地理数据都在球体上表示(类似于地球仪)。

在 S2 库中,点被表示为 S2 索引——一个特定的数字,它在内部编码了单位球表面上的一个点,不同于传统的(纬度,经度)对。要获取指定为 (纬度,经度) 格式的给定点的 S2 点索引,使用 geoToS2 函数。此外,您可以使用 s2ToGeo 函数来获取与指定的 S2 点索引对应的地理坐标。

geoToS2

返回与提供的坐标 (经度, 纬度) 对应的 S2 点索引。

语法

参数

返回值

示例

查询:

结果:

s2ToGeo

返回与提供的 S2 点索引对应的地理坐标 (经度, 纬度)

语法

参数

  • s2index — S2 索引。UInt64

返回值

示例

查询:

结果:

s2GetNeighbors

返回与提供的 S2 对应的 S2 邻居索引。在 S2 系统中,每个单元格是一个由四条测地线包围的四边形。因此,每个单元格有 4 个邻居。

语法

参数

  • s2index — S2 索引。UInt64

返回值

  • 一个包含 4 个邻居索引的数组:array[s2index1, s2index3, s2index2, s2index4]Array(UInt64)。

示例

查询:

结果:

s2CellsIntersect

确定两个提供的 S2 单元格是否相交。

语法

参数

  • siIndex1, s2index2 — S2 索引。UInt64

返回值

  • 1 — 如果单元格相交。UInt8
  • 0 — 如果单元格不相交。UInt8

示例

查询:

结果:

s2CapContains

确定一个帽子是否包含一个 S2 点。帽子表示由平面切割的球体的一部分。它由球体上的一个点和一个以度为单位的半径定义。

语法

参数

  • center — 对应于帽子的 S2 点索引。UInt64
  • degrees — 帽子的半径(以度为单位)。Float64
  • point — S2 点索引。UInt64

返回值

  • 1 — 如果帽子包含 S2 点索引。UInt8
  • 0 — 如果帽子不包含 S2 点索引。UInt8

示例

查询:

结果:

s2CapUnion

确定包含给定两个输入帽子的最小帽子。帽子表示由平面切割的球体的一部分。它由球体上的一个点和一个以度为单位的半径定义。

语法

参数

  • center1, center2 — 对应于两个输入帽子的 S2 点索引。UInt64
  • radius1, radius2 — 两个输入帽子的半径(以度为单位)。Float64

返回值

  • center — 对应于包含两个输入帽子的最小帽子的中心的 S2 点索引。UInt64
  • radius — 包含两个输入帽子的最小帽子的半径。Float64

示例

查询:

结果:

s2RectAdd

增加边界矩形的大小,以包含给定的 S2 点。在 S2 系统中,矩形由一种称为 S2LatLngRect 的 S2Region 类型表示,该类型代表纬度-经度空间中的矩形。

语法

参数

  • s2PointLow — 对应于矩形的低 S2 点索引。UInt64
  • s2PointHigh — 对应于矩形的高 S2 点索引。UInt64
  • s2Point — 要包含的目标 S2 点索引。UInt64

返回值

  • s2PointLow — 对应于扩展矩形的低 S2 单元格 ID。UInt64
  • s2PointHigh — 对应于扩展矩形的高 S2 单元格 ID。UInt64

示例

查询:

结果:

s2RectContains

确定给定矩形是否包含一个 S2 点。在 S2 系统中,矩形由一种称为 S2LatLngRect 的 S2Region 类型表示,该类型代表纬度-经度空间中的矩形。

语法

参数

  • s2PointLow — 对应于矩形的低 S2 点索引。UInt64
  • s2PointHigh — 对应于矩形的高 S2 点索引。UInt64
  • s2Point — 目标 S2 点索引。UInt64

返回值

  • 1 — 如果矩形包含给定的 S2 点。
  • 0 — 如果矩形不包含给定的 S2 点。

示例

查询:

结果:

s2RectUnion

返回包含此矩形与给定矩形的并集的最小矩形。在 S2 系统中,矩形由一种称为 S2LatLngRect 的 S2Region 类型表示,该类型代表纬度-经度空间中的矩形。

语法

参数

  • s2Rect1PointLow, s2Rect1PointHi — 对应于第一个矩形的低和高 S2 点索引。UInt64
  • s2Rect2PointLow, s2Rect2PointHi — 对应于第二个矩形的低和高 S2 点索引。UInt64

返回值

  • s2UnionRect2PointLow — 对应于联合矩形的低 S2 单元格 ID。UInt64
  • s2UnionRect2PointHi — 对应于联合矩形的高 S2 单元格 ID。UInt64

示例

查询:

结果:

s2RectIntersection

返回包含此矩形与给定矩形的交集的最小矩形。在 S2 系统中,矩形由一种称为 S2LatLngRect 的 S2Region 类型表示,该类型代表纬度-经度空间中的矩形。

语法

参数

  • s2Rect1PointLow, s2Rect1PointHi — 对应于第一个矩形的低和高 S2 点索引。UInt64
  • s2Rect2PointLow, s2Rect2PointHi — 对应于第二个矩形的低和高 S2 点索引。UInt64

返回值

  • s2UnionRect2PointLow — 对应于包含给定矩形交集的矩形的低 S2 单元格 ID。UInt64
  • s2UnionRect2PointHi — 对应于包含给定矩形交集的矩形的高 S2 单元格 ID。UInt64

示例

查询:

结果: