標準地域メッシュCSVをQGISに直接追加するプラグインを作りました
ども、karaGRです。
FOSS4G Advent Calendar 2016 8日目の記事です。
http://qiita.com/advent-calendar/2016/foss4g
昨年に続き標準地域メッシュネタで。
メッシュコードの記入されているCSVをQGISに直接追加するプラグインを作りました。
GitHub - karaGR/JpnStdMeshImport
使い方
まずは標準地域メッシュコードの入ったcsvを用意します。
ここではe-statの地図で見る統計(統計GIS) 政府統計の総合窓口 GJ01000001から、
"平成22年国勢調査(国勢調査-世界測地系250mメッシュ) 2010/10/01"の
"男女別人口総数及び世帯総数(東京都特別区部、政令指定都市及び県庁所在地)"の
1次メッシュコード:6441のデータをダウンロードしました。
"JpnStdMeshImport"プラグインをインストールしたQGISで、
"プラグイン"メニュー→"標準地域メッシュツール"の
"標準地域メッシュレイヤの追加"を呼び出すと次の窓が開きます
"参照"をクリックしてファイル選択窓を開き,
追加するCSVを選択、文字のエンコードを指定してファイルを開きます。
csvの1~10行が表示されます。
レイヤ名、スキップするヘッダ行数、フィールド名の有無を設定、
測地系を選択、
レイヤとして追加されました!
後はこれを加工して好きな形式で保存するだけです。
いちをー確認。FOSS4G 2016 Hokkaidoの会場付近を拡大すると、
250mメッシュが生成されてます。
追記:そーいえば来週、同じ会場でOFF4G Hokkaidoが開催されるそうですよ。
会場の250mメッシュコードは "6441436042" になります。
off4ghokkaido16.peatix.com
処理について
このプラグインでは、
・元csvのメッシュコードをWKT (Well-known text)に変換し
・元csvにwktを追加した****_wkt.csvを作成
・QGISの"デリミッドテキストレイヤの追加"で****_wkt.csvを読み込む
という処理をしています。
途中、メッシュコードのチェックとして
・数字以外の文字チェック
・桁数チェック
・重複チェック
の3つを入れてます。
コードの解説は・・・追記します(年内には、、、なんとか・・)
おわりに
"とりあえず動ぐ"ところにたどり着いたのが昨日の夜だったので、
・UbuntuのQGIS2.14.9環境以外ではテストしてません。
・メッシュコードのそれぞれの数字のチェックは実装できてません。
→たとえば、2次メッシュコードの5-6桁目に8以上の数字が含まれているとか・・・
その場合、異なる場所にメッシュが生成されるハズです。
他の環境でのテスト&修正は追々やります。スミマセン。
とりあえずいじってみてくださいね〜