パーソナルツール
現在位置: ホーム 研究室紹介 Satoh 諸活動 Mac環境でgmlをshpに変換

Mac環境でgmlをshpに変換

遺伝子データを扱うのもGISのデータを扱うのも、案外似ています。なおかつ、「下水管を使って下水を浄化しよう」というアイディアをそれっぽく紹介しようとすると、下水管網を地図に落として説明したくなります。ということで、この2年位、結構GISソフトで遊んでいます。

ソフトはフリーソフトのQGISを使うと相当満足できることができますし、データも国土地理院など各所から入手できます。しかし、国土地理院の基盤地図情報から入手可能なデータはxml形式(gml形式)であり、QGISには直接は読み込めません。標高データについてはfgddemimporterというプラグインを用いると読み込めるのですが、それ以外のデータ(ベクトルデータ)については国土地理院が配布している基盤地図ビューア(WindowsのみでMac版なし)を使ってシェープファイルに変換する必要があります。

しかし、基盤地図ビューアを使わないでMac環境だけで基盤地図情報のベクトルデータをシェープファイルに変換する方法があったので、メモしておきます。jpgisgmlv4togml-converter (作者:mizutuu様、https://github.com/mizutuu)を用います。でも、pythonのスクリプトなので、コマンドラインでやります。なおかつ、lxmlやGDALが必要です。これらをまとめて述べておきます。

  1. pythonを使う環境を整備しておく。新品のMacでもpythonはインストールされてはいるが、改めてインストールした方が、多分、良い。その方法を説明しているページは結構あるので、ここでは詳しいことは省略。作業としては、XCode、XCode コマンドラインツール、homebrewをインストールしたのち、pythonをインストール。pythonは2.7と3.4があるが、どっちがいいのかは私にはわからない。とりあえず、両方多分大丈夫。
  2. lxmlをインストールする。本家のページでもわかるのかもしれないが、私はここを参考にした。(インストールの方法は、lxml install mac のようなキーワードで検索した。)
  3. jpgisgmlv4togml-converterをダウンロードして解凍。

 

使い方は次の通り。Terminal上で次のようにコマンドを打つ。

以下のようにしてgmlに変換。なお、ここで生成したgmlは直接QGISに読み込むことができる。

cat (元ファイル.xml) | python (jpgisgml2gml.pyをパス付きで記述) > (変換後ファイル.gml) 

 (途中にある縦棒は、unixで言うところのパイプ。アルファベットのアイではない。)

 

なお、GDALもインストールするとshpに変換でき、また、座標系も変換できる。
 
コマンドラインでの処理は、上手にやると圧倒的に楽。ExcelやFileMakerの文字列操作の関数を使って文字列計算でコマンドを生成すると、とても便利。FileMakerの方が色々な文字列計算ができて強力。
 

 

ドキュメントアクション