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 本の測地線で囲まれた四辺形となっています。そのため、各セルには 4 つの隣接セルがあります。
構文
引数
s2index— S2 インデックス。UInt64。
戻り値
例
クエリ:
結果:
s2CellsIntersect
2 つの S2 セルが交差しているかどうかを判定します。
構文
引数
siIndex1,s2index2— S2 インデックス。UInt64。
戻り値
例
クエリ:
結果:
s2CapContains
キャップが S2 ポイントを含むかどうかを判定します。キャップは、平面によって切り取られた球の一部を表します。球面上の 1 点と、度(degree)単位の半径によって定義されます。
構文
引数
center— キャップに対応する S2 ポイントインデックス。UInt64。degrees— キャップの半径(度単位)。Float64。point— S2 ポイントインデックス。UInt64。
戻り値
例
クエリ:
結果:
s2CapUnion
指定された 2 つの入力キャップの両方を含む、最小のキャップを求めます。キャップは、平面で切り取られた球面の一部を表します。球面上の 1 点と、度単位の半径によって定義されます。
構文
引数
center1,center2— 2 つの入力キャップに対応する S2 ポイントインデックス。UInt64。radius1,radius2— 2 つの入力キャップの半径(度単位)。Float64。
戻り値
例
クエリ:
結果:
s2RectAdd
与えられた S2 ポイントを含めるように、バウンディング長方形のサイズを拡大します。S2 システムでは、長方形は緯度経度空間における長方形を表す S2LatLngRect という S2Region 型で表されます。
構文
引数
s2PointLow— 長方形に対応する下限の S2 ポイントインデックス。UInt64。s2PointHigh— 長方形に対応する上限の S2 ポイントインデックス。UInt64。s2Point— 境界長方形を拡張して含める対象となる S2 ポイントインデックス。UInt64。
返り値
例
クエリ:
結果:
s2RectContains
指定された長方形が S2 ポイントを含んでいるかどうかを判定します。S2 システムでは、長方形は緯度・経度空間上の長方形を表す S2Region の一種である S2LatLngRect 型として表現されます。
構文
引数
s2PointLow— 長方形に対応する下限の S2 ポイントインデックス。UInt64。s2PointHigh— 長方形に対応する上限の S2 ポイントインデックス。UInt64。s2Point— 判定対象の S2 ポイントインデックス。UInt64。
戻り値
1— 長方形が指定された S2 ポイントを含む場合。0— 長方形が指定された S2 ポイントを含まない場合。
例
クエリ:
結果:
s2RectUnion
この長方形と指定された長方形の和集合を含む、最小の長方形を返します。S2 システムでは、長方形は緯度・経度空間の長方形を表す、S2Region 型の一種である S2LatLngRect によって表現されます。
構文
引数
s2Rect1PointLow,s2Rect1PointHi— 最初の長方形に対応する S2 ポイントのインデックスの下限値および上限値。UInt64。s2Rect2PointLow,s2Rect2PointHi— 2 番目の長方形に対応する S2 ポイントのインデックスの下限値および上限値。UInt64。
戻り値
s2UnionRect2PointLow— 和集合となる長方形に対応する S2 セル ID の下限値。UInt64。s2UnionRect2PointHi— 和集合となる長方形に対応する S2 セル ID の上限値。UInt64。
例
クエリ:
結果:
s2RectIntersection
この矩形と指定された矩形との交差部分全体を含む、最小の矩形を返します。S2 システムでは、矩形は緯度・経度空間の矩形を表す S2LatLngRect という種類の S2Region で表現されます。
構文
引数
s2Rect1PointLow,s2Rect1PointHi— 第1の矩形に対応する Low および High の S2 ポイントインデックス。UInt64。s2Rect2PointLow,s2Rect2PointHi— 第2の矩形に対応する Low および High の S2 ポイントインデックス。UInt64。
返される値
s2UnionRect2PointLow— 指定された矩形同士の共通部分を含む矩形に対応する Low S2 セル ID。UInt64。s2UnionRect2PointHi— 指定された矩形同士の共通部分を含む矩形に対応する High S2 セル ID。UInt64。
例
クエリ:
結果: