본문 바로가기
API사용

[Mapbox] 한국 지적도 geoJSON파일 만들기

by 미눅스[멘토] 2025. 4. 3.
728x90

 

 

아래 과정이 귀찮은 사람들을 위해 미래의 나를 위해 파일을 맨위에 먼저 올려두겠다....

미래의 나에게 시간을 단축을....

 

아래 geoJSON파일들의 세팅 기준

1.2025년 3월 14일 기준 데이터 (당일 최신데이터 기준) 

2.지적도 간소화 정확히 10% 맞춤 (본인 기준 10%면 충분함)

3.한글 인코딩 작업 완료

4.위도경도 WGS84로 변환 완료 ( .mapbox같은 지도에 편리하게 사용 가능 )

 

🗾시도 geoJSON

시도.json
3.20MB

 

 

 

🗾 시군구 geoJSON

시군구.json
7.02MB

 

 

 

🗾 읍면동 geoJSON

읍면동.json
17.42MB

 

 

 

 

 

🗺️gsoJSON파일 만들기!!


✔️필요한 지도 파일 다운로드 하기

1. 지오서비스 가입

https://www.geoservice.co.kr/

 

GEOSERVICE-WEB

 

www.geoservice.co.kr

 

회원가입 시 처음 50,000코인을 지급해줌

다운로드 받을 때마다 10,000코인씩 차감됨

(직접 사용해본 경험으로는 하루마다 50,000코인 지급됨)

 

2. 메뉴에서 아카이브 클릭

회원가입을 마쳤으면 로그인 후 아카이브 클릭

 

 

3.최신행정구역도(SHP) 다운로드

1.소유자 이름에 "gizmo" 라고 검색

2.최신행정구역도 선택

3.가장 최신날짜 선택

4.클릭 후 다운로드

 

"예" 클릭

 

다운완료

 

 

✔️JSON 파일로 변환하기

1.아래 링크 mapshaper.org에 접속

https://mapshaper.org/

 

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

 

 

 

2. 다운받은 지도파일 임포트

with advanced options 반드시 체크후

select 클릭

 

알집상태로 선택

 

#한글 인코딩
encoding=euc-kr

이런 화면이 나오는데 여기서 아래 encoding=euc-kr 입력해야만 지역 이름들이 한글로 나옴

입력 후 Submit클릭

 

 

 

3. 모델링 단순화  (안해도됨)

현재 상태로도 JSON파일을 만들 수 있지만 그냥만들면 용량이 너무 커진다

그 이유는 지도에 굳이 사용할 필요없는 섬들이나 지역의 테두리들이 구체적으로 모두 JSON객체로 만들어지기 떄문에 간소화 작업을 해준다.

 

1.simplify 클릭

2. visavalingam / weighted area 클릭

3. Apply 클릭 

 

Settings 버튼을 조절하여 원하는 간소화작업을 함.

나는 1.0%가 적당한것 같아서 1.0으로 맞춤

저장 버튼은 따로없고 이렇게 맞춰두면 알아서 간소화된 JSON으로 출력됨

 

여기까지 했다면 마지막 작업

4. WGS84로 변환

 

이 작업을 안하면 위도경도가 다르게 나와서 mapBox같은 지도API에 사용하기 힘들다.

 

1. 오른쪽 상단 메뉴에 console 클릭

2. 검정창에서 -proj +init=EPSG:4326 입력하고 엔터

#좌표 EPSG:4326 형식으로 변환
-proj +init=EPSG:4326

 

5. 저장하기 

 

1. 우측 상단 메뉴에 Export 클릭

2. GeoJSON 선택

3.폴더지정 옵션 석택

4. Export 클릭 

 

파일을 열어 맨밑으로 내려와 확인해보면

한글 인코딩과 좌표 인코딩이 원하는데로 잘 나왓다.

이 과정이 귀찮은 사람들은 맨위에 파일을 올려 두었다...

혹은 더 디테일한 파일이 필요한 사람은 위 과정을 거치면서 원하는 파일을 추출하길 바란다.

 

 

나는 mapbox에 적용하기 위해 다운받은것이라 다음으로는 지금 다운받은 jsoJSON파일로

mapbox위에 지적도로 출력하는 예제 만들어 보자.