国勢調査のデータをダウンロードして、QGISの地図上に表示する方法を解説します。

この解説を読むと自分が選んだ地域の国勢調査の結果を地図上に表示できるようになります。

はじめに

GISを使うのであれば様々なデータを表示して分析を行うのが大きな目的です。
まずは、人口などの国の基本統計調査である国勢調査をGISに取り込む方法を知ってGISにデータを取り込む要領を掴みましょう。

QGISをインストールして地図を表示する方法でQGISのインストールと地図の表示方法について解説しています。
まだの方は先にこちらの記事を参照にQGISのインストールと地図を表示させておきます。

国勢調査の結果はGIS用に加工されたデータが公開されています。
しかしGIS用のデータであっても、そのデータをQGISで表示するには設定が必要です。
QGISの初心者にとっては少しわかりづらい設定ですが、慣れていない方でも理解できるように、すべての手順をひとつずつ画像付きで解説していきます。

それではさっそく国勢調査のデータをダウンロードしてみましょう。

国勢調査のGISデータをダウンロードする

国勢調査のGISデータはe-Stat 政府統計の総合窓口からダウンロードできます。
このサイトは政府が運用している情報公開サイトで色々な省庁や地方自治体が調査した統計調査結果等がオープンデータとして公開されています。

このサイトにアクセスするとこのような画面が表示されます。

色々な項目があって迷ってしまいそうですがGIS用のデータをダウンロードできるページへは上から2段めにある「地図上に統計データを表示(統計GIS)」から行けます。
リンク先に移動するとこのような画面に変わります。

ダウンロードするGIS用データは2つの種類があります。
両方ともこのページからダウンロード可能です。
初めに上から2番めにある「統計データダウンロード」というところをクリックします。
するとこのような画面に変わります。

国勢調査の他にも色々な統計調査の結果が一覧となって表示されています。
この一覧から国勢調査を選んでクリックします。
するとこのような画面に変わります。

今回は最新の 2015年の調査結果をダウンロードするため、2015年と書いてあるところをクリックします。
するとこのような画面に変わります。

ここではデータの区分を選ぶことができます。今回は小地域を選択します。
これは町丁字ごとに国勢調査の結果がまとめられたデータです。
小地域をクリックするとこのような画面に変わります。

この画面では国勢調査の中の調査項目を選ぶことができます。
人口や世帯構成、職業等国勢調査の結果は様々な項目でまとめられています。
今回はこの中から年齢別人口のデータをダウンロードしてみることにします。
「年齢(5歳階級、4区分)別、男女別人口」と書かれたところをクリックします。
するとこのような画面に変わります。

この画面ではどの都道府県のデータをダウンロードするかを選ぶことができます。
この記事では東京都のデータを選択しますが、他の都道府県を選んでもこの後の操作は同じなのであなたが好きな都道府県を選びましょう。

選んだ都道府県の行の右端にあるCSVと書かれたところをクリックします。
するとデータのダウンロードが始まります。
これで1つ目のデータをダウンロードできました。

続けてもう一つのデータをダウンロードするので「地図で見る統計」に戻ります。
先ほどは「統計データダウンロード」というところをクリックしましたが今回は「境界データダウンロード」と書かれているところをクリックします。
するとこのような画面に変わります。

先ほどと同じように小地域を選んで、次の画面で国勢調査、2015年を選びます。
するとこのような画面に変わります。

ここでも再び小地域を選びます。
すると今度はこのような画面に変わります。

これはGISのデータ形式を選ぶ画面です。

ちょっと専門的なことなので今回は解説を割愛します。
ただ、GISを使用する上で絶対に知っておく必要がある大事な事柄であるので今後この内容に特化して詳しく解説を行う予定です。
ここでは下から2番目の「世界測地系平面直角座標系・Shapefile」を選びます。
クリックするとこのような画面に変わります。

