• Home
  • About
    • micbon blog photo

      micbon blog

      this blog is my personal space for sharing my latest interests.

    • Learn More
    • Email
    • LinkedIn
    • Instagram
    • Github
  • Archives
    • By date
    • By tags

대한민국 법정구역 지도

14 Aug 2018

Reading time ~2 minutes

최근 d3js를 이용하여 지도 그리는 법을 익혀보는 중입니다. 지난 글에서는 세계지도에 Global Peace Index를 표기해보았는데 이번에는 한국 지도를 한/영 지역명과 함께 아래와 같이 그려 보았습니다. 지도상에 색으로 표시된 지역을 클릭하면 세부지도를 3단계(시도»시군구»읍면동)까지 볼 수 있습니다.

Github Repository

1. 공간정보 받아오기

지도를 표시하기 위해서는 시도, 시군구 및 읍면동 정보를 포함한 한국 지역 공간정보가 필요했습니다. 구글 검색을 통해서 지오서비스에서 해당 정보가 포함된 shapefile 데이터를 받을 수 있었습니다. 사용한 자료는 2018년 4월 업데이트 공간정보입니다.

2. 주소코드정보 받아오기

위에서 받아온 공간정보 자료는 시도, 시군구, 읍면동(법정동) 구분하여 자료마다 단계별 지역 정보만 포함이 되어있었습니다. 세 단계의 지역 정보를 이어주기 위한 - 예를 들어서 이촌동(읍면동)을 용산구(시군구)와 잇고 다시 서울특별시(시도)와 잇기 위한 주소정보가 필요하였습니다. 해당 정보는 행정안전부 사이트에서 엑셀 파일으로 구할 수 있었습니다.

3. 영문 정보 조합하기

2번 단계에서 구한 엑셀 파일은 csv 유형으로 저장한 후에 python 을 사용해서 시도 및 시군구 지역명 영문화 작업을 하였습니다. 1번 단계에서 구한 자료들에 영문명들도 포함되어 있었는데 shapefile 에서 데이터를 뽑아내는데 익숙지 않아 결국 구글+위키피디아를 뒤져가며 노가다로 메꾸었습니다. 다시 찾아보니 mapshaper에 cut-table이라는 기능이 있는듯 합니다. 무식해서 몸이 고생한다는 말을 몸소 실현

3. 웹 데이터 파일 준비하기

위에서 준비한 자료들을 d3js로 읽기 위해 mapshaper를 사용하여 topojson 파일으로 준비하였습니다. 각 지역 단계별로 아래와 같이 콘솔에서 실행하였습니다.

# 읍면동 데이터 준비 코드
mapshaper encoding=euc-kr *.shp \   # euc-kr로 인코딩된 shapefile을 읽어옵니다.
    -simplify keep-shapes 3% \      # 공간정보를 3%까지 단순화 시킵니다.
    -proj latlong \                 # d3js가 읽는 투영법으로 바꾸어 줍니다.
    -join kor_admin_3_ref_w_en.csv keys=EMD_CD,LVL_3_CD \ # csv 파일을 조합합니다.
    -o format=topojson kor_admin_3.topojson # topojson 파일로 저장합니다.

4. 데이터 시각화하기

위에서 준비한 데이터 파일들을 d3js로 읽어 시각화 해주었습니다. 시각화 코드는 Github에섯 확인할 수 있습니다.

느낀점 몇 가지

  • 한국 지도를 그리려고 준비하면서 한국 공간정보 구하기가 생각보다 어려웠습니다. 무료로 읍면동까지 세부정보를 찾을 수 있는 곳이 지오서비스 사이트 외에는 보이지 않았고 위에서 처럼 지역 단계별 정보가 조합된 파일은 찾아볼 수 없었습니다. 또 시각화하였을 때 읍면동까지 표시하게 되면 지도상에 겹치거나 비어있는 공간들이 보입니다. 공간정보를 많이 사용해보지 않아 중간에 단순화 작업 때문에 그런 것인지 무료로 구하려 보니 그런 것인지는 잘 모르겠습니다. Natural Earth 세계지도용 자료와 비교해서는 데이터 질이 어쩔 수 없이 부족한 거 같아 아쉬웠습니다.

  • 이번에 처음 알게 되었는데 한국에는 두 종류의 동 이름이 있다고 합니다. 행정동은 법정동보다 자주 바뀌는 편이어서 공간정보자료에는 법정동이 표시되어 있다고 합니다.

    법정동 이름은 지적도와 주소 등 모든 법적 업무에 사용하는 행정구역 공식 명칭이다. 하지만 행정동은 행정기관들이 주민 수, 면적 등을 고려해 단순히 행정 편의를 위해 설정한 행정구역이다. 통상 동사무소로 불리는 행정기관은 이 행정동마다 1곳씩 설치돼 있다. 출처:연합뉴스 - ‘한 동네, 두 이름’…헷갈리는 행정동·법정동

  • 0개국어 능력자 같으니… 한글로 몇 년 만에 이런 긴 글을 써보았는데 페북이나 문자에나 쓰던 한글을 길게 쓰려니 어색하고 외국인 같고 어렵습니다. 근데 영어로 쓴 글을 읽어도 어색하고 외국인 같고…



d3jsdatavismap Share Tweet +1

Related posts

  • Map of Global Peace Index

    The interactive map below shows data from a recent Data for a Cause Challenge. The Challenge requests participants to create data visualizations for non-profit organizations. This particular challenge was about presenting the global peace trends.

    Read More
  • A bokeh server app for up-to-date stock prices

    The python bokeh library lets you build data visualization applications on the web and run them on a server. Below is plot that uses bokeh.server along with other python libraries to display up-to-date (mostly U.S.) stock market closing prices.

    Read More
  • Creating linked plots using Python's bokeh library

    In this post, I am going to create interlinked, interactive scatter plots using the Bokeh library. Below is the description of the library from the homepage.

    Read More
© 2020. Michael J. Moon. All rights reserved.
Jekyll Theme: Moon by TaylanTatli