GeoJSONをweb用に軽量化する
「経市区町村値マップ」の読み込み時間低減のため、国土数値情報の行政区域データをもとに、容量の小さいGeoJSONファイルを作成した。
見た目を極力損なわずに、ポリゴンデータの容量を低減する手順をメモする。
手順
- 元データを準備
- ポリゴンデータを簡素化 (mapshaper)
- 不要なジオメトリを削除
- ジオメトリのエラーを修復 (QGIS)
- 都道府県境界データを作成 (QGIS)
元データを準備
例として、国土数値情報ダウンロードサイトより、行政区域データを利用。
各都道府県のファイルには市区町村の区域のデータが含まれており、全国のファイルには市区町村の区域データに加えて、都道府県の区域のデータが含まれるが、ポリゴンの簡素化を行う場合、都道府県の区域データは、簡素化後の市区町村の区域データから生成するほうが望ましい (後述)。
ポリゴンデータを簡素化 (mapshaper)
ダウンロードしたgeojosnファイルをmapshaperをインポートし、ポリゴンデータの簡素化を行う。
かなり大胆に簡素化をしても違和感がないため、経市区町村値マップでは0.50%まで簡素化している。(475MB → 23.5MB)
不要なジオメトリを削除
mapshaperで簡素化すると、点が1つもないジオメトリができてしまうことがある。
各featureの内容を確認し、geometryがnullのものがあれば削除する。(23.5MB → 3.6MB)