都道府県を選択する画面です。
都道府県は先ほどダウンロードしたデータと同じ都道府県を選択します。
都道府県を選択するとこのような画面になります。

選択した都道府県の中の市区町村をさらに細かく選択できます。
都道府県全体でも選択できますが、この記事では東京都豊島区を選びます。
選んだ自治体名が書かれた行の右端にある青色で示された文字列をクリックします。
するとデータのダウンロードが始まります。

これまでの手順で二つのデータをダウンロードしました。
ダウンロードフォルダにはこのような感じで二つのファイルがダウンロードできていると思います。
ファイル名に含まれる数字は選んだ都道府県によって変わるのでこの画像と全く同じではない場合もあります。

ダウンロードしたデータをGISに取り込む準備をする

それでは2つのファイルを展開してみましょう。
するとそれぞれフォルダーが作成されます。

片方のフォルダーにはこのようなテキストファイルが入っています。

もう片方のフォルダーにはこのような見慣れない形式の4つのファイルが入っています。

これから、これらのデータをGISに取り込むための準備として少し加工作業を行います。
最初に作業を行うのは、テキストファイルの方です。

テキストファイルを表計算ソフトで開き、内容を少し編集してファイル形式を変更します。
ここでは、Excelを使用して説明します。

まず、Excelを起動し、「空白のブック」を作成します。
このような画面が表示されます。

メニューの「データ」を選択します。
表示されるメニューから「テキストファイル」を開きます。

ファイルを選択するウインドウが表示されますので、ダウンロードしたテキストファイルが入っているフォルダへ移動しテキストファイルを選択します。
すると、「テキスト ファイルウィザード」という画面が表示されます。

この画面で下の画像のように「カンマやタブなどの区切り文字によってフィールドごとに区切られたデータ」にチェックを入れ、「次へ」をクリックします。

続いて表示される画面では、下の画像のように「カンマ」にチェックを入れ、「次へ」をクリックします。

続いて表示される画面では、「データプレビュー」エリアに複数の列が表示されています。
まず、一番左の「KEY_CODE」というところを選択し、続けて「列のデータ形式」エリアで「文字列」にチェックを入れます。
以下のような状態になれば成功です。

同じ手順を「データプレビュー」エリアの左から6番目(HTKSAKI)と7番目(GASSAN)に対しても行います。
以下のような状態になれば成功です。

はじめは「G/標準」と表示されていた所が「文字列」と変わっています。
ちゃんとなっていることを確認したら「完了」をクリックします。

すると以下のような画面が表示されます。


「既存のワークシート」にチェックを入れ、入力欄が「=$A$1」となっていることを確認し 「OK」をクリックします。

するとExcelにテキストファイルが読み込まれ、以下のような画面が表示されます。
なお、データの数値等はダウンロードした都道府県によって異なります。

これを少し加工します。
下の画面のように「A1」から「G1」までの文字列を選択します。

そして、コピーして1つ下の行に貼り付けます。
以下の画面のようになると成功です。

うまくできたら一番上の行を削除します。
するとこのような感じになります。

うまくできたらファイルを保存します。
保存する際には、ファイル名は変更せずに、「ファイルの種類」の選択ボックスから「CSV(カンマ区切り)」を選択します。
以下のような状態にして「保存」をクリックします。
なお、ファイル名はダウンロードした都道府県によって異なります。

これで、後ほどGISソフトに取り込んで地図上に表示する国勢調査のデータが作成できました。
しかし、GISソフトに取り込む前に、もう一つやることがあります。

データ形式の説明

このまま取り込むと問題が発生してしまいます。
問題とはこのままだとGISソフトが、csvファイルに書かれている人口などの数字をすべて文字列のデータとして認識してしまいます。

少し専門的な話になりますが、表計算ソフトエクセルなどでもそうですが、データの扱い方の種類として「数値」と「文字列」が区別されます。
表計算ソフトで足し算や引き算等の計算をする場合、数値のデータ同士でしないとエラーになります。
文字列はただの文字として扱うため、例えその計算するデータが「1」と「2」であっても計算ができません。
「あ」と「い」である場合と同じように扱われます。

例えば、文字列として扱われた「1」と「2」を足し算するということは、表計算ソフトにとって「あ+い」の計算の指示を出されているのと同様で結果を求めることができないのです。
なので、計算をしたい数字のデータは、文字列でなく数値データである必要があります。

話をもとに戻しますと、先程のcsvファイルをそのままGISに取り込んでしまうと、含まれる数字が全て文字列として取り込まれてしまいます。
例えば人口の集計などの計算をしたい場合に、計算が出来ない状況に陥ってしまうのです。
これを解消するためには、データを扱う人間が直接、このデータは文字列、このデータは数値といったふうに指定してあげないといけません。

csvのデータ形式を指定する

それでは指定する方法を解説します。
面倒ですが難しくはありません。

まずcsvファイルと同じ場所に空のテキストファイルを作ります。
そしてファイル名をcsvファイルと同じ名前にして、csvとなっているところを、csvtと変更します。
この csvt ファイルをメモ帳などテキストエディタで開きます。
そしてcsvファイルも開きます。見比べながら作業する必要があるのです。

csvファイルの列の順番で、文字列としてデータを扱いたい場合は「string」、数値としてデータを扱いたい場合は「integer」とテキストエディタで開いているcsvtファイルに入力していきます。

基本的に、csv上で文字が記載されているところは「string」、数字が書かれているところは「integer」と判断しますが、数字であっても文字列としてデータを扱う必要がある列もあります。
今回のデータの場合、左から1番目、6番目、7番目の列がそのようなデータです。

まず、一番左の列は「文字列」としてデータを扱うので、テキストエディタに「string」と入力します。
そして「,」を入れます。

続いて2列目は数字が入っているので「integer」、「,」をはさんで次は文字が入っているので「string」と入力します。そして「,」を入れます。
これを続けます。6列目、7列目は、数字が入っていますが「文字列」としてデータを扱うので「string」と入力します。

このような形でCSV の左の列から順番に数値か文字かを判断しながら「string」もしくは「integer」と「,」を挟みながら入力していきます。
注意!全て半角で記入してください。

このような感じで記入していきます。

今回の CSVファイルの全ての列でデータ形式を指定すると以下のような量になります。

なお、国勢調査の2015年の年齢別人口のデータであれば都道府県を問わず同じものが使用できますので、作成するのが面倒な場合は以下のリンクからダウンロードしてください。ファイル名はあなたのcsvファイルと同じ名前にするのを忘れないようにしましょう。

作成した CSVtファイルはこのような形でCSVファイルと同じ場所に保存します。

国勢調査のデータをGISに取り込む

これでデータの準備が整いましたのでGISへの取り込みに進みましょう。
まず、QGISを開きます。QGISを開いてQGISをインストールして地図を表示する方法で解説した要領で地図を表示します。
このような感じです。

この画面では東京都豊島区付近を表示しています。
表示する場所は、今回データをダウンロードした地域付近にしてみましょう。
ここから、先ほどダウンロードした2つのデータをGISに取り込んで行きます。
1つ目は、以下のようにメニューの「レイヤ」というところをクリックして、出てきたメニューから「レイヤの追加」、そして「ベクタレイヤの追加」を選択します。

するとこのようなウインドウが表示されます。

ベクタデータセットと書かれている欄の右端にある点が三つ並んでいるところをクリックします。
するとファイルを選択する画面が出ますので先ほどデータをダウンロードしたフォルダに移動します。
今回選択するファイルは見慣れない形式の4つのファイルが入ってるフォルダです。csvファイルがある場所では無いほうです。

4つあるファイルのうち、ファイル名の最後がshpで終わるファイルを選択し、「開く」をクリックします。

このウインドウに戻ってきたら下にある「追加」ボタンをクリックします 。

