該儲存庫以開放格式託管韓國行政區地理數據,可用於建立靜態和互動式地圖(例如使用 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