반응형
이번 포스팅에서는 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를 참조하면 여러 가지 예제를 곧바로 확인할 수 있으며, 클라이언트에서도 쉽게 구할 수 있는 유용한 라이브러리다.
아래 링크를 참조해서 더 많은 예제와 샘플 코드를 참조하면 된다.
반응형