다음을 통해 공유


geo_point_to_s2cell()

지리적 위치의 S2 셀 토큰 문자열 값을 계산합니다.

S2 셀은 유용한 지리 공간적 클러스터링 도구일 수 있습니다. S2 셀은 구면 표면의 셀이며 측지 가장자리가 있습니다. S2 셀은 지구 표면을 나누는 계층 구조의 일부입니다. 셀이 세분화된 횟수를 정의하는 0부터 30까지의 최대 31개 수준이 있습니다. 수준은 85,011,012.19km²의 영역 범위가 있는 수준 0에서 가장 큰 범위부터 수준 30에서 0.44 cm²의 가장 낮은 범위까지 다양합니다. S2 셀은 더 높은 수준에서 세분화되므로 셀 중심이 잘 유지됩니다. 두 지리적 위치는 서로 매우 가까울 수 있지만 서로 다른 S2 셀 토큰이 있습니다.

참고

경도 x 및 위도 y에서 계산된 S2 셀 토큰 문자열에서 geo_s2cell_to_central_point() 함수를 호출하는 경우 함수가 x 및 y를 반드시 반환하지는 않습니다.

Syntax

geo_point_to_s2cell(경도,위도, [ level ])

구문 규칙에 대해 자세히 알아봅니다.

매개 변수

이름 형식 필수 Description
longitude real ✔️ 지리 공간 좌표, 경도 값(도)입니다. 유효한 값은 실제 숫자이며 범위 [-180, +180]입니다.
latitude real ✔️ 지리 공간 좌표, 위도 값(도)입니다. 유효한 값은 실수이며 범위 [-90, +90]입니다.
level int 요청된 셀 수준을 정의합니다. 지원되는 값은 [0, 30] 범위에 있습니다. 지정하지 않으면 기본값 11이 사용됩니다.

반환

지정된 지리적 위치의 S2 셀 토큰 문자열 값입니다. 좌표 또는 수준이 잘못된 경우 쿼리는 빈 결과를 생성합니다.

S2 셀 수준 값당 근사 영역 범위

모든 수준에서 S2 셀의 크기는 비슷하지만 정확히 같지는 않습니다. 가까운 셀 크기는 더 같은 경향이 있습니다.

Level 최소 임의 셀 가장자리 길이(영국) 최대 임의 셀 가장자리 길이(미국)
0 7842 km 7842 km
1 3921 km 5004 km
2 1825 km 2489 km
3 840 km 1310 km
4 432 km 636 km
5 210 km 315 km
6 108 km 156 km
7 54 km 78 km
8 27 km 39 km
9 14 km 20 km
10 7 km 10 km
11 3 km 5 km
12 1699 m 2 km
13 850 m 1225 m
14 425 m 613 m
15 212 m 306 m
16 106 m 153 m
17 53 m 77 m
18 27 m 38 m
19 13 m 19 m
20 7m 10분
21 3m 5분
22 166cm 2m
23 83cm 120cm
24 41cm 60cm
25 21cm 30cm
26 10cm 15cm
27 5cm 7cm
28 2cm 4cm
29 12mm 18mm
30 6mm 9mm

사용 가능한 다른 그리드 시스템과 비교하려면 Kusto 쿼리 언어 있는 지리 공간적 클러스터링 참조하세요.

예제

S2 셀로 집계된 미국 폭풍 이벤트

다음 예제에서는 S2 셀에 의해 집계된 미국 폭풍 이벤트를 찾습니다.

StormEvents
| project BeginLon, BeginLat
| summarize by hash=geo_point_to_s2cell(BeginLon, BeginLat, 5)
| project geo_s2cell_to_central_point(hash)
| render scatterchart with (kind=map)

출력

S2 셀로 집계된 미국 폭풍 이벤트의 맵 렌더링 스크린샷

다음 예제에서는 S2 셀 ID를 계산합니다.

print s2cell = geo_point_to_s2cell(-80.195829, 25.802215, 8)

출력

s2cell
88d9b

좌표 그룹 찾기

다음 예제에서는 좌표 그룹을 찾습니다. 그룹의 모든 좌표 쌍은 최대 면적이 1632.45km²인 S2 셀에 상주합니다.

datatable(location_id:string, longitude:real, latitude:real)
[
  "A", 10.1234, 53,
  "B", 10.3579, 53,
  "C", 10.6842, 53,
]
| summarize count = count(),                                        // items per group count
            locations = make_list(location_id)                      // items in the group
            by s2cell = geo_point_to_s2cell(longitude, latitude, 8) // s2 cell of the group

출력

s2cell count 위치
47b1d 2 ["A","B"]
47ae3 1 ["C"]

빈 결과

다음 예제에서는 잘못된 좌표 입력으로 인해 빈 결과를 생성합니다.

print s2cell = geo_point_to_s2cell(300,1,8)

출력

s2cell

다음 예제에서는 잘못된 수준 입력으로 인해 빈 결과를 생성합니다.

print s2cell = geo_point_to_s2cell(1,1,35)

출력

s2cell

다음 예제에서는 잘못된 수준 입력으로 인해 빈 결과를 생성합니다.

print s2cell = geo_point_to_s2cell(1,1,int(null))

출력

s2cell