大字・町・丁目レベルの人口・世帯数データ + マップデータ + エクセル3D Maps

大字・町・丁目レベルの人口・世帯数データ + マップデータ + エクセル3D Maps

本稿は「大字・町・丁目レベルの人口・世帯数データを活用する (エクセル編)」の続編です。

データについて

境界データ

境界データは
政府統計の総合窓口 e-Stat

地図で見る統計(統計GIS)>小地域>国勢調査>2015年>小地域(町丁・字等別)>世界測地系平面直角座標系・Shapefile >兵庫県>28101 神戸市東灘区

URL:https://www.e-stat.go.jp/gis/statmap-search?page=1&type=2&aggregateUnitForBoundary=A&toukeiCode=00200521&toukeiYear=2015&serveyId=A002005212015&prefCode=28&coordsys=2&format=shape

こちらを使用させていただきました。

世帯数・人口のデータ

神戸市ホームページ
>住民基本台帳に基づく人口(町丁目別・年齢別)
https://www.city.kobe.lg.jp/a89138/shise/toke/toukei/jinkou/juukijinkou.html
令和2年(2020年) 11月のエクセルファイルを使用させていただきました。

注意点

・境界データは2015年の国勢調査によるもの
・世帯数・人口データは2020年11月の住民基本台帳によるものです。

 調査の時間軸が異なるため、境界データの「町名・丁目」と世帯数・人口データの「町名・丁目」が完全に一致しないことがあります。

 その理由として考えられることは、「町名・丁目」の名称変更、統廃合、新規創設などがあるのだろうと思います。

エクセル編集

データ保存
zipファイルを展開

 境界データはzipファイルへ入っています。ダウンロードしてパソコンのフォルダーへ展開します。

dbfファイルを開きます

 zipファイルにはファイル形式が異なる4データが格納されています。
・エクセルを起動します。
・「開く」
・「参照」
・ファイルを保存したディレクトリ
・「すべてのファイル」
・拡張子「.dbf」を選択して開きます。

シートを移動

 「大字・町・丁目レベルの人口・世帯数データを活用する (エクセル編)」で作成したブックへシートを移動します。コピーする必要はありません。

ダブり行をチェック
条件付き書式

 「列G」のダブり行をチェックします。後ほど、この表を結合で使用するのでダブり行があれば削除する(または統合する)必要があります。

 ダブり行があるパタンは「飛び地」です。同一の「町名丁目」が境界を接することなく2か所以上に分かれて存在しているときには、それぞれの境界データが掲載されるのでダブり行になっていることが多いように思います。沖合の島とかも飛び地の一種になっていることもあります。。
 ダブり行があるときは「列H」へ記号が入っているので、そこをチェックすることでも判断できます。

・列G「S_NAME」の列を選択
・「ホーム」タブ
・「条件付き書式」をクリック
・「セルの強調表示ツール」を選択
・「重複する値」をクリックします。

OKです

 目的は重複するデータを発見することなので、色が付けばよいわけですから、そのままOKです。

チェック完了

 今回のデータにダブり行はありませんでした。
 「重複の削除」を使用してサクサクと削除すると危険です。飛び地の無人島の行が残ったりすると、マップへ無人島がプロットされます。
 ダブり行を発見したら、もとデータ表はコピーを保存しておいてから、内容を確認してから削除、または、統合します。

クエリを作成
境界データ

・カーソルをA1へあわせて
・「データ」タブ
・「テーブル」からをクリックします。

パワークエリエディター

 パワークエリエディターが開きます。
・「名前」の窓へタイプして
・「ファイル」タブ
・「閉じて読み込む」をクリックします。

データテーブル

 パワークエリエディターを閉じるとデータテーブル化されたシートが新規作成されます。
 画像の「年齢・人口」のクエリは「大字・町・丁目レベルの人口・世帯数データを活用する (エクセル編)」で作成したものです。

前回作成したデータテーブル

 前回の手順で作成したデータテーブル「世帯・人口」も同様の手順になります。
・カーソルを「A1」へあわせて
・「データ」タブ
・「テーブル」からをクリックします。
・「名前」の窓へタイプして
・「ファイル」タブ
・「閉じて読み込む」をクリックします。

3個のクエリ

 ここまでの手順で3個のクエリを作成しました。

クエリの結合
クエリ結合

・「クエリ」タブ
・「結合」をクリックします。

マージ

 画像のように「マージ」の窓が開きます。
・上のテーブルは「世帯・人口」
・下のテーブルは「Map」です。
 ドロップダウンのなかから選択してください。

「結合の種類」は
・「左外部」(デフォルトの状態)です。

列を選択

 列をクリックします。
・「世帯・人口」のテーブルは「町コード」
・「Map」のテーブルは「KEYCODE1」(よく似た列名があるので間違えないように!)
・OKです。
 パソコンの「shift」キーや「ctrl」を押しながら列をクリックする必要はありません。

パワークエリエディター

 パワークエリエディターが開きます。いちばん右側の列が「世帯数・人口」へ結合した「Map」のデータです。

・列名の右にあるボタンをクリックします。

展開する列

 フィルターのような窓が開きます。
・いったんすべてのチェックを外して
・「X_CODE」「Y_CODE」だけにチェックします。
・OKです。

2列が結合できればOK

 画像のように一部の「町名」がNullになりました。「世帯・人口」にあって「Map」にない町名の座標を得ることはできません。

・「名前」の窓へタイピング
・「閉じて読み込む」をクリックします。

4個のクエリ

 データテーブル化されたシートが新規作成されます。

「年齢・人口」のマージ

 クエリ「年齢・人口」も同じ手順で「Map」と結合します。

名前をタイプして閉じて読み込む
結合完成

 「世帯数_人口_Map」と「年齢_人口_Map」を使用してマッピングします。

リレーションシップ
リレーションシップ新規作成

・「データ」タブ
・「リレーションシップ」をクリックします。
 前回作成したリレーションシップが2個あります。
・「新規作成」をクリックします。

リレーションシップ設定

 リレーションシップするテーブルは
・「年齢_人口_Map」と「「年齢2分割」です。
 列は
・「年齢 (値)」です。
・OKです。

・閉じます。

3D Maps

3D Mapsを開く
3D-Maps起動

・「挿入」タブ
・「3Dマップ」をクリック
・「3D Maps を開く」を選択します。

フィールドリストを確認

 地球儀が出現します。フィールドリストへ、ここまで作成してきたデータテーブルが表示されていれば成功です。

場所設定

 「世帯数_人口_Map」のデータです。
・「Map.X_CODE」、「Map.Y_CODE」を順番に「場所」の窓へドラッグ&ドロップします。(「フィールドの選択からも選べます」)
・「Map.X_CODE」の右側の窓は「経度」を選択
・「Map.Y_CODE」の右側の窓は「緯度」を選択します。

日本

 場所のラジオボタンは「Map.X_CODE」、「Map.Y_CODE」のどちらでもOKです。

マップを拡大

 マップの右下にある矢印とかプラス・マイナスとか、マウスをグリグリして目的地へ接近します。
・「マップラベル」をクリックすると地名とかを表示できます。

棒を立てる
高さを設定

・「高さ」の窓の「+」をクリック
・「世帯数_人口_Map」の「合計」を選択します。
 「Map.X_CODE」、「Map.Y_CODE」は「世帯数_人口_Map」のものなので「世帯数_人口_Map」のデータしか対応しません。

棒グラフ

 棒グラフになりました。

レイヤーのオプション

 「レイヤーのオプション」で調整しましょう。

バブル
バブルへ切り替え

 棒からバブルへ切り替えます。
 オモロイことになりました。これはこれで何かに使えそうですが・・・

人口

 「レイヤーのオプション」を編集します
・「サイズ」でバブルの大きさ
・「太さ」で円柱の高さ
・「不透明度」「色」を編集できます。
 人口が多い町名、少ない町名がなんとなく見えてきました。

メジャーフィルター
データ切替

 「年齢_人口_Map」のデータをプロットします。
・「場所」へ設定する「X_CODE」「Y_CODE」は「年齢_人口_Map」のものへ変更します。

人口を表示

・「フィールドの追加」をクリック
・「年齢_人口_Map」の「人口」を選択します。

フィルター

・「フィルターの追加」をクリック
・「年齢_人口_Map」の「年齢 (値)」を選択します。

メジャーフィルター

 「年齢 (値)」は数値なのでメジャーフィルターになります。つまり値の合計値ごとのフィルターに設定されます。これを値ごとのフィルターへ変更します。
・「Σ」をクリック
・「集約なし」を選択します。(はじめは「合計」になっていると思います)

スライダー型フィルター

 スライダー型フィルターを操作します。
 20歳未満、65歳以上、あるいは10歳~19歳のような絞り込みが可能です。

 マップのプロットへポインタをあてると値が表示されます。表示内容を変更しましょう。

データカード
データカードカスタマイズ

・データカード「カスタマイズ」をクリックします。
 最下段にあると思います。

削除

・表示しないフィールドを削除します。

追加

・表示したいフィールドを追加します。
 「年齢_人口_Map」のデータを使用しているので、そのなかから選択してください。

すっきりしました
リレーションしたデータのフィールド
分類を追加

 「年齢_人口_Map」と「年齢2分割」のデータはあらかじめリレーションシップしました。
・「年齢」のフィルターはすべてです
・「分類」へ「年齢2分割」の「65歳」を追加します。
 円グラフになります。65歳以上か未満かの全体を俯瞰するには少し煩雑なように感じます。

町名をフィルター

・「年齢_人口_Map」の「町名」をフィルターへ設定します。
・いくつかの町名を選択してマップを拡大します。
・サイズ・高さを調整します。
 この見え方はアリだと思います。

3D Mapsを終了する
マップを終了する

 マップを終了するときは
・「ファイル」から「閉じる」をクリックするか
・右上の「×」をクリックします。
 「上書き保存」のような機能はありません。というのか、最終の状態が自動で保存されます。

再開

 再開するときは
・3D マップをクリック
・前回のマップが現れます。クリックします。
・「新しいツアー」で新規作成が可能です。