greatCircleDistance
lon1Deg— 첫 번째 지점의 경도(도)입니다. 범위:[-180°, 180°].lat1Deg— 첫 번째 지점의 위도(도)입니다. 범위:[-90°, 90°].lon2Deg— 두 번째 지점의 경도(도)입니다. 범위:[-180°, 180°].lat2Deg— 두 번째 지점의 위도(도)입니다. 범위:[-90°, 90°].
geoDistance
greatCircleDistance와 유사하지만, 구면이 아니라 WGS-84 타원체에서 거리를 계산합니다. 이는 지구 지오이드를 더 정확하게 근사합니다.
성능은 greatCircleDistance와 동일하며(성능 저하 없음), 지구상 거리를 계산할 때는 geoDistance를 사용하는 것이 좋습니다.
기술 참고: 서로 충분히 가까운 지점의 경우, 좌표 중간점의 접평면 메트릭을 사용하는 평면 근사로 거리를 계산합니다.
lon1Deg— 첫 번째 지점의 경도(도 단위)입니다. 범위:[-180°, 180°].lat1Deg— 첫 번째 지점의 위도(도 단위)입니다. 범위:[-90°, 90°].lon2Deg— 두 번째 지점의 경도(도 단위)입니다. 범위:[-180°, 180°].lat2Deg— 두 번째 지점의 위도(도 단위)입니다. 범위:[-90°, 90°].
greatCircleAngle
lon1Deg— 첫 번째 지점의 경도이며, 단위는 도입니다.lat1Deg— 첫 번째 지점의 위도이며, 단위는 도입니다.lon2Deg— 두 번째 지점의 경도이며, 단위는 도입니다.lat2Deg— 두 번째 지점의 위도이며, 단위는 도입니다.
pointInEllipses
x, y— 평면 위 한 점의 좌표입니다.xᵢ, yᵢ—i번째 타원 중심의 좌표입니다.aᵢ, bᵢ—i번째 타원의 x축, y축 방향 반지름입니다.
2+4⋅n이어야 하며, 여기서 n은 타원의 개수입니다.
반환 값
점이 하나 이상의 타원 내부에 있으면 1, 그렇지 않으면 0입니다.
예시
pointInPolygon
(x, y)— 평면 위 한 점의 좌표입니다. 데이터 타입 — Tuple — 두 개의 숫자로 이루어진 튜플입니다.[(a, b), (c, d) ...]— 다각형의 꼭짓점입니다. 데이터 타입 — Array. 각 꼭짓점은 좌표 쌍(a, b)로 표현됩니다. 꼭짓점은 시계 방향 또는 반시계 방향 순서로 지정해야 합니다. 꼭짓점의 최소 개수는 3개입니다. 다각형은 상수여야 합니다.- 이 함수는 구멍(비어 있는 내부 영역)이 있는 다각형도 지원합니다. 데이터 타입 — Polygon. 전체
Polygon을 두 번째 인수로 전달하거나, 바깥쪽 링을 먼저 전달한 다음 각 구멍을 별도의 추가 인수로 전달할 수 있습니다. - 이 함수는 다중 다각형도 지원합니다. 데이터 타입 — MultiPolygon. 전체
MultiPolygon을 두 번째 인수로 전달하거나, 각 구성 다각형을 각각의 인수로 나열할 수 있습니다.
1, 그렇지 않으면 0입니다.
점이 다각형 경계 위에 있으면 함수는 0 또는 1을 반환할 수 있습니다.
예시
참고 •validate_polygons = 0을 설정하면 geometry 유효성 검사를 건너뛸 수 있습니다. •pointInPolygon은 모든 다각형이 올바른 형식이라고 가정합니다. 입력이 자기 교차하거나, Ring의 순서가 잘못되었거나, edge가 겹치면 결과를 신뢰할 수 없게 됩니다. 특히 edge나 vertex 위에 정확히 놓인 점이나, “inside”와 “outside”의 개념이 정의되지 않는 자기 교차 내부의 점에서는 더욱 그렇습니다. • 다각형 인수가 상수이고 점이 인덱스가 적용된 키 컬럼으로 표현되는 경우(예:x, y가PRIMARY KEY의 일부이거나minmax인덱스로 처리되는 테이블에서pointInPolygon((x, y), constant_polygon)를 사용하는 경우), ClickHouse는 프라이머리 키(primary key)와minmax데이터 스키핑 인덱스를 모두 사용해 관련 없는 그래뉼을 걸러낼 수 있습니다.