karaGR's memo

FOSS4G R python さんぽ

標準地域メッシュCSVをQGISに直接追加するプラグインを作りました

ども、karaGRです。

FOSS4G Advent Calendar 2016 8日目の記事です。
http://qiita.com/advent-calendar/2016/foss4g

昨年に続き標準地域メッシュネタで。
メッシュコードの記入されているCSVQGISに直接追加するプラグインを作りました。
GitHub - karaGR/JpnStdMeshImport

使い方

まずは標準地域メッシュコードの入ったcsvを用意します。
ここではe-statの地図で見る統計(統計GIS) 政府統計の総合窓口 GJ01000001から、
"平成22年国勢調査国勢調査世界測地系250mメッシュ) 2010/10/01"の
"男女別人口総数及び世帯総数(東京都特別区部、政令指定都市及び県庁所在地)"の
1次メッシュコード:6441のデータをダウンロードしました。


"JpnStdMeshImport"プラグインをインストールしたQGISで、
"プラグイン"メニュー→"標準地域メッシュツール"の
"標準地域メッシュレイヤの追加"を呼び出すと次の窓が開きます

"参照"をクリックしてファイル選択窓を開き,
追加するCSVを選択、文字のエンコードを指定してファイルを開きます。

csvの1~10行が表示されます。

レイヤ名、スキップするヘッダ行数、フィールド名の有無を設定、

メッシュコード列、地域メッシュ種別を選択、
 

測地系を選択、

すべて設定したら、OKをクリック

レイヤとして追加されました!

後はこれを加工して好きな形式で保存するだけです。

いちをー確認。FOSS4G 2016 Hokkaidoの会場付近を拡大すると、

250mメッシュが生成されてます。

追記:そーいえば来週、同じ会場でOFF4G Hokkaidoが開催されるそうですよ。
   会場の250mメッシュコードは "6441436042" になります。
off4ghokkaido16.peatix.com


処理について

このプラグインでは、
・元csvのメッシュコードをWKT (Well-known text)に変換し
・元csvwktを追加した****_wkt.csvを作成
QGISの"デリミッドテキストレイヤの追加"で****_wkt.csvを読み込む
という処理をしています。

途中、メッシュコードのチェックとして
・数字以外の文字チェック
・桁数チェック
重複チェック
の3つを入れてます。

コードの解説は・・・追記します(年内には、、、なんとか・・)

おわりに

"とりあえず動ぐ"ところにたどり着いたのが昨日の夜だったので、
UbuntuのQGIS2.14.9環境以外ではテストしてません。
・メッシュコードのそれぞれの数字のチェックは実装できてません。
  →たとえば、2次メッシュコードの5-6桁目に8以上の数字が含まれているとか・・・
   その場合、異なる場所にメッシュが生成されるハズです。
他の環境でのテスト&修正は追々やります。スミマセン。

とりあえずいじってみてくださいね〜