S2インデックスを使用した作業のための関数
S2Index
S2は、すべての地理データが球体上に表現される地理インデックスシステムです(地球儀に似ています)。
S2ライブラリでは、ポイントはS2インデックスとして表現され、これはユニットスフィアの表面上のポイントを内部的にエンコードする特定の数値です(従来の(緯度、経度)のペアとは異なります)。指定された(緯度、経度)形式のポイントに対するS2ポイントインデックスを取得するには、geoToS2関数を使用します。また、指定されたS2ポイントインデックスに対応する地理座標を取得するには、s2ToGeo関数を使用できます。
geoToS2
提供された座標 (longitude, latitude)
に対応するS2ポイントインデックスを返します。
構文
引数
戻り値
- S2ポイントインデックス。 UInt64。
例
クエリ:
結果:
s2ToGeo
提供されたS2ポイントインデックスに対応する地理座標 (longitude, latitude)
を返します。
構文
引数
s2index
— S2インデックス。 UInt64。
戻り値
例
クエリ:
結果:
s2GetNeighbors
提供されたS2に対応するS2隣接インデックスを返します。S2システムの各セルは四つの測地線によって囲まれた四辺形です。したがって、各セルには4つの隣接があります。
構文
引数
s2index
— S2インデックス。 UInt64。
戻り値
例
クエリ:
結果:
s2CellsIntersect
提供された2つのS2セルが交差するかどうかを判断します。
構文
引数
s2index1
,s2index2
— S2インデックス。 UInt64。
戻り値
例
クエリ:
結果:
s2CapContains
キャップがS2ポイントを含むかどうかを判断します。キャップは、平面によって切り取られた球の一部を表します。これは、球上の一点と度数での半径によって定義されます。
構文
引数
center
— キャップに対応するS2ポイントインデックス。 UInt64。degrees
— キャップの半径(度)。 Float64。point
— S2ポイントインデックス。 UInt64。
戻り値
例
クエリ:
結果:
s2CapUnion
与えられた2つの入力キャップを含む最小のキャップを決定します。キャップは、平面によって切り取られた球の一部を表します。これは、球上の一点と度数での半径によって定義されます。
構文
引数
戻り値
例
クエリ:
結果:
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
— 2番目の矩形に対応する低いおよび高いS2ポイントインデックス。 UInt64。
戻り値
例
クエリ:
結果:
s2RectIntersection
この矩形と指定された矩形の交差を含む最小の矩形を返します。S2システムでは、矩形は S2LatLngRect
というタイプのS2Regionによって表され、緯度・経度空間内の矩形を表します。
構文
引数
s2Rect1PointLow
,s2Rect1PointHi
— 最初の矩形に対応する低いおよび高いS2ポイントインデックス。 UInt64。s2Rect2PointLow
,s2Rect2PointHi
— 2番目の矩形に対応する低いおよび高いS2ポイントインデックス。 UInt64。
戻り値
s2UnionRect2PointLow
— 指定された矩形の交差点を含む矩形に対応する低いS2セルID。 UInt64。s2UnionRect2PointHi
— 指定された矩形の交差点を含む矩形に対応する高いS2セルID。 UInt64。
例
クエリ:
結果: