GIS 30

leaflet - #4 WFS 활용하기

이번 글에서는 WFS를 활용하는 방법에 대해서 설명드리겠습니다. WFS는 Web Feature Service의 약자로 웹에서 지도에 표현하는 객체의 정보를 서비스하는 표준 스펙입니다. 역시 OGC(개방형 공간정보 컨소시엄)에서 만든 것이고, WMS(Web Map Service)와 함께 ArcGIS Server, Geoserver, Mapserver 등 대부분의 웹 서버 엔진에 구현되어있습니다. WMS 서비스와 WFS 서비스의 가장 큰 차이점은 응답 형태에 있습니다. WMS는 웹 요청에 대한 응답으로 이미지(png, jpeg 등)를 제공하고, WFS는 응답으로 텍스트 파일(gml, kml, geojson 등)을 제공합니다. WFS에서 응답으로 보내주는 텍스트 파일에는 요청한 지도 위치에 있는 객체의 기하(..

leaflet - #3 WMS 레이어 추가하기

이번 글에서는 WMS 레이어를 지도에 추가해 보겠습니다. WMS는 Web Map Service의 약자로 웹에서 지도를 표시하는 표준 서비스 스펙입니다. OGC(개방형 공간정보 컨소시엄) 라는 기구에서 만든 기준입니다. WMS와 비슷한 서비스 표준으로는 WFS, WCS, WPS, WMTS 등이 있습니다. 이런 서비스들을 OWS(OGC Web Services)라고 부릅니다. 이런 표준이 있으면 좋은 점은 특정 제품이나 회사에 지도 프로그램을 쓰다가 다른 프로그램으로 교체가 가능하다는 것이겠죠. 물론 표준이란 것이 필수적인 항목에 대해서만 통일되서 구현되어 있고 벤더마다 특별한 기능들이 추가로 구현되어 있어, 1:1로 교체가 되지는 않습니다. 그래도 없는것보다 낫다는 것이겠죠. 이번에도 서두가 길었는데, 아래..

leaflet - #2 레이어 컨트롤 추가하기

지난 글에서 처음으로 leaflet을 이용한 지도를 만들어봤습니다. 이번에는 지난 번에 만들었던 지도에 여러 개의 레이어를 추가하고, 레이어를 보이거나 감추는 컨트롤을 추가해 보겠습니다. Leaflet은 맵에 추가된 레이어의 목록을 확인하고 on/off 할 수있는 컨트롤을 제공합니다. 아래 실행화면 오른편에 보이는 아이콘이 바로 레이어 컨트롤입니다. See the Pen leaflet tutorial #2 by yogin (@yogin) on CodePen. 자바스크립트 코드 부분을 설명 드리면 var hanRiverPos = [37.5118, 126.9745]; var map = L.map('map').setView(hanRiverPos, 12); var osmLayer = L.tileLayer('ht..

leaflet - #1 가벼운 웹 지도 만들기

leaflet은 오픈소스 지도 라이브러리 중에 모바일 친화적이고, openlayers와 더불어 오래된 Javascript 라이브러리입니다. 홈페이지에는 이렇게 소개 되어 있습니다. 그리고, 위키백과에는 이렇게 소개되어 있습니다. 리플릿(Leaflet)은 웹 매핑 애플리케이션을 빌드하기 위해 사용되는 오픈 소스 자바스크립트 라이브러리이다. 2011년 처음 출시되었으며,[2] HTML5와 CSS3를 지원하고 대부분의 모바일 및 데스크톱 플랫폼을 지원한다. 사용 고객으로는 포스퀘어, 핀터레스트, 플리커가 있다. Lealfet이 지원하는 데스크톱, 모바일 웹 브라우저는 아래와 같습니다. Desktop: Chrome, Firefox, Safari 5+, Opera 12+, IE 7–11, Edge 등 Mobile..

QGIS - 아파트 단지 배치도를 지도에 올려보기

아파트 청약 안내 전단지나 홈페이지에 보면 앞으로 지어질 아파트의 단지 배치도를 보여줍니다. 대부분 사람들은 이렇게 제공된 단지 배치도를 기존 지도에 올려서 중첩해 보면 좋겠다고 생각합니다. 그래야 주변의 교통, 마트, 병원, 학교, 학원 위치를 파악하기 쉽기 때문이죠. QGIS를 통해 간단(?)하게 확인하는 방법을 소개해 드리겠습니다. 대략의 순서는 다음과 같습니다. QGIS를 다운로드 받습니다. QGIS에서 TMS for Korea 플러그인을 설치합니다. 아파트 단지 배치도를 불러옵니다. 단지배치도와 지도의 동일한 특정 위치들을 1:1로 맵핑시킵니다. 매핑 완료한 단지배치도를 지도사진(래스터)로 변환합니다. 기존 지도에 중첩된 단지 배치도를 확인합니다. 1. QGIS 홈페이지에서 다운로드 받습니다. ..

한줄 팁 - 좌표 입힌 GeoTiff 파일 만들기

공간정보는 크게 벡터형식과 래스터 형식으로 나뉩니다. 벡터 형식은 수학적 기하모형으로 물체의 위치와 형태를 좌표로 계산해 저장해 놓은 것이고, 래스터 형식은 사진과 같은 픽셀 단위로 위치와 형태를 저장합니다. GeoTiff는 래스터 형식중 가장 많이 쓰이는 공간정보 저장을 위한 파일 포맷입니다. 다른 래스터 파일 포맷으로는 ecw, img, jpeg2000 등이 있습니다. GeoTiff 같은 래스터 파일과 일반 사진파일의 가장 큰 차이점은 픽셀 단위로 위치정보가 저장되어 있다는 것입니다. 일반 사진에 위치정보가 저장되어 있는 경우는 사진이 찍힌 위치에 대한 Point 위치정보(EXIF GPS Tags)지만, GeoTiff의 경우에는 각 픽셀이 정확히 어느 위치인지 확인이 가능합니다. 일반 사진이나 tif..

한줄 팁 - ESRI Shapefile을 GeoJSON으로 변환하기

예전부터 벡터 공간정보 저장을 위한 Shapefile(쉐이프 파일)은 ESRI社에서 만든 포맷입니다. 이 파일은 하나의 파일이 아니라, *.shp, *.shx, *.dbf, *.prj 파일들로 구성되어 있습니다. 예를 들어 world 쉐이프 파일을 메일로 보내달라고 하면, world.shp 파일과 함께 world.shx, world.dbf, world.prj 파일을 함께 보내야 받는 쪽에서 내용을 확인 할 수 있습니다. 간단히 설명하자면 shp 파일에는 기하정보(Geometry), dbf 파일에는 속성정보(Attribute), shx 파일은 shp과 dbf간의 관계 맵핑정보가, prj 파일에는 좌표계 정보가 담겨있습니다. 이러한 ESRI Shapefile은 데스크톱 응용 프로그램에서 많이 사용하지만, 웹..

Natural Earth - 전세계 자원 봉사자들 구축한 공간 정보가 무료?!

공간 정보를 조금 자세히 보신 분들은 네이버, 카카오 맵에 특정 지역이 표시되지 않고, 지도를 확대 축소할 때마다 지도 오른쪽이나 왼쪽 아래쪽에 데이터의 출처가 표시되는 걸 확인 할 수 있습니다. 어느 나라나 지도 데이터는 옛날부터 국가의 중요한 보안 사항이기 때문에 외부로 유출시키는 것을 엄격히 금지해 왔고 지금도 마찬가지입니다. 관심있는 분들은 구글 지도데이터 반출 뉴스를 들어보신 분들이 있을 겁니다. 구글 지도 데이터 반출 규제 한국만 있다더니...중국 등 21개국 지도 데이터 반출 제한(2016.08.03) - http://it.chosun.com/site/data/html_dir/2016/08/03/2016080385022.html [단독] 지도 반출 포기한 구글...5년 만에 최신 '한국 지도..

online - 공간 도형 단순화(Simplify) 온라인 편집 도구

공간정보 오픈 소스로 유명한 것은 PostGIS(postgresql), QGIS, Geoserver 등이 있습니다. 이 중에 QGIS는 Desktop 기반의 강력한 공간정보 편집도구입니다. 하지만 Desktop 기반이다보니 설치하는 번거로움이 있습니다. 공간정보 편집 기능 중 폴리곤의 단순화 작업이 의외로 많이 필요한데 이 기능 한번 쓰겠다고 QGIS를 설치하고 실행시키는 게 번거롭게 느껴질 때가 있습니다. 폴리곤 단순화는 리아스식 해안처럼 구불구불 꼭지점이 굉장히 많은 폴리곤의 꼭지점 갯수를 줄여서 매끈하게 하는 작업입니다. 이게 행정동 경계를 매끈하게 해서 통계 형태의 지도를 표현할 때 많이 사용합니다. 이럴 때 사용할 수 있는 간단한 온라인 무료 도구가 바로 MapShaper 입니다. 원하는 공간정..

online - GeoJSON 만들고 확인하기

GeoJSON은 웹에서 공간정보를 표시하고 주고받을 때 많이 사용하는 표준 표기방법입니다. GeoJSON에 대한 위키백과의 설명은 아래와 같습니다. GeoJSON(지오제이슨)[2]은 위치정보를 갖는 점을 기반으로 체계적으로 지형을 표현하기 위해 설계된 개방형 공개 표준 형식이다. 이것은 JSON인 자바스그립트 오브젝트 노테이션(Object Notation)을 사용하는 파일 포맷이다.[3][4] GeoJSON - 위키백과, 우리 모두의 백과사전 GeoJSON(지오제이슨)[2]은 위치정보를 갖는 점을 기반으로 체계적으로 지형을 표현하기 위해 설계된 개방형 공개 표준 형식이다. 이것은 JSON인 자바스그립트 오브젝트 노테이션(Object Notation)을 사 ko.wikipedia.org 이런 표기법을 손쉽..