该存储库以开放格式托管韩国行政区地理数据,可用于构建静态和交互式地图(例如使用 D3),并且受到瑞士地图的启发。
要查看首尔地图,请访问 https://github.com/southkorea/seoul-maps
提供以下格式: shp
、 kml/kmz
、 svg
、 GeoJSON
、 TopoJSON
和RData
。
数据从以下来源获取:
韩国行政区划分为三级:
可获得以下数据。
数字是以兆字节为单位的数据大小,按以下顺序排列:国家边界、省、市、子市。括号中的数字是每种格式的简化版本。
格式来源 | 科斯塔 (2013) | GADM | 波蓬 | 维基媒体 |
---|---|---|---|---|
ESRI 形状文件 | 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 |
静止无功发生器 | 0 | 0 | 0, 0.014, 0, 0 | 0, 0, 0.100, 0 |
地理JSON | 0, 31, 52, 0 (0、0.148、0.364、1.7) | 15, 15, 16, 0 | 0 | 0 |
拓扑JSON | 0、1.2、2.0、4.9 (0、0.032、0.0.96、0.812) | 1.5, 1.5, 1.6, 0 | 0 | 0 |
远程数据 | 0 | 1.0, 1.0, 1.2, 0 | 0 | 0 |
brew install gdal
npm install -g topojson
下载形状文件
此处提供投影文件。否则,复制下面的代码片段并保存到与shp
文件同名的单独prj
文件中。
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]]
下载日期
下载并安装QGIS。对于每个 shapefile 使用 QGIS:
将层编码更改为 EUC-KR
Save as
,CRS 和数据编码如下图所示。
将shp
转换为 GeoJSON、TopoJSON
ogr2ogr -f geojson [geojson_file] [shp_file]
topojson -p -o [topojson_file] [geojson_file]
使用 http://mapshaper.org/ 简化GeoJSON
(使用 Visvalingam / 加权面积,1% 简化)
Convert 将GeoJSON
简化为KML
ogr2ogr -f kml [simplified_geojson_file] [kml_file]
要下载数据文件,请运行:
make get_gadm
使用ogr2ogr -f geojson [filename]-geo.json [filename].shp
从 shapefile 创建。
使用topojson [filename]-geo.json -o [filename]-topo.json --properties
从 GeoJSON 文件创建。
要下载文件,请运行:
wget http://upload.wikimedia.org/wikipedia/commons/7/77/Administrative_divisions_map_of_South_Korea.svg
获取一个 precinct 原始表文件 (국회의원지역선거구구역표) 并将其存储为文本文件,如popong/precinct/precianct_table_20.txt
。
下一步是创建从表中的每个市/子市到 kostat 地图文件中的代码的映射。
cd popong/precinct
python create_mapping_precinct_to_map.py
mismatch_case_precinct_map.py
文件上定义例外情况(例如,可以重命名或拆分子市镇)在运行create_mapping_precinct_to_map.py
文件之前。现在,我们可以使用 Mapshaper 或类似工具将子市政合并到辖区来创建辖区地图。
mapshaper merge_ready_submunicipalities_into_precinct_20.json -dissolve precinct_no copy-fields=precinct_name,province -o assembly-precinct-20-geo.json
create_mapping_precinct_to_map.py
文件之前创建 submunicipality 文件的简化版本来创建的。 topojson -p --simplify-proportion 0.4 -o submunicipalities-topo-simplified.json submunicipalities-topo.json