函数用于处理 S2 索引
S2Index
S2 是一种地理索引系统,其中所有地理数据都在球体上表示(类似于地球仪)。
在 S2 库中,点被表示为 S2 索引——一个特定的数字,它在内部编码了单位球表面上的一个点,不同于传统的(纬度,经度)对。要获取指定为 (纬度,经度) 格式的给定点的 S2 点索引,使用 geoToS2 函数。此外,您可以使用 s2ToGeo 函数来获取与指定的 S2 点索引对应的地理坐标。
geoToS2
返回与提供的坐标 (经度, 纬度)
对应的 S2 点索引。
语法
参数
返回值
- S2 点索引。UInt64。
示例
查询:
结果:
s2ToGeo
返回与提供的 S2 点索引对应的地理坐标 (经度, 纬度)
。
语法
参数
s2index
— S2 索引。UInt64。
返回值
示例
查询:
结果:
s2GetNeighbors
返回与提供的 S2 对应的 S2 邻居索引。在 S2 系统中,每个单元格是一个由四条测地线包围的四边形。因此,每个单元格有 4 个邻居。
语法
参数
s2index
— S2 索引。UInt64。
返回值
示例
查询:
结果:
s2CellsIntersect
确定两个提供的 S2 单元格是否相交。
语法
参数
siIndex1
,s2index2
— S2 索引。UInt64。
返回值
示例
查询:
结果:
s2CapContains
确定一个帽子是否包含一个 S2 点。帽子表示由平面切割的球体的一部分。它由球体上的一个点和一个以度为单位的半径定义。
语法
参数
返回值
示例
查询:
结果:
s2CapUnion
确定包含给定两个输入帽子的最小帽子。帽子表示由平面切割的球体的一部分。它由球体上的一个点和一个以度为单位的半径定义。
语法
参数
返回值
示例
查询:
结果:
s2RectAdd
增加边界矩形的大小,以包含给定的 S2 点。在 S2 系统中,矩形由一种称为 S2LatLngRect
的 S2Region 类型表示,该类型代表纬度-经度空间中的矩形。
语法
参数
s2PointLow
— 对应于矩形的低 S2 点索引。UInt64。s2PointHigh
— 对应于矩形的高 S2 点索引。UInt64。s2Point
— 要包含的目标 S2 点索引。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。
示例
查询:
结果: