メインコンテンツまでスキップ
メインコンテンツまでスキップ

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

戻り値

  • 4つの隣接インデックス (array[s2index1, s2index3, s2index2, s2index4]) から成る配列。 Array (UInt64)。

クエリ:

結果:

s2CellsIntersect

提供された2つの S2 セルが交差するかどうかを判断します。

構文

引数

  • s2index1, s2index2 — S2インデックス。 UInt64

戻り値

  • 1 — セルが交差する場合。 UInt8
  • 0 — セルが交差しない場合。 UInt8

クエリ:

結果:

s2CapContains

キャップがS2ポイントを含むかどうかを判断します。キャップは、平面によって切り取られた球の一部を表します。これは、球の上の点と度数で定義される半径によって決まります。

構文

引数

  • center — キャップに対応するS2ポイントインデックス。 UInt64
  • degrees — キャップの半径(度数)。 Float64
  • point — S2ポイントインデックス。 UInt64

戻り値

  • 1 — キャップがS2ポイントインデックスを含む場合。 UInt8
  • 0 — キャップがS2ポイントインデックスを含まない場合。 UInt8

クエリ:

結果:

s2CapUnion

与えられた2つの入力キャップを含む最小のキャップを決定します。キャップは、平面によって切り取られた球の一部を表します。これは、球の上の点と度数で定義される半径によって決まります。

構文

引数

  • center1, center2 — 2つの入力キャップに対応するS2ポイントインデックス。 UInt64
  • radius1, radius2 — 2つの入力キャップの半径(度数)。 Float64

戻り値

  • center — 2つの入力キャップを含む最小のキャップの中心に対応するS2ポイントインデックス。 UInt64
  • radius — 2つの入力キャップを含む最小のキャップの半径。 Float64

クエリ:

結果:

s2RectAdd

与えられたS2ポイントを含むように境界矩形のサイズを増やします。S2システムでは、矩形はS2Regionの一種である S2LatLngRect によって表され、緯度-経度空間の矩形を表します。

構文

引数

  • s2PointLow — 矩形に対応する低いS2ポイントインデックス。 UInt64
  • s2PointHigh — 矩形に対応する高いS2ポイントインデックス。 UInt64
  • s2Point — 境界矩形が成長して含むべきターゲットS2ポイントインデックス。 UInt64

戻り値

  • s2PointLow — 成長した矩形に対応する低いS2セルID。 UInt64
  • s2PointHigh — 成長した矩形に対応する高いS2セルID。 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 — 第二の矩形に対応する低いおよび高いS2ポイントインデックス。 UInt64

戻り値

  • s2UnionRect2PointLow — 和矩形に対応する低いS2セルID。 UInt64
  • s2UnionRect2PointHi — 和矩形に対応する高いS2セルID。 UInt64

クエリ:

結果:

s2RectIntersection

この矩形と与えられた矩形の交差部分を含む最小の矩形を返します。S2システムでは、矩形はS2Regionの一種である S2LatLngRect によって表され、緯度-経度空間の矩形を表します。

構文

引数

  • s2Rect1PointLow, s2Rect1PointHi — 第一の矩形に対応する低いおよび高いS2ポイントインデックス。 UInt64
  • s2Rect2PointLow, s2Rect2PointHi — 第二の矩形に対応する低いおよび高いS2ポイントインデックス。 UInt64

戻り値

  • s2UnionRect2PointLow — 与えられた矩形の交差を含む矩形に対応する低いS2セルID。 UInt64
  • s2UnionRect2PointHi — 与えられた矩形の交差を含む矩形に対応する高いS2セルID。 UInt64

クエリ:

結果: