Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

South Korea Maps

This repo hosts South Korea administrative division geodata in open formats that can be used to build static and interactive maps (e.g. with D3), and was inspired by swiss-maps.

To see maps for Seoul, go to



The following formats are available: shp, kml/kmz, svg, GeoJSON, TopoJSON, and RData.


Data is acquired from the following sources:


South Korean administrative divisions are consisted of three levels:

  • Provinces (시도): Special City(특별시), Metropolitan City(광역시), Province(도), Special Self-governing Province(특별자치도), Special Self-governing City(특별자치시)
  • Municipalities (시군구): Si (시, city), Gun (군, county), Gu (구, district)
  • Submunicipalities (읍면동): Eup (읍, town), Myeon (면, township), Dong (동, neighborhood), Ri (리, village)
  • Precinct (선거구): 19, 20대 국회 지역구


The following data are available.
Numbers are data sizes in Megabytes in the following order: Country border, Provinces, Municipalities, Submunicipalities. Numbers in parentheses are simplified versions of each format.

Format \ Source KOSTAT (2013) GADM POPONG Wikimedia
ESRI Shapefile 0, 9.6, 19, 46 5.5, 5.5, 5.8, 0 0 0
KML/KMZ 0, 0.16, 0.452, 2.8 1.5, 1.5, 1.7, 0 0 0
SVG 0 0 0, 0.014, 0, 0 0, 0, 0.100, 0
GeoJSON 0, 31, 52, 0
(0, 0.148, 0.364, 1.7)
15, 15, 16, 0 0 0
TopoJSON 0, 1.2, 2.0, 4.9
(0, 0.032, 0.0.96, 0.812)
1.5, 1.5, 1.6, 0 0 0
RData 0 1.0, 1.0, 1.2, 0 0 0

Development Notes


brew install gdal
npm install -g topojson

KOSTAT (2013)

  1. Download Shapefiles

    • Projection files are provided here. Otherwise, copy the snippet below and save to a separate prj file having the same name as the shp file.

      • CRS: Korean 1985 / Modified Central, EPSG:5174
      • Data encoding: EUC-KR
    • Downloaded dates

      • 2011 version: Downloaded on Mar 2013.
      • 2012 version: Downloaded on Feb 2015.
      • 2013 version: Downloaded on May 2015.
  2. Download and install QGIS. With QGIS for each shapefile:

    1. Change layer encoding to EUC-KR

    2. Save as, with CRS and data encoding as shown in the image below.

  3. Convert shp to GeoJSON, TopoJSON

     ogr2ogr -f geojson [geojson_file] [shp_file]
     topojson -p -o [topojson_file] [geojson_file]
  4. Simplify GeoJSONs with (with Visvalingam / weighted area, 1% simplification)

  5. Convert simplifies GeoJSONs to KML

     ogr2ogr -f kml [simplified_geojson_file] [kml_file]


Shapefile, KMZ, RData

To download data files, run:

make get_gadm


Created from shapefiles with ogr2ogr -f geojson [filename]-geo.json [filename].shp.


Created from GeoJSON files with topojson [filename]-geo.json -o [filename]-topo.json --properties.



To download file, run:




  1. Get a precinct raw table file (국회의원지역선거구구역표) and store it as text file like popong/precinct/precianct_table_20.txt.

  2. The next step is to create a mapping from each municipality/submunicipality in the table to a code in the kostat map file.

     cd popong/precinct
    • But, if you do not have an up-to-date map file (e.g., the most recent one was created in 2013), you need to define exception cases (e.g., submunicipality can be renamed or splitted) on the file before you run the file.
    • Once the code is successfully run, a geojson file containing a list of submunicipalities, each with the corresponding precinct will be created.
  3. We can now create a precinct map by merging submunicipalities into precincts using mapshaper or similar tools.

     mapshaper merge_ready_submunicipalities_into_precinct_20.json -dissolve precinct_no copy-fields=precinct_name,province -o assembly-precinct-20-geo.json
    • You might want to create TopoJSON from GeoJSON
    • To make the size of data smaller and make boundaries prettier, you can simplify it. The simplified versions in this repository were created by creating the simplified version of submunicipality file before we run file.
        topojson -p --simplify-proportion 0.4 -o submunicipalities-topo-simplified.json submunicipalities-topo.json


Copyright and License



  • KOSTAT: Free to share or remix.
  • GADM: For non-commercial purposes only. Redistribution not allowed.
  • POPONG: Creative Commons License
  • Wikimedia: GNU 1.2+