すると地図の画面に戻ります。
しかも、地図上に自分が選んだ地域の形が出てきていると思います。

続いてもう一方のファイルを取り込みます。
先ほどと同じくメニューの「レイヤ」から、「レイヤの追加」を選択し、今度は「デリミティッドテキストレイヤの追加」というところを選択します。

するとこのような画面になります。

今度はファイル名と書かれた欄の右端にある点が3つ並んだところをクリックします。
先ほどと同じくファイルを選択する画面が出ますので、先ほど編集したcsvファイルの場所に向かいます。
そしてcsv ファイルを選択し開くをクリックします。

するとこのような画面になります。

画像の赤枠で囲んだチェックボックスにチェックが入っていることを確認します。
チェックが入っていない場合は四角のところをクリックしチェックを入れます。
チェックが入ってることを確認したら、下にある「追加」をクリックします。

するとまた地図の画面に戻ります。

左下のレイヤーというボックスにはOpen Street Map に加えて 2つの文字列(レイヤー)が表示されていると、無事に取り込みに成功しています。

CSVデータを結合する

今は別々のレイヤーに別れていますが、これを1つに結合させてデータ取り込みは完了です。
3つのレイヤーのうちh27で始まるレイヤー名の上で右クリックしメニューを出します。そして、メニューからプロパティを選択します。

レイヤプロパティという画面が表示されます。

左に文字がたくさん並んでいますが、真ん中あたりにある「結合」という文字列をクリックします。
するとこのような表示に変わります。

下の方にある緑色で「+」と書かれたところをクリックします。
するとこのようなウインドウが表示されます。

「レイヤの結合」という選択メニューの右端にある下矢印のところをクリックし、表示される文字列を選択します。
続いて「結合フィールド」という選択メニューの右端にある下矢印のところをクリックし、表示される文字列の中から「KEY_CODE」と書かれているところを選択します。
さらにその下の「ターゲットフィールド」という選択メニューの右端にある下矢印のところをクリックし、表示される文字列の中から同じく「KEY_CODE」と書かれているところを選択します。
最後に、一番下の「フィールド名の接頭辞」と書かれたチェックボックスにチェックを入れます。
そして、その下に出てくるボックスに書かれている文字列を削除します。

ここまでできたら「OK 」をクリックして元の画面に戻ります。


この画面で下の方にあるOKをクリックすると地図の画面に戻ります。

結合したデータをファイルに保存する

すでに2つのレイヤーを結合できた状態ですが、あくまでQGIS上で一時的に結合しているだけなので、結合したファイルとして保存します。
今後はこのファイルを取り込むだけで、これまでやった作業をしなくてもすみます。

結合したファイルとして保存するには、H27で始まるレイヤーの上で右クリックし、出てきたメニューからエクスポートを選択し、さらに地物の保存を選択します。

すると、このようなウインドウが表示されます。

「形式」の選択メニューが「GeoPackage」となっているのを確認して、「ファイル名」と書かれた欄の右端にある点が3つ並んだところをクリックします。
下の画像のように自分が分かりやすい名前を付けて保存を選択します。

元のウインドウに戻るのでOKをクリックします。

すると地図の画面に戻ります。

先ほどの地域の形の色が少し変わっていると思います。
そして左下にあるレイヤーボックスに1つレイヤーが追加されています。

最初に取り込んだ2つのレイヤーはもう不要なので削除してしまいます。
削除するには、削除したいレイヤー名の上で右クリックをして、出てきたメニューから「レイヤの削除」を選びます。

2つとも削除すると、Open Street Mapと先程あなたが設定した名前のレイヤーの2つが表示されている状態になっています。
このあなたが設定した名前のレイヤがGISへ取り込みが完了した国勢調査のデータです。
ここまでできると、人口を視覚化したりすることが可能になります。

取り込んだ国勢調査データを確認してみる

少しデータの中身を確認してみましょう。
あなたが名前を設定したレイヤー名の上で右クリックし、「属性テーブルを開く」というメニューを選択します。

すると、このようなウインドウが表示されます。

あなたが選択した地域の町丁字の名前が並んでいると思います。
下の方にあるスクロールバーを右にずらしていくと人口のデータが表示されます。
データは5歳区切りの人口が小地域ごとに含まれています。
最初に男女合わせた総数の人口が表示され、その後同じく5歳区切りの男性の人口に変わり、最後に女性の人口が表示されます。
今はデータの内容を確認しただけなので他には何もせず右上のバツマークでウィンドウを消します。

地図上の国勢調査結果を小地域ごとに人口に応じて色分けする

最後に、今は1色で表示されている地図上の地域を人口の多さに応じて色分けする方法を解説します。
左下のレイヤーボックスのあなたが設定した名前のレイヤーの上で右クリックしプロパティを選択します。

すると、このようなウィンドウが表示されます。

もしこの画像と違う表示内容であった場合は、左側に並んでいる文字列の中からシンボロジーという文字列を選択します。
このシンボロジーという設定画面は、地図上に表示した要素の色や大きさなどの見た目を設定する画面です。
ペイントソフトのように単純に色を選ぶだけではなく、先ほど見たデータの内容に応じて色や大きさを設定することができます。

ここでは総人口の多さに応じて色を変える設定をしてみます。
人口が少ない小地域の方が青系統、人口が多い小地域の方が赤系統の色で表示されるように設定してみます。

一番上の「単一のシンボル」と書かれた選択メニューの右端にある下矢印をクリックし「段階に分けられた」を選択します。

そしてカラムと書かれた選択メニューの右端にある下矢印をクリックし、下の方にある「総数〜」という文字列を選択します。

続いて、カラーランプと書かれた選択メニューの右端にある下矢印をクリックし、「Spectral」と書かれた所を選択します。

続けて、同じくカラーランプと書かれた選択メニューの右端にある下矢印をクリックし、1番上にあるカラーランプを反転のチェックボックスにチェックを入れます。

元の画面に戻ったら、真ん中の下の方にある「分類」と書かれたところをクリックします。
すると画面の中央に色が異なる5つの表示が出てきたと思います。

値と書かれた列に表示されているのは人口の数値で、その数値の範囲内の人口である小地域は、その左にある色で表示されます。
それでは、一番下にあるOKをクリックします。

すると地図の画面に戻ります。
そしてあなたが選択した地域の形が色分けされて表示されていると思います。
赤系統の色は人口が多い地域、青系統の色は人口が少ない地域で表示されており、人口が多い地域と少ない地域がひと目でわかります。

総人口なので、あなたがダウンロードした地域によっては面積が大きい小地域では自然と人口が多くなり赤系統の色になっていたり、人口集中地域であっても面積が非常に小さい小地域では人口が少なく青系統の色になっていたりすることもあります。
人口の密集具合を視覚化したいときには人口密度を表示すると分かりやすいです。

今回解説した要領で、データを取り込むことができれば後は人口密度を計算して表示することもできます。
また特定の年齢層の人口だけを表示したり、データを使ったいろいろな表示方法であなたが知りたい情報を分析することができます。

まとめ

今回は、国勢調査のデータを取り込んで地図上に表示するところまでを解説しました。
今後、データを計算して表示する方法も解説します。
総人口を面積で割って小地域ごとの人口密度を算出して地図上に表示することもできるようになります。

今回は人口のデータを使いましたが、このホームページには人口以外にも他の国政調査データが公開されています。
それらのデータをも基本的に同じ要領でQGISに取り込めるので是非試してみてください!

それでは今回の解説はここまでとなります。
また次回以降よろしくお願いいたします。

使用したデータ

0 返信

返信を残す

Want to join the discussion?
Feel free to contribute!

コメントを残す

メールアドレスが公開されることはありません。