프로젝트를 진행하며 지도에 제주도를 12개의 구역으로 나눠 다각형을 그릴 일이 생겼다
그런데 이걸 지역 모양에 맞춰 그리려면 꺽이는 선마다 위도 경도 값이 필요하다는 사실
.......
노동할 생각에 머리만 쥐어잡던 중 불행 중 행운으로
지역에 맞게 다각형을 그릴 수 있는 자료를 제공하는
행정구역 SHP 파일을 제공하는 사이트를 발견하게 됐다
대한민국 최신 행정구역(SHP) 다운로드 – GIS Developer
www.gisdeveloper.co.kr
시도, 시군구, 읍면동, 리 각각의 정보가 담긴 데이터 파일들이 있으니 사용자가 원하는 파일을 다운 받으면 된다
나는 제주도를 12개의 구역으로 나누기 위해 시읍면이 필요했었는데 없어서 일단 읍면동으로 다운 받았다
(노동의 시작)
가장 최신 업데이트 파일을 다운 받고 압축을 풀면
이렇게 세개의 파일이 나오고
이 글을 읽는 분들이 궁금하실진 모르겠지만 각각의 파일이 뭘 뜻하는지 검색해 봤다 ㅎ
- .shp - 모양 형식, 특징 기하학 자체
- .shx - 모양 색인 형식, 신속하게 앞뒤로 검색 할 수 있는 기능 지오메트리의 위치 색인
- .dbf - 속성 형식, dBase IV형식의 각 도형에 대한 열 속성
이 데이터를 사용하려는 프론트 개발에 쓰려면 JSON파일로 변환을 해줘야 하는데
그 과정을 진행하기 위해
먼저 좌표계 변환툴인 XrProjection
을 사용하여 변환을 해야한다
- 변환 파일 설치 사이트
[GIS] XrProjection v3.1 – GIS Developer
다양한 좌표계 간의 변환 툴입니다. 특히 대한민국에서 사용하는 좌표계에 대해 손쉽게 변환할 수 있는 정보를 기본으로 제공합니다. 투영(Projection)에 사용하는 3, 7, 10 파라메터를 모두 지원합
www.gisdeveloper.co.kr
변환 하기 위한 exe파일을 다운받아야하는데 MAC에서는 사용할 수가 없어서 나는 잠시 집에 잠들어있던 그램을 꺼내 변환해 주었다
맥으로만 해야한다면 SHP 좌표 변환 프로그램을 검색해서 다른 방식을 찾아보시길.. (다른 방식도 많은 것 같습니다)
변환 파일을 다운받아 실행시키고 단일 SHP 파일 변환 탭으로 이동
입력 SHP에서는 위에서 다운 받았던 세개의 파일 중 .shp 파일을 선택해주고
위의 좌표계는 UTM-K(GRS80 타원체)
아래 좌표계는 WGS84 타원체의 경위도
출력 SHP에는 위의 입력 SHP에서 선택한 파일을 선택한 후 이름 뒷부분에 _wgs84를 붙여주고
중앙의 변환 버튼을 클릭해 준다 (아래 사진 참고해서 설정 해주세요!)
변환이 완료되면
이름뒤에 _wgs84가 붙은 세개의 파일이 생성!!
방위를 변환한 이 파일을 프로젝트에서 사용할 수 있도록 JSON 파일로 또 변환 해주기 위해서 mapshaper라는 사이트를 이용해줘야한다
mapshaper
Drop, paste or select files to import. Shapefile, GeoJSON, TopoJSON, KML and CSV formats are supported. Files can be zipped or gzipped.
mapshaper.org
with advanced options에 체크를 해준뒤 위에서 만든 세개의 파일을 업로드
이때 shp 내용 중 한글로 되어있는 부분이 깨지지않게 하기위해 encoding=euckr
을 적어줘야함
잘 적어준 후 submit 버튼을 눌러주면
읍면동으로 나눠진 저희나라 지도가 따단!!!
여기서 이대로 저장을 하게 되면 지도 용량이 아주 많이 커지기 때문에 지도를 간략화 해주는 작업이 필요한데
이를 위해 오른쪽 위의 Simplify 메뉴를 클릭하고 첫번째 체크박스인 prevent shape removal
을 체크 해준 후 Apply를 눌러준다
그 후에 위의 Setting바를 움직이며 내가 필요로하는 구역의 경계를 보며 조절 해주시면 됨!
이제 저장을 위해 오른쪽 위의 메뉴인 Export를 눌러준 후
File format으로 GeoJSON을 선택해주고
아래 command line options에 precision=0.001 encoding=utf-8
을 적어주고 Export버튼을 클릭해주면
대한민국 읍면동 JSON 파일 생성 완료!!
포스트 이어보기!
[도르멍] 내가 원하는 지역 데이터를 뽑고 일부 구역 하나로 병합하기 | SHP(2)
지난 시간 포스트인 행정구역 shp를 json으로 변환한 파일을 가지고 여기서 내가 원하는 지역의 데이터만 뽑아내야 했다원하는건 아래의 사진과 같이 제주도를 12개 구역으로 나눈 데이터들인데
yeojin-ni.tistory.com
'Project > Doreumung' 카테고리의 다른 글
[도르멍] 내가 원하는 지역 데이터를 뽑고 일부 구역 하나로 병합하기 | SHP(2) (0) | 2025.03.18 |
---|---|
[도르멍] 브라우저 뒤로가기 막기 (0) | 2025.01.07 |
[도르멍] 브라우저 새로고침 방지하기 (0) | 2025.01.07 |