国土数値地理情報から白地図を作る。4


県境なしの白地図を作ります。県境を削除するには市区町村の境界線を消したのと同じ様な手順で作業をします。そして、現在のデータ量ではIllustratorでの表示には重すぎるのでデータを軽く扱いやすいサイズまで落とします。

プログラムは次の通りです。前回のものに県境を消す処理を追加しています。そしてXMLで座標データを保存してSVGを作成します。XMLフォルダにある各県の輪郭データを読み取ります。そしてjapanPrefNoBound.svgというSVGファイルを作成します。計算結果はjapanPrefNoBound.xmlに保存します。このスクリプトは実行にかなり時間がかかるので次回の描画からはこのXMLファイルを読み取って描画する事にします。
つまりここで作成したSVGは確認用です。

plotXML2JapanPrefNoBound.php

このスクリプトで作成したSVGファイルは227MBもあり、描画は向きではありません。細かい部分も入っているのでデータ数を減らす工夫が必要になります。下図はChromeで表示したSVGのスクrーんショットです。

県境が入っているデータも同様にデータを減らす必要があります。できれば県で閉じたパスにしたいのですが、隣の県との県境を合わせた形で座標点を間引く必要があるので、その処理をどうやろうか?ちょっと考えます。

とりあえず日本の海岸線のデータだけであれば今回作成したXMLデータを元にすれば良いのでそれを元にデータを減らします。点と点の距離を計算してある値以下なら座標データを削除します。

その次に一定数以下のデータは削除します。

プログラム全文は次の通りです。
plotJapanOutline.php

これで描画した図です。Illustratorのプレビュー表示のスクリーンショットです。SVGファイルは8.2MBになりました。

小さな島を削除するともっとデータ軽くできそう。