도형 대칭 차집합
| 항목 | 값 |
|---|---|
| 화면 이름 | Geometry symmetric difference |
| 식별자 | geometrySymmetricDifferenceV1 |
| 지원 실행 방식 | Batch, Faster, Streaming |
| 범주 | 지리공간 (Geospatial) |
| 반환 자료형 | Geometry |
두 도형 중 어느 하나에 속하지만 교집합에는 속하지 않는 부분을 계산합니다.
입력 인자
| 이름 | 지정 여부 | 자료형 | 의미와 조건 |
|---|---|---|---|
Geometry a | 필수 | Expression<Geometry> | 도형 b입니다. |
Geometry b | 필수 | Expression<Geometry> | 도형 a입니다. |
입출력 예시
예시 1: 기본 동작
인자 값:
Geometry a:geometry_aGeometry b:geometry_b
| geometry_a | geometry_b | 출력 |
|---|---|---|
| {"type":"Polygon","coordinates":[[[0.0,0.0],[0.0,1.0],[2.0,1.0],[2.0,0.0],[0.0,0.0]]]} | {"type":"Polygon","coordinates":[[[1.0,0.0],[1.0,1.0],[3.0,1.0],[3.0,0.0],[1.0,0.0]]]} | {"type":"MultiPolygon","coordinates":[[[[0.0,0.0],[0.0,1.0],[1.0,1.0],[1.0,0.0],[0.0,0.0]]],[[[2.0,0.0],[2.0,1.0],[3.0,1.0],[3.0,0.0],[2.0,0.0]]]]} |
| {"type":"Polygon","coordinates":[[[0.0,0.0],[0.0,1.0],[1.0,1.0],[1.0,0.0],[0.0,0.0]]]} | {"type":"Polygon","coordinates":[[[0.0,0.0],[0.5,0.0],[0.5,1.0],[0.0,1.0],[0.0,0.0]]]} | {"type":"Polygon","coordinates":[[[0.5,1.0],[1.0,1.0],[1.0,0.0],[0.5,0.0],[0.5,1.0]]]} |
| {"type":"Polygon","coordinates":[[[0.0,0.0],[0.0,1.0],[1.0,1.0],[1.0,0.0],[0.0,0.0]]]} | {"type":"Polygon","coordinates":[[[0.25,0.25],[0.5,0.25],[0.5,0.5],[0.25,0.5],[0.25,0.25]]]} | {"type":"Polygon","coordinates":[[[0.0,0.0],[0.0,1.0],[1.0,1.0],[1.0,0.0],[0.0,0.0]],[[0.25,0.25],[0.5,0.25],[0.5,0.5],[0.25,0.5],[0.25,0.25]]]} |
| {"type":"Polygon","coordinates":[[[0.0,0.0],[0.0,1.0],[1.0,1.0],[1.0,0.0],[0.0,0.0]]]} | {"type":"Polygon","coordinates":[[[5.0,5.0],[5.0,6.0],[6.0,6.0],[6.0,5.0],[5.0,5.0]]]} | {"type":"MultiPolygon","coordinates":[[[[0.0,0.0],[0.0,1.0],[1.0,1.0],[1.0,0.0],[0.0,0.0]]],[[[5.0,5.0],[5.0,6.0],[6.0,6.0],[6.0,5.0],[5.0,5.0]]]]} |
| {"type":"Point","coordinates":[0.0,0.0]} | {"type":"Point","coordinates":[1.0,1.0]} | {"type":"MultiPoint","coordinates":[[0.0,0.0],[1.0,1.0]]} |
| {"type":"LineString","coordinates":[[0.0,0.0],[2.0,0.0]]} | {"type":"LineString","coordinates":[[1.0,0.0],[3.0,0.0]]} | {"type":"MultiLineString","coordinates":[[[0.0,0.0],[1.0,0.0]],[[2.0,0.0],[3.0,0.0]]]} |
예시 2: null 처리
인자 값:
Geometry a:geometry_aGeometry b:geometry_b
| geometry_a | geometry_b | 출력 |
|---|---|---|
| null | {"type":"LineString","coordinates":[]} | null |
| {"type":"LineString","coordinates":[]} | null | null |
| null | null | null |
예시 3: 경계 조건
인자 값:
Geometry a:geometry_aGeometry b:geometry_b
| geometry_a | geometry_b | 출력 |
|---|---|---|
| {"type":"Point","coordinates":[0.0,0.0]} | {"type":"Point","coordinates":[0.0,0.0]} | {"type":"Point","coordinates":[]} |
| {"type":"Polygon","coordinates":[[[0.0,0.0],[0.0,1.0],[1.0,1.0],[1.0,0.0],[0.0,0.0]]]} | {"type":"Polygon","coordinates":[[[0.0,0.0],[0.0,1.0],[1.0,1.0],[1.0,0.0],[0.0,0.0]]]} | {"type":"Polygon","coordinates":[[]]} |
| {"type":"Point","coordinates":[0.0,0.0]} | {"type":"LineString","coordinates":[[0.0,0.0],[0.0,1.0]]} | {"type":"LineString","coordinates":[[0.0,0.0],[0.0,1.0]]} |
| {"type":"LineString","coordinates":[[0.0,0.0],[0.0,1.0]]} | {"type":"Polygon","coordinates":[[[0.0,0.0],[0.0,1.0],[1.0,1.0],[1.0,0.0],[0.0,0.0]]]} | {"type":"Polygon","coordinates":[[[0.0,0.0],[0.0,1.0],[1.0,1.0],[1.0,0.0],[0.0,0.0]]]} |
| {"type":"LineString","coordinates":[[0.0,0.0],[1.0,1.0]]} | {"type":"LineString","coordinates":[[0.0,0.0],[1.0,1.0]]} | {"type":"LineString","coordinates":[]} |