본문 바로가기
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을 만들었을 때 성능도 훨씬 났고 무엇보다 용량이 대폭 감소한다. 웹에서 사용하려면 저용량이 필수...



태그

,

댓글6

  • 전상훈 2018.01.19 18:54

    그대로 따라했습니다.
    좌표체계를 좌표체계를 EPSG:4326 WGS: 84로 하였는데
    geojson 파일로 저장하면 geometry에 coordinates 가 아래와 같이 나옵니다.
    [ 131348.500124163052533, -41542.777998449513689 ], [ 131361.292104023537831, -41531.085999280796386 ]
    위경도로 왜 안나오는지 알수 있을까요
    행정구역 시도 shp 파일을 가지고 하였습니다.
    답글

    • 본 내용에서는 좌표체계가 변경될 이유는 없어서 제가 정확한 원인은 모르겠습니다마는.. 원본 shp 파일과 export시에 설정되는 좌표계를 확인해보셔야할 것 같습니다 변경된 좌표계는 UTM-K로 추정됩니다

  • 전상훈 2018.01.31 19:46

    qgis에서 좌표변환이 안되는 것 같습니다.
    제가 이쪽 부분은 초보입니다.
    아래와 같이 했는데 변하지 않네요 알수 있을 까요?
    혹시 확인해 줄 수 있나요?

    좌표변환 안되는 파일관련 프로젝트 사진 > 링크 : https://goo.gl/VckKvm
    좌표변환 잘되는 파일관련 프로젝트 사진 > 링 크 : https://goo.gl/LvzHhK
    답글

    • 저도 QGIS는 업무때문에 이 부분을 개발하면서만 건드려봤을뿐 자세하게 알지는 못하고 추측만 해드릴 수 있는 상황입니다... 해당 파일의 문제이거나 projection속성의 문제이거나 정도만요...

  • 김학건 2018.08.01 17:52

    geojson 파일은 json으로 저장된것을 확장자 바꿔서 사용하신건가요?
    getJSON이 안되서 질문드려요 ㅜ
    답글