다음을 통해 공유


geo_intersection_2lines()

적용 대상: ✅Microsoft Fabric✅Azure Data ExplorerAzure MonitorMicrosoft Sentinel

두 줄 또는 여러 줄의 교집합을 계산합니다.

구문

geo_intersection_2lines(lineString1,lineString2)

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

매개 변수

이름 Type 필수 설명
lineString1 dynamic ✔️ GeoJSON 형식줄 또는 여러 줄입니다.
lineString2 dynamic ✔️ GeoJSON 형식줄 또는 여러 줄입니다.

반품

GeoJSON 형식 및 동적 데이터 형식의 교집합입니다. LineString 또는 MultiLineString이 잘못된 경우 쿼리는 null 결과를 생성합니다.

참고 항목

LineString 정의 및 제약 조건

dynamic({"type": "LineString","coordinates": [[lng_1,lat_1], [lng_2,lat_2],..., [lng_N,lat_N]]})

dynamic({"type": "MultiLineString","coordinates": [[line_1, line_2,..., line_N]]})

  • LineString 좌표 배열에는 두 개 이상의 항목이 포함되어야 합니다.
  • 좌표 [경도, 위도]는 경도가 [-180, +180] 범위의 실수이고 위도는 [-90, +90] 범위의 실수인 경우 유효해야 합니다.
  • 가장자리 길이는 180도 미만이어야 합니다. 두 꼭짓점 사이의 가장 짧은 가장자리가 선택됩니다.

성능을 향상시키려면 리터럴 LineString 또는 MultiLineString을 사용합니다.

예제

다음 예제에서는 두 줄 간의 교집합을 계산합니다. 이 경우 결과는 포인트입니다.

let lineString1 = dynamic({"type":"LineString","coordinates":[[-73.978929,40.785155],[-73.980903,40.782621]]});
let lineString2 = dynamic({"type":"LineString","coordinates":[[-73.985195,40.788275],[-73.974552,40.779761]]});
print intersection = geo_intersection_2lines(lineString1, lineString2)

출력

intersection
{"type": "Point","coordinates": [-73.9798371166670978,40.783989289772165]}

다음 예제에서는 두 줄 간의 교집합을 계산합니다. 이 경우 결과는 선입니다.

let line = dynamic({"type":"LineString","coordinates":[[-73.978929,40.785155],[-73.980903,40.782621]]});
print intersection = geo_intersection_2lines(line, line)

출력

intersection
{"type": "LineString","coordinates": [[ -73.978929, 40.785155],[ -73.980903, 40.782621]]] }

다음 두 줄은 교차하지 않습니다.

let lineString1 = dynamic({"type":"LineString","coordinates":[[1, 1],[2, 2]]});
let lineString2 = dynamic({"type":"LineString","coordinates":[[3, 3],[4, 4]]});
print intersection = geo_intersection_2lines(lineString1, lineString2)

출력

intersection
{"type": "GeometryCollection", "geometries": []}

다음 예제에서는 줄 중 하나가 유효하지 않으므로 null 결과를 반환합니다.

let lineString1 = dynamic({"type":"LineString","coordinates":[[1, 1],[2, 2]]});
let lineString2 = dynamic({"type":"LineString","coordinates":[[3, 3]]});
print invalid = isnull(geo_intersection_2lines(lineString1, lineString2))

출력

잘못됨
1