KML 문자열을 도형으로 해석
| 항목 | 값 |
|---|---|
| 화면 이름 | Parse KML string as geometry |
| 식별자 | parseKmlAsGeometryV1 |
| 지원 실행 방식 | Batch, Streaming |
| 범주 | 지리공간 (Geospatial) |
| 반환 자료형 | String | Struct<ok:Geometry, error:String> |
KML 도형 정의를 GeoJSON으로 해석하며 모든 속성은 무시합니다. 입력은 이미 추출된 텍스트여야 하므로 파일 내용을 먼저 텍스트로 가져옵니다. Document나 Folder를 포함한 전체 KML 파일은 이 단일 도형 표현식에서 지원하지 않습니다.
입력 인자
| 이름 | 지정 여부 | 자료형 | 의미와 조건 |
|---|---|---|---|
KML string to parse | 필수 | Expression<String> | 도형으로 해석할 유효한 KML 문자열입니다. |
Output mode | 선택 | Enum<Simple, With errors> | 오류를 null로 반환할지, 도형의 ok 필드 또는 설명형 오류 메시지의 error 필드를 가진 결과 유형으로 반환할지 선택합니다. |
Prepare geometry after parse | 선택 | Expression<Boolean> | KML을 Foundry 도형 규칙에 맞게 준비할지 지정합니다. 온톨로지 수집 전에 준비하면 인덱싱 실패를 예방할 수 있지만, 파싱 중 범위 밖 좌표 같은 오류가 더 드러날 수 있습니다. |
입출력 예시
예시 1: 기본 동작
기본적인 다각형을 처리합니다.
인자 값:
KML string to parse:colOutput mode: nullPrepare geometry after parse: null
| col | 출력 |
|---|---|
| <LineString> <coordinates> -71.1663,42.2614 -71.1667,42.2616 </coordinates> </LineString> | {"type":"LineString","coordinates":[[-71.1663,42.2614],[-71.1667,42.2616]]} |
| <Polygon> <extrude>1</extrude> <altitudeMode>relativeToGround</altitudeMode> <ou... | {"type":"Polygon","coordinates":[[[-122.0848938459612,37.42257124044786,17.0],[-122.0847882750515,37... |
| <Polygon> <extrude>1</extrude> <altitudeMode>relativeToGround</altitudeMode> <ou... | {"type":"Polygon","coordinates":[[[-77.05465973756702,38.87291016281703,100.0],[-77.0531553685479,38... |
| <Point> <coordinates> -71.1663,42.2614 </coordinates> </Point> | {"type":"Point","coordinates":[-71.1663,42.2614]} |
| <MultiGeometry> <Polygon> <outerBoundaryIs> <coordinates> -71.1663,42.2614 -71.1... | {"type":"MultiPolygon","coordinates":[[[[-81.1679,32.2614],[-81.1679,32.28],[-81.1663,32.28],[-81.16... |
예시 2: 기본 동작
기본적인 다각형을 결과 유형으로 반환합니다.
인자 값:
KML string to parse:colOutput mode:with_errorsPrepare geometry after parse: null
| col | shouldPrepare | 출력 |
|---|---|---|
| <LineString> <coordinates> -71.1663,42.2614 -71.1667,42.2616 </coordinates> </LineString> | true | { error: null, ok: {"type":"LineString","coordinates":[[-71.1663,42.2614],[-71.1667,42.2616]]}, } |
| <Polygon> <extrude>1</extrude> <altitudeMode>relativeToGround</altitudeMode> <ou... | true | { error: null, ok: {"type":"Polygon","coordinates":[[[-122.0848938459612,37.42257124044786,17.0],[-122.0847882750515,37..., } |
| <Polygon> <extrude>1</extrude> <altitudeMode>relativeToGround</altitudeMode> <ou... | true | { error: null, ok: {"type":"Polygon","coordinates":[[[-77.05465973756702,38.87291016281703,100.0],[-77.0531553685479,38..., } |
| <Point> <coordinates> -71.1663,42.2614 </coordinates> </Point> | true | { error: null, ok: {"type":"Point","coordinates":[-71.1663,42.2614]}, } |
| <MultiGeometry> <Polygon> <outerBoundaryIs> <coordinates> -71.1663,42.2614 -71.1... | true | { error: null, ok: {"type":"MultiPolygon","coordinates":[[[[-81.1679,32.2614],[-81.1679,32.28],[-81.1663,32.28],[-81.16..., } |
예시 3: 기본 동작
Document와 Folder를 포함한 전체 KML 파일은 지원하지 않습니다.
인자 값:
KML string to parse:colOutput mode: nullPrepare geometry after parse: null
| col | 출력 |
|---|---|
| <kml xmlns="http://www.opengis.net/kml/2.2"> <Document> <name>KML Samples</name> <... | null |
예시 4: null 처리
null 입력의 예시입니다.
인자 값:
KML string to parse:colOutput mode: nullPrepare geometry after parse: null
| col | 출력 |
|---|---|
| null | null |
| empty string | null |
예시 5: 경계 조건
잘못된 KML 입력의 예시입니다.
인자 값:
KML string to parse:colOutput mode: nullPrepare geometry after parse: null
| col | 출력 |
|---|---|
| <Polygon><mal> formed KML </ml></Polygon> | null |
| <Polygon> <extrude>1</extrude> <altitudeMode>relativeToGround</altitudeMode> <ou... | null |
| <Polygon><innerBoundaryIs><LinearRing> <coordinates> -123.0,37.0,17 -122.0,38.0,17 ... | null |
예시 6: 경계 조건
좌표가 범위를 벗어난 KML 입력입니다.
인자 값:
KML string to parse:colOutput mode: nullPrepare geometry after parse: null
| col | 출력 |
|---|---|
| <Polygon><outerBoundaryIs><LinearRing> <coordinates> -180.3348783983763,95.1514008468736,... | null |
예시 7: 경계 조건
도형 준비를 실행하지 않으면 좌표가 범위를 벗어난 KML도 도형으로 반환할 수 있습니다.
인자 값:
KML string to parse:colOutput mode:simplePrepare geometry after parse:shouldPrepare
| col | shouldPrepare | 출력 |
|---|---|---|
| <Polygon><outerBoundaryIs><LinearRing> <coordinates> -180.3348783983763,95.1514008468736,... | false | {"coordinates":[[[-180.3348783983763,95.1514008468736,100.0],[-180.3372535345629,95.14888517553887,1... |
긴 구조값 안의 줄임표는 생략한 내용을 나타냅니다.