WKT는 Well Known Text의 약자로, 쉽게 이해할 수 있는 문자열로 데이터를 표현하는 방식으로 GIS의 공간 데이터의 Row 단위를 나타낼 수 있습니다. 예를 들어, 아래의 WKT는 4개의 좌표로 구성된 폴리곤입니다.
POLYGON((10.689 -25.092, 34.595 -20.170, 38.814 -35.639, 13.502 -39.155, 10.689 -25.092))
이러한 WKT 문자열을 통해 VectorLayer에 Feature를 추가할 수 있는데요. 먼저 코드의 예는 아래와 같습니다.
import WKT from 'ol/format/WKT.js'; var wkt = 'POLYGON((10.689 -25.092, 34.595 ' + '-20.170, 38.814 -35.639, 13.502 ' + '-39.155, 10.689 -25.092))'; var format = new WKT(); var feature = format.readFeature(wkt, { dataProjection: 'EPSG:4326', featureProjection: 'EPSG:3857' });
이렇게 생성된 feature 객체는 아래처럼 벡터 레이어를 생성하면서 곧바로 데이터 소스를 통해 추가될 수 있습니다.
import {Vector as VectorSource} from 'ol/source.js'; import {Vector as VectorLayer} from 'ol/layer.js'; var vector = new VectorLayer({ source: new VectorSource({ features: [feature] }) });
데이터 소스를 통해 feature를 추가하는 방식은 데이터 소스의 addFeature 함수를 통해서도 가능합니다. 참고로 필자는 OpenLayers v5.3을 사용하여 위의 코드를 테스트 하였습니다.