반응형

이번 포스팅에서는 turfjs 활용법에 대해 알아보자

 

점과 점, 점과 라인, 점과 폴리곤, 라인과 라인, 라인과 폴리곤 , 폴리곤과 폴리곤의 어떤 관계를 구하고자 할 때 geotools나 geoserver, mysql, postgis의 공간 쿼리를 통해 관계를 알아볼 수 있었다. 

 

웹에서는 보통 서버에서 계산이 끝난 후 response 객체에 담겨 원하는 데이터를 가져오거나 했었다.

 

그러나 서버를 통하지 않고 간단하게 구할 수 있는 라이브러리가 turfJs이다.

 

그 뿐만 아니라 모든 공간 객체를 geojson으로 리턴해주기 때문에 따로 json으로 파싱 할 필요 없이 쉽게 접근할 수 있다.

 

그럼 먼저 turfjs 설치는 cdn으로 간단하게 하면 된다.

<script src='https://unpkg.com/@turf/turf@6.3.0/turf.min.js'></script>

한가지 예를 들면

 

폴리곤 안에 포인트가 있는 걸 찾고자 할 때를 예를 들어보겠다.

//멀티포인트 객체
var points = turf.points([
    [-46.6318, -23.5523],
    [-46.6246, -23.5325],
    [-46.6062, -23.5513],
    [-46.663, -23.554],
    [-46.643, -23.557]
]);

//폴리곤 객체
var searchWithin = turf.polygon([[
    [-46.653,-23.543],
    [-46.634,-23.5346],
    [-46.613,-23.543],
    [-46.614,-23.559],
    [-46.631,-23.567],
    [-46.653,-23.560],
    [-46.653,-23.543]
]]);

var ptsWithin = turf.pointsWithinPolygon(points, searchWithin);

예제에 있는 폴리곤 안에 두 개의 포인트가 포함된 걸 확인할 수 있다.

이 밖의 document를 참조하면 여러 가지 예제를 곧바로 확인할 수 있으며, 클라이언트에서도 쉽게 구할 수 있는 유용한 라이브러리다.

 

아래 링크를 참조해서 더 많은 예제와 샘플 코드를 참조하면 된다.

turfjs.org

 

Turf.js | Advanced Geospatial Analysis

Modular Turf is a collection of small modules, you only need to take what you want to use

turfjs.org

반응형

+ Recent posts