본문 바로가기
Programming/> Javascript

[Javascript] 다음 지도 API로 네이버 부동산 지도 따라하기 - 2. geojson 만들기

by 니키ᕕ( ᐛ )ᕗ 2015. 9. 23.

어찌저찌 shp파일을 구했으면 QGIS를 이용해 geojson을 만들어보자

설치는 어려울 것 없으니 사이트 가서 받아 설치하면 된다.




QGIS Desktop 설치해서 레이어 - 레이어 추가 - 벡터 레이어 추가 선택





shp 파일을 선택한다. 열 때 .shp말고도 다른 것도 같이 있어야 한다. 이유는 나도 잘 모른다!!!!!!!

.prj파일 같은 경우에는 좌표계 반영과 관련 되어있는 것 같던데 어쨌거나 잘 모른다.

UTF-8을 하지 않으면 지역명이 깨질 수도 있으니 조심..




화면에 벡터 이미지가 뜨면 레이어 목록에서 현재 불러온 레이어를 오른쪽 클릭한 뒤 필터를 선택한다.





필터를 적용한다. 서울특별시의 법정동 코드는 11이다. SIG_CD가 11로 시작하는 벡터만 남겨보자.





그러고 나면 딱 서울의 행정구역 벡터만 남게 된다.





이걸 저장하려면 다시 레이어의 벡터를 선택 후 다른 이름으로 저장을 한다.





GeoJson 형식을 선택 후 이름, 저장 위치를 지정하여 저장누르면 끝~~






서울의 경우는 간단한데 바다를 끼고 있어서 해안선이 복잡한 지역은 용량도 크다. 전라남도의 경우 아마 14mb가 나왔던걸로 기억한다..

이걸 줄이기 위해 벡터를 단순화하는 작업이 필요하다.



QGIS에서 위에 처럼 들어가면 단순화 메뉴를 열 수 있다. 단순화 수치를 0.021로 했을때부터 조금씩 변하는게 보인다.

실시간으로 확인이 안되서 매우 나쁨. 그래서 아래의 방법을 추천한다. 




Mapshaper라는 사이트인데 .shp, .geojson 등의 파일들의 벡터를 단순화 시킬 수 있다. 파일을 드래그해서 올려놓으면 바로 벡터 확인이 가능하다.

오른쪽 위에 있는 Simplify를 누르면 단순화 옵션이 3가지 뜬다. 뭔가의 알고리즘 같은데 잘 모르겠으니 기본설정으로 간다.




선택하고 나면 상단에 파일이름 대신 Simplify의 정도를 선택할 수 있다. 

게이지를 바꿀때마다 모양도 실시간으로 변하니 알아서 조정하시길!




조정이 완료되면 Export를 눌르서 GeoJSON으로 출력하자 결과물은 .json이지만 사용하는데 지장은 없다.





요거는 결과물 지역별 행정구역 코드는 확인하면 될 것 같다.... 

단순화 작업을 하면 나중에 polygon을 만들었을 때 성능도 훨씬 났고 무엇보다 용량이 대폭 감소한다. 웹에서 사용하려면 저용량이 필수...



댓글