社会ノマド

備忘録と書きもの練習帳。とくに何らかのハンドリング系と、雑多な話題に関する読書録になるかなと思います。

人口・駅データをプロット

目的はQGISを使って地図上に人口および駅をプロットすること。いろいろな分析の基礎になりますからやっておいて損はなさそうですね。QGISはインストール済みを想定しています。

QGISはレイヤを重ねていくことで表示するので順番に3つを重ねていきます。

  1. 日本地図
  2. 人口
  3. 駅・路線図

日本地図

国土数値情報の行政区域からshapeファイルをゲット。

レイヤ > レイヤの追加 > ベクタレイヤの追加 > ブラウズ

で該当する.shpを開けばこんな感じになります。ひとまず日本地図のプロットに成功! f:id:zawazawalong:20160115184619p:plain

人口:国勢調査データ

つづいて人口について。ここ参照です。国勢調査のデータを用います。流れは以下。

  1. 国勢調査データのダウンロード
  2. QGISへの読み込みとひも付け
  3. 人口で塗り分け

国勢調査データのダウンロード

e-Statから、国勢調査500mメッシュを取得。自分の欲しい該当コードに当たるデータをダウンロード。今回は東京を落としてみます。番号は5339。

shape形式をダウンロード。すると、「H002005112009DDSWH05339」にはshapeデータとidが、「tblT000609H53390」の方には.txt形式で国勢調査データが入っている。このとき.txtファイルの拡張子を.csvに書き換えておく。

読み込みとひも付け

読み込み

shapeファイル、csvをそれぞれベクターデータで読み込む。これで各地域を500m単位で四角く区切ったメッシュデータ(shapeファイル)と、各四角区域に何人がいるのか(csvファイル)がそれぞれ読み込まれた。

ひも付け

つづいて、各四角(shape)と人口(csv)を紐付ける必要がある。

メッシュの方(MESH5339)を右クリック。

プロパティ > 結合 > +

結合するレイヤに「tblT000609H53390」、結合するフィールド・ターゲットフィールドに「KEY_CODE」を選択してひも付け完了。MESH5339を右クリック、属性テーブルを開いてやると紐付いているはず。

人口の数値化

とここで注意なのが、人口データがstring形式になっている…。stringは文字なので塗り分けのときに数値として認識してくれない!ちょっとうまいやり方がわからないので、新しい数値の変数を作成し、そこに結合した人口を代入してやることにする。

MESH5339を右クリック、属性テーブルを開く。左上の鉛筆のアイコン「編集モード切替」を押す。続いて「新規カラムを作る」を押す。名前に「people」とかつけて、 タイプに「integer」を選ぶ (このために変数を作ってるのでココ重要)。

これで変数ができるはず。上にあるボックスで左から「people」を選び、右側に「tblT000609H53390_T000609001」(要するにひも付けた最初の列)を選んで右にある「全部更新」のボタン。暫し待つ(反映までちょっと時間かかる)。最後に左上の鉛筆のアイコン「編集モード切替」を押して編集モードを修了する。

人口で塗り分け

いよいよMESH5339を右クリック、オプションでスタイル。「段階にわけられた」を選んでカラム「people」を選ぶ。色階調を適当に選んで、分類数とか適当にいじり分類ボタン。OKをおすとこうなります(やったね!)。f:id:zawazawalong:20160115190800p:plain

駅・路線図:国土数値情報

駅と路線図をプロット

最後に駅と路線図を重ねる。国土数値情報で、鉄道を押して流れに任せてダウンロード。駅と路線を先ほどと同じ要領でベクターで読み込み。

駅のデータと路線のラインがそれぞれ別のデータで得られるのでレイヤーでチェックを入れて重ねる。

駅名を表示

Station 右クリック > オプション > ラベル

ラベルにチェックを入れて「N02_005」を選んでOKを押すと駅名も表示されます。結果が以下!

f:id:zawazawalong:20160115191411p:plain

あとは人口の人数区切りを変えたり、地域を変えたり、路線等々の色を変えたりは個人の好みで。QGISはプロットがきれいやね。