蝸牛の歩み

蝸牛の如く,ゆっくりでも着実に前へ・・・

みんなでGISで地図上にプロットするのは意外と大変

生物の分布に関する研究をしていると、論文なり報告書なりで分布図を作成することが多々ある。地点が少なければ、Illustrator上でプロットしてもよいのだが(実際、前の論文ではそうした)、地点や種数が多くなるとそうもいかない。しかし、各人が様々な方法を模索しており、私や四国のアマチュア蝸牛研究者YN氏のようにソフトを自作したり、滋賀県のアマチュア蝸牛研究者OTN氏のようにエクセルで分布図を作成する方法を編み出したりしているが、どれも一長一短で決め手に欠ける。

さて今回、「みんなでGIS」というフリーソフトがあると教えてもらったので試してみた。しかし、こいつがなかなか曲者で、わかりにくいは、すぐ落ちるはで大変なのである。

以下、四苦八苦しながらなんとかプロットのまねごとができるようになったので、メモである。

  • 「みんなでGIS」をインストール。
    • データの置いてあるフォルダにショートカットを作成し、作業フォルダをそのフォルダにする。
    • そのショートカットから「みんなでGIS」を起動。
  • 地図をBitmapファイルで用意する。
    • 「データ入力編集・空の図形の発生」→「BMP画像ファイル→ラスタファイル」をクリック
    • ファイル読み込みを行う。
    • コントロールポイントを指定し、ファイル変換する。しかし、誤差が50pixelくらいある……
  • 採集地点のデータをCSVで用意する。
    • 3次メッシュコードの場合は、Excelなどで経度緯度に変換する。A列に3次メッシュが入っているとして、以下のような計算式だと思う(けど未検証)
経度=100 + MID(A1, 3, 2) + MID(A1, 6, 1) / 8 + MID(A1, 8, 1) / 80 + 1 / 160
緯度=MID(A1, 1, 2) * 2 / 3 + MID(A1, 5, 1) / 12 +  MID(A1, 7, 1) / 120 + 1 / 240
    • 「データ入力編集・空の図形の発生」→「地点の経緯度を一括変換」をクリック
    • 「読込」して「変換実行」するとベクトルファイルが作成できる。

このまま「画像ファイルに出力」を行うと、地図(ラスタファイル)と採集地点(ベクトルファイル)とでスケールが違うのである。すなわち、ラスタファイルの方はXY座標が経緯度の値そのままになっているが、ベクトルファイルは独自の座標系に変換されてしまっている。ということで……

    • ベクトルファイルをExcelで開いて、XY座標を経緯度にする。経緯度の列が残っているはずなので、それをXY座標の列にコピーペーストする。
  • 「画像ファイルに出力」をクリック
    • 「表示するファイル」として「ベクトル.csv」、「背景のラスタ・ファイル」として「raster.csv」を指定する
    • 「出力」のところで、範囲はベクトルファイルのMinとMaxになっているので、地図全体を表示したかったら地図の経緯度の最小値、最大値を入力する(「raster.csv」を開けば、先頭の方にある)。
    • 画素サイズはよくわからないが、出力サイズが適当なpixelになるように0.0005くらいを入力。
    • 線の太さは3くらいを指定

これでとりあえず分布図らしきものが表示されるようになった。しかし、地図とプロットが相当ずれている。地図のキャリブレーション時点で50pixelくらいの誤差があったので、当然だろうが。また地点がなんだか少ないような気がしなくもない。まだ調整が必要なようだ。

他にきれいな図を簡単に作成できる方法、ありませんかねえ。「みんなでGIS」だと出力がビットマップなので解像度に問題があるけど、PostScriptで出力するソフトを作ればきれいかなぁと妄想しています。