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 https://github.com/southkorea/seoul-maps
Description
Formats
The following formats are available:
shp
,
kml/kmz
,
svg
,
GeoJSON
,
TopoJSON
,
and RData
.
Sources
Data is acquired from the following sources:
- KOSTAT: Administrative division geodata for Census (μΌμμ€μ© νμ ꡬμκ²½κ³), 2011|2012}2013
- GADM: Global administrative areas
- POPONG: National Assembly Precinct (μ 거ꡬ), Hand-traced (for production)
- Wikimedia: Administrative divisions map of South Korea
Levels
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λ κ΅ν μ§μꡬ
Data
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
Requirements
brew install gdal
npm install -g topojson
KOSTAT (2013)
-
-
Projection files are provided here. Otherwise, copy the snippet below and save to a separate
prj
file having the same name as theshp
file.PROJCS["Bessel_1841_Transverse_Mercator",GEOGCS["GCS_Bessel_1841",DATUM["D_Bessel_1841",SPHEROID["Bessel_1841",6377397.155,299.1528128]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",200000.0],PARAMETER["False_Northing",500000.0],PARAMETER["Central_Meridian",127.0028902777778],PARAMETER["Scale_Factor",1.0],PARAMETER["Latitude_Of_Origin",38.0],UNIT["Meter",1.0]]
- 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.
-
-
Download and install QGIS. With QGIS for each shapefile:
-
Save as
, with CRS and data encoding as shown in the image below.
- Change CRS from Korean 1985 / Modified Central, EPSG:5174 to WGS84, EPSG:4326
- Change data encoding from System to UTF8
-
Convert
shp
to GeoJSON, TopoJSONogr2ogr -f geojson [geojson_file] [shp_file] topojson -p -o [topojson_file] [geojson_file]
-
Simplify
GeoJSON
s with http://mapshaper.org/ (with Visvalingam / weighted area, 1% simplification) -
Convert simplifies
GeoJSON
s toKML
ogr2ogr -f kml [simplified_geojson_file] [kml_file]
GADM
Shapefile, KMZ, RData
To download data files, run:
make get_gadm
GeoJSON
Created from shapefiles with ogr2ogr -f geojson [filename]-geo.json [filename].shp
.
TopoJSON
Created from GeoJSON files with topojson [filename]-geo.json -o [filename]-topo.json --properties
.
Wikimedia
SVG
To download file, run:
wget http://upload.wikimedia.org/wikipedia/commons/7/77/Administrative_divisions_map_of_South_Korea.svg
POPONG
Precinct
-
Get a precinct raw table file (κ΅νμμμ§μμ 거ꡬꡬμν) and store it as text file like
popong/precinct/precianct_table_20.txt
. -
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 python create_mapping_precinct_to_map.py
- 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
mismatch_case_precinct_map.py
file before you run thecreate_mapping_precinct_to_map.py
file. - Once the code is successfully run, a geojson file containing a list of submunicipalities, each with the corresponding precinct will be created.
- 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
-
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
create_mapping_precinct_to_map.py
file.
topojson -p --simplify-proportion 0.4 -o submunicipalities-topo-simplified.json submunicipalities-topo.json
Examples
- λνλ―Όκ΅ μꡰꡬ μ§λ (KOSTAT KML, 2013)
- μ°λ¦¬λλΌ μκ΅°κ΅¬λ³ μΈκ΅¬λ°λ μκ°ν (KOSTAT TopoJSON, 2012)
- μ°λ¦¬λλΌ λμλ³ μΈκ΅¬μ μκ°ν (KOSTAT TopoJSON, 2012)
- 19λ κ΅ν μ§μꡬ μ§λ (POPONG TopoJSON)
- 20λ κ΅ν μ§μꡬ μ§λ (POPONG TopoJSON)
- μλ μκ°ν (POPONG SVG)
- μλ μκ°ν (GADM TopoJSON)
- μꡰꡬ μκ°ν (GADM TopoJSON)
- ...add yours to this list!
Copyright and License
Contributors
- Lucy Park (Team POPONG)
- Justin Meyers
License
- KOSTAT: Free to share or remix.
- GADM: For non-commercial purposes only. Redistribution not allowed.
- POPONG:
- Wikimedia: GNU 1.2+