S2 인덱스를 다루는 함수
S2Index
S2는 모든 지리 데이터가 구(지구본과 유사한 구체) 위에 표현되는 지리 인덱싱 시스템입니다.
S2 라이브러리에서는 점을 S2 Index로 표현합니다. 이는 전통적인 (위도, 경도) 쌍과 달리, 단위 구 표면상의 한 점을 내부적으로 인코딩한 특정 숫자입니다. (위도, 경도) 형식으로 지정된 주어진 점에 대한 S2 포인트 인덱스(S2 point index)를 얻으려면 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
제공된 두 S2 셀이 교차하는지 여부를 판단합니다.
구문
인수
siIndex1,s2index2— S2 인덱스. UInt64.
반환 값
예시
쿼리:
결과:
s2CapContains
캡이 S2 포인트를 포함하는지 확인합니다. 캡은 평면에 의해 잘려 나간 구의 일부를 나타냅니다. 구 위의 한 점과 도(°) 단위의 반지름으로 정의됩니다.
구문
인수
center— 캡(cap)에 해당하는 S2 포인트 인덱스. UInt64.degrees— 캡의 반지름(도 단위). Float64.point— S2 포인트 인덱스. UInt64.
반환값
예제
쿼리:
결과:
s2CapUnion
주어진 두 입력 캡(cap)을 모두 포함하는 가장 작은 캡을 계산합니다. 캡은 평면에 의해 잘려 나간 구의 일부를 나타냅니다. 구 위의 한 점과 도 단위의 반지름으로 정의됩니다.
구문
인수
center1,center2— 두 입력 캡(cap)에 해당하는 S2 포인트 인덱스입니다. UInt64.radius1,radius2— 두 입력 캡의 반지름(도 단위)입니다. Float64.
반환값
center— 두 입력 캡을 포함하는 가장 작은 캡의 중심에 해당하는 S2 포인트 인덱스입니다. UInt64.radius— 두 입력 캡을 포함하는 가장 작은 캡의 반지름입니다. Float64.
예제
쿼리:
결과:
s2RectAdd
경계 사각형의 크기를 늘려, 지정한 S2 점을 포함하도록 합니다. S2 시스템에서 사각형은 위도-경도 공간의 사각형을 나타내는 S2LatLngRect라는 S2Region 타입으로 표현됩니다.
Syntax
인수
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 타입으로 표현됩니다.
Syntax
인수
s2Rect1PointLow,s2Rect1PointHi— 첫 번째 사각형에 해당하는 하위 및 상위 S2 포인트 인덱스입니다. UInt64.s2Rect2PointLow,s2Rect2PointHi— 두 번째 사각형에 해당하는 하위 및 상위 S2 포인트 인덱스입니다. UInt64.
반환 값
s2UnionRect2PointLow— 합집합 사각형에 해당하는 하위 S2 셀 ID입니다. UInt64.s2UnionRect2PointHi— 합집합 사각형에 해당하는 상위 S2 셀 ID입니다. UInt64.
예시
쿼리:
결과:
s2RectIntersection
이 사각형과 주어진 사각형의 교집합을 포함하는 최소 사각형을 반환합니다. S2 시스템에서는 사각형을 위도-경도 공간의 사각형을 나타내는 S2Region 타입인 S2LatLngRect로 표현합니다.
구문
인수
s2Rect1PointLow,s2Rect1PointHi— 첫 번째 사각형에 해당하는 낮은 S2 포인트 인덱스와 높은 S2 포인트 인덱스입니다. UInt64.s2Rect2PointLow,s2Rect2PointHi— 두 번째 사각형에 해당하는 낮은 S2 포인트 인덱스와 높은 S2 포인트 인덱스입니다. UInt64.
반환 값
s2UnionRect2PointLow— 주어진 사각형들의 교차 영역을 포함하는 사각형의 낮은 S2 셀 ID입니다. UInt64.s2UnionRect2PointHi— 주어진 사각형들의 교차 영역을 포함하는 사각형의 높은 S2 셀 ID입니다. UInt64.
예시
쿼리:
결과: