👀

町丁目単位での人口の推移(1998-2022)をビジュアル化してみた@東京都中央区

2022/11/22に公開

わたしが住んでいる中央区は、近年特に人口が急増している珍しい自治体です。1998年には7万人程度だった人口は2022年には17.2万人にも達してます。およそ20年で10万人増、倍率でいうと2.5倍にまで増えるというけっこうな劇的な変化が起こっているのです。

一方で、この大幅な変化が具体的にどの区内のどのエリアで起こっているのかという推移についてはあまり見ることがありませんでした。なんとなく月島・勝どき・晴海といった湾岸エリアで増えているのであろうという印象はありつつも。

中央区のwebサイトに行くと、町丁目単位でのデータがしっかりと保管されています。ご丁寧に1ヶ月単位で別ファイルになってはいるものの、1998年から直近の2022年まで公開されています。これを使えばうまく地図上に細かいエリアでの人口の推移をビジュアル化できるのではないか?と思ってやってみました。

中央区に限らず、どこのエリアでもやってみることができるのでぜひぜひ。

参考にした記事は、朝日新聞社 メディア研究開発センターさんの「人流オープンデータを使って時系列変化を可視化してみた」という記事*1。

データの取得や加工の方法は別のやり方で行ったものの、基本的な考え方(geojsonデータの準備→geojsonと数値データの結合→全体を結合→kepler.glにインポート)は踏襲しています。

必要となるデータと入手先

事前に用意しておくものは2つ。

① 町丁目単位での地図情報ファイル(geojson)

geojsonとは、地図上に町丁目単位でオブジェクトを表示させるために必要なファイル。まったくのゼロから作るとスゴい大変(やったことないので印象でしかないですが)ですが、住所を選択するだけでダウンロードできる神がかったサービスがありましたのでそれを利用させていただきました。その名は「住所LOD GeoJSON ダウンローダー」*2。

 全都道府県を見たわけではないですが、すべてを網羅されてそうです。

② 町丁目単位での人口推移のデータ

もう1つは自治体の人口推移に関するデータ。これは当たり前ですが、後に集計したい単位での人口が分かるデータが必要。この公開については、自治体によって公開しているデータの形式や範囲について大きくバラツキがあるものかと思います。

わたしの住んでいる中央区で言うと、年単位で月別のデータがExcel形式で公開されています。公開されている中で一番古かったのは平成10年(1998年)。

Excelファイルを開くとこんな感じ。町丁の単位での人口が掲載されていることがわかります。これは2022年1月のデータ。

見てのとおり、町丁目の名前がそのものでなくわざわざ「銀座一丁目」が「銀座 1」みたいにセル分割されていたり、ムダに印刷前提での表組みレイアウトになってたりと、そのままでは使えないのですが編集作業は後でやります。

ちなみに、残念ながら推移のデータはないので、ビジュアル化したい範囲のデータをゴリゴリダウンロードしていく必要があります。月単位でも良いのですが、今回はそれほどの厳密性は要らないだろうということで、各年の1月のデータを使ってます。

編集作業の流れ

これらの材料が揃ったら、取り込むための編集作業を始めます。

① 年単位の人口データを作る

まず、人口推移のデータを作成します。町丁目単位の人口データは手に入っても、ビジュアル化するためのサービスに読み込ませるためには加工が必要。最終的に作りたいのはこういうデータ。わたしはGoogleスプレッドシートで行いました。

「町丁目名」については規則性があったので、数式で整形。

「年」については、年部分だけ修正して作成(2022年ならば「2022/01/01 0:00:00」)。

「人口」は元のデータの値を持ってきます。

このファイルを年単位で作成して、UTF-8のCSVとして保存します。

② 地図情報と年単位での人口データを結合する

次に、ダウンロードした地図情報ファイルと先ほど作った年単位の人口データを結合します。これまた神がかったサービスがありまして、「(Geo) DataMerger」というもの*3。簡単に2つのファイルを結合してくれます。

まずは、それぞれのファイルを選択。

次に、2つのファイルを結合するにあたってのマッピング項目、つまり両者をくっつけるための共通する項目を選択します。今回だと「name」という列に町丁目の名称を入れてますのでこれを選択。

そうすると、結合後の形式が下に表示されますので、このようになっていることを確認して保存します。

これで、1年分のデータができました。同様の操作を人口データのファイルの数の分だけ繰り返します。今回わたしがやったケースだと、1998年から2022年で20回以上やることになりました。

また、次の結合の作業に必要になるため、作成したファイルは1つのフォルダにまとめておきます。

③ 年単位の地図情報+人口データを結合する

今度は②で作った年単位のデータを1つのファイルに結合します。この部分についてはコマンドを打ち込む必要がありました。とは言え、コピペで大丈夫なので怖がらなくてOK。わたしもコマンドの中身、全然理解してません(きっぱり)。結果的に、やりたいことができれば良いのです。

まず、jsonデータを加工するのに便利である(らしい)jqなる言語をインストールします。これについては「jq インストール windows」とか「jq インストール mac m1」とか、ご自身の環境を確認してインストールします。

終わったら、macならターミナル、windowsならコマンドプロンプトで、さっきのフォルダに移動します。参考になるか分からないですが、わたしの場合は「Downloads」の下に「merge」フォルダを作ったので、そこに移動しました。このあたりの詳しい説明は「cdコマンド」とかでググると出てくるのではないかと思います*4。

mergeフォルダに移動したら、このコマンドをコピーしてべしっと貼り付けてEnter。あまり深く考えずにEnter。ちょっとドキドキするけどEnter(Enterは1回だけです)。

jq '.features[]' *.geojson | jq -s '{"type": "FeatureCollection","crs":{"type":"name","properties":{"name":"urn:ogc:def:crs:EPSG::4612"}},"features":.}' > merged.geojson

そうすると、同じフォルダの中に「merged.geojson」というファイルができます。これでファイルの結合は完成。お疲れさまでした。

④ kepler.glでビジュアル化してみる

最後に、これまでで作ってきたデータをビジュアル化します。いろんなサービスがあるかと思いますが、今回利用してみるのは元にした記事で使われていたkepler.gl*5。Uber EatsのUber社が開発しているオープンソースのGISサービスで、オンラインでデータだけあれば簡単に使えるのでお手軽。

「Get started」をクリックして作成したgeojsonファイルをアップロードするとこんな感じで表示されます。これだと単純に地図情報が読み込まれただけ。

色々といじりようはあるのですが、色とか高さとかだとこのあたりをいじると変更できます。人口に応じて高くする、色を濃くするので項目としては「population」を選択。

複数年度のデータがあれば、その推移を表示させることもできます。「Filters」のタブをクリックして「datetime」を選ぶと「年」の情報が読み込まれて右下に時系列を表すバーが表示されます。このバーは初期値だと期間全体になってるので、うまい具合に1年分が常に表示されるように調整が必要。

うまく行くと、こんな感じで時系列でぴょこぴょこ増えていくようになります。

このマップ、クリックすると町名などが表示できてまた楽しいのですが、残念ながらサービスの制約上、それはできないようです*6。

最後に

この記事では、町丁目単位での人口の推移をビジュアライズする方法について、解説してみました。こういったビジュアル化の良いところは、直感的に理解できるという点。お役所的な資料であればすでに公開はされているものの、数字だけが並べられてもなかなかイメージするのは困難です。こういった形であれば、多少は理解しやすくなるのではないでしょうか。

行政に関する情報をわかり易く伝えるということは、住民の共通認識の幅を広げるという意味で重要なことと考えています。何か新しいことをやろうとするにしても、その前提となる認識が誤っていると、その誤った認識に基づいておかしな議論になってしまう危険があります。これからの行政はお偉い指導者が先導していくというよりは、もっと住民とともに歩んでいくものだと考えており、そういった意味でこの手の発信は今後も続けていきます。

*1:人流オープンデータを使って時系列変化を可視化してみた|朝日新聞社 メディア研究開発センター|note
https://note.com/asahi_ictrad/n/n006f580c6e0b

*2:住所LOD GeoJSON ダウンローダー https://uedayou.net/loa-geojson-downloader/

*3:Geo Data Merger https://funkeinteraktiv.github.io/geo-data-merger/

*4:【初心者向け】cdコマンドの使い方を分かりやすく解説!(Mac) https://original-game.com/how-to-use-the-cd-command-on-mac/

*5:kepler.gl https://kepler.gl/

*6:Dropboxと連携ができるらしいのですが、API連携の画面が表示されてはすぐ閉じられてしまいます(2022/11時点))

Discussion