mapshaperを使って地図データを軽量化する


概要

mapshaperへの地図(図形)データの取り込み方、軽量化についてメモします。

今回使用するデータ

国土数値情報より、静岡県の津波浸水想定データ(シェープファイル)を利用します。
記載にあるとおり、各所の利用条件には注意してください。

地図データを軽量化する

1. mapshaperを開き、シェープファイルを読み込ませる

A40-16_22.dbf
A40_16_22.prj
A40_16_22.shp
A40_16_22.shx
  • 上記のファイル群をドラッグ&ドロップ。
    • shpだけではダメ。dbfには図形の属性、shpには座標、shxにはこれらのインデックス情報(対応関係)が記されており、座標系を定義するprjとあわせて一括で取り込むようにします。

2. import Optionsを指定してインポートを実行

  • import Optionsに下記を入力し、「Import」ボタンを押してください。
    • encoding=sjis
    • これは日本語の記載を含むdbfを読み込むため。他のケースでうまくいかない場合はdbfのエンコード形式を確認。
  • 他のオプションは一旦そのままでいいと思います。
  • うまくいくと、中央に地図(図形)データのプレビューが表示されます。読み込みファイルに問題があった場合は、中央上のファイル名を押した先で確認できます。

3. 「Console」を開いてデータを変換する

% --dissolve
  • これは図形をまとめる(融合する)コマンドです。用途によりますが軽量化のため、ここでは複数の階層をもっている浸水域を1層に統合しちゃいます。



mapshaper.org_02.png

  • シンプルになりました。
% -proj wgs84
  • これは座標系をWGS84に変換するコマンドです。一度出力したデータの緯度経度が「おかしいな?」と思ったら試してみてください。

4. 「Simplify」を開いてデータを簡略化する

  • 設定そのままで「Apply」ボタンを押したあと、どれだけ簡単にするか(100%-0%)をスライダーで調整。
  • 簡略化なので、浸水域のようなポリゴンデータではラインもぐちゃぐちゃになります。……それは実用面としてどうなの?実際には加工の旨も説明しておくとよいでしょう。

5. 「Export」を開いてデータをファイル出力する

  • 下図はLeafletでの表示例です。