์นดํ…Œ๊ณ ๋ฆฌ ์—†์Œ

# openlayers - OpenLayers์—์„œ WKT๋ž€? ๊ณต๊ฐ„ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฌธ์ž์—ด๋กœ ํ‘œํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•

๋ญ‰์ง€๋ง˜ 2025. 5. 19. 09:57
POINT(127.123 37.456)

 

์ขŒํ‘œ์ธ๊ฒƒ ๊ฐ™๊ธด ํ•œ๋ฐ ์˜์–ด๊ฐ€ ์„ž์—ฌ์žˆ๋Š”๊ฒŒ `WKT`

์ง€๋ฆฌ์ •๋ณด ์‹œ์Šคํ…œ(GIS)์—์„œ ๊ณต๊ฐ„ ๋ฐ์ดํ„ฐ๋ฅผ **๋ฌธ์ž ํ˜•ํƒœ๋กœ ํ‘œํ˜„**ํ•˜๊ธฐ ์œ„ํ•œ ๊ตญ์ œ ํ‘œ์ค€์ด๋‹ค.

 

์˜ˆ๋ฅผ ๋“ค์–ด,
- ์ (Point): `POINT(127.123 37.456)`
- ์„ (LineString): `LINESTRING(127.123 37.456, 127.124 37.457)`
- ๋ฉด(Polygon):  
  `POLYGON((127.123 37.456, 127.124 37.457, 127.125 37.456, 127.123 37.456))`

์ด๋Ÿฐ ํ˜•์‹์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค(PostGIS ๋“ฑ)์—์„œ๋„ ์ž์ฃผ ์“ฐ์ด๊ณ , OpenLayers ๊ฐ™์€ ์›น ์ง€๋„์—์„œ๋„ ํ™œ์šฉ๋œ๋‹ค.

 

OpenLayers์—์„œ๋Š” `ol.format.WKT()` ํด๋ž˜์Šค๋ฅผ ์ด์šฉํ•ด์„œ WKT ๋ฌธ์ž์—ด์„ **Feature ๊ฐ์ฒด๋กœ ๋ณ€ํ™˜**ํ•˜๊ฑฐ๋‚˜, ๊ทธ ๋ฐ˜๋Œ€๋กœ๋„ ๋ณ€ํ™˜ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

Feature ๊ฐ์ฒด๋กœ ๋ณ€ํ™˜

const wktFormat = new ol.format.WKT();
const feature = wktFormat.readFeature("POINT(127.123 37.456)", {
  dataProjection: 'EPSG:4326',
  featureProjection: 'EPSG:3857'
});

 

Feature → WKT

const wktString = wktFormat.writeFeature(feature);
console.log(wktString); // ์˜ˆ: POINT(127.123 37.456)