[OpenLayers] WKT 문자열로 Feature 추가하기

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을 사용하여 위의 코드를 테스트 하였습니다.

댓글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다