Media × Tech

「Media × Tech」ブログはスマートニュースのメディア担当チームが運営するブログです。テクノロジーを活用した次世代のメディアとはどういうものか? そうしたメディアをどうやって創り出していくのか、を考えていきます。

[実践]ノーコードでふるさと納税データを地図に可視化する

f:id:mediatech_jp:20211220144234p:plain

スマートニュースメディア研究所は、市区町村や選挙区の境界データを加工し、誰でも利用可能なように提供している。本稿は、東洋経済オンライン「新型コロナウイルス国内感染の状況」などで、データ可視化に取り組んできた筆者が、そのデータを題材に、メディアなどでデータをデータ可視化するステップを平易に解説する。(編集部)

スマートニュース メディア研究所の荻原和樹です。データ可視化(Data visualization)やデータ報道(Data journalism)を専門にしています。

データ可視化とは、政府統計など複雑で理解しにくいデータをビジュアルを駆使してわかりやすく表現することです。また、データの可視化や分析を活かした報道は特にデータ報道と呼ばれます。新型コロナ禍で報道各社がデータの特設ページを相次いで解説したように、データを切り口として読者に情報を提供する新しい試みとして注目されています。

さて、データ可視化の中で最もポピュラーな方法のひとつが地図です。たとえば日本政府や各種の企業・公共団体からは、全国だけでなく都道府県や市区町村別に数多くの統計データが公開されています。これらのデータと地図表現を組み合わせることで、さまざまなデータを地理的に分析したり、自分の住む地域の特徴を知ることが可能になります。

一方で、色分け地図のようなグラフィックを作るためには、都道府県や市区町村の形(境界線)を知っている必要があります。従来から境界線データは行政機関などから公開されていましたが、実際に使うためには手間と時間のかかる種々の加工が必要でした。
そこでスマートニュース メディア研究所では今年(2021年)10月、市区町村や選挙区の境界データを加工し、GitHub上で誰でも使えるように公開しました

f:id:mediatech_jp:20211220103934p:plain

このデータを使えば、プログラムでデータを読み取るだけでなく、ノーコード・ツール(コードを書かなくてもボタン操作などで使えるツール)と組み合わせることにより市区町村別の統計データを表示することが可能になります。そこで今回は、ノーコード・ツールの一種であるFlourishを使って市区町村別の統計データを地図で表現する方法をご紹介します。

 

境界データのダウンロード

まず、今回使う境界データのダウンロードを行うためにスマートニュース メディア研究所のGitHubページに移動します。

f:id:mediatech_jp:20211220103921p:plain

上部にあるフォルダアイコンからデータにアクセスします。data > municipality > geojson > s0010とフォルダに遷移し、ファイル「N03-21_210101.json」をダウンロードします。

ここで、用意されているファイルについて解説します。「municipality」は市区町村、「constituency」は衆議院議員選挙の小選挙区を示します。今回は市区町村のデータを使いますが、たとえば衆院選における政党別の得票率など選挙区別に何らかのデータを可視化したい場合、選挙区の境界データを使うのがよいでしょう。

「s0010」「s0001」は境界線をそれぞれ1%、0.1%に簡素化したことを表します。市区町村や選挙区の境界線は複雑で、高精度に再現しようとするとデータ容量が大きくなり、読み込みや表示に時間がかかる場合があります。そこで今回のデータでは境界線を簡素化(simplify)し、モバイル端末で閲覧しても問題ないようにしています。

たとえば北海道の市区町村を「簡素化なし」と「簡素化1%」で比較すると以下のようになります。

f:id:mediatech_jp:20211220103908p:plain

用途にもよりますが、おおむね都道府県内の市区町村一覧を表示するくらいであればほぼ見分けがつかないと思われます。海岸線を拡大すると、以下のように簡素化されていることがわかります。

f:id:mediatech_jp:20211220103856p:plain

簡素化により、たとえば北海道の場合は65.9MB(圧縮なしのGeoJSON)から740KB(簡素化1%のGeoJSON)または137KB(簡素化1%のTopoJSON)と、最大1/480程度まで容量を圧縮しました。

軽量化の他にも、飛び地(複数の地域がひとつの市区町村として扱われること)などの調整を行い、ファイルを公開しています。

最後の「geojson」「topojson」はファイル形式です。どちらも地理データを表現するためのファイルですが、TopoJSONはGeoJSONの冗長性を省略して、さらに軽量化したものです。どちらか一方しか読み込めないツールもあるため、2種類用意しました。今回使うFlourishはGeoJSONのみ受け付けているので、GeoJSONをダウンロードしてください。

全国の市区町村(行政区域)データは国土交通省 国土数値情報、小選挙区データは東京大学空間情報科学研究センターより取得しています。このうち国土交通省に関しては指定するクレジット記載が必須です。その他の詳しい利用規定は、GitHubページやデータ提供元の利用規約をご参照ください。

なお、今回の加工データを使用する際に、スマートニュースおよびスマートニュース メディア研究所の名前をクレジットする必要はありません。ただ同様の試みを継続していくために利用例ご報告フォームにご報告いただければ幸いです(こちらのご報告から利用可否を判断したりすることはありませんので、事後報告でも構いません)。

 

Flourishの登録と使い方

続いて、Flourishを使ってプロジェクトを新規作成します。Flourishとは主に報道機関向けのデータ可視化ツールで、コードを使わず幅広いデータ可視化をインタラクティブに(=画像ではなく、ユーザーのクリックやタップによって表示の切り替えなどができる形で)表現できるのが特徴です。

無料のPublicプランでは、作成したデータ可視化は元データも含めてすべて公開されてしまいますが、月額69ドルのPersonalプランであれば非公開にすることも可能です(2021年12月時点)。なお、報道機関に限りPersonalプラン相当の機能が無償で使えるNewsroomプランも用意されています。登録にはFlourishの審査が必要ですが、筆者の前職(東洋経済新報社)では特に問題なく承認されました。新聞社やテレビ局などに所属している方は試してみるとよいでしょう。

さて、ユーザー登録が完了したらデータ可視化の作成を行います。まず「New visualisation」(Flourishはイギリスの会社が運営するため「z」ではなく「s」を使います)をクリックして、Flourishに用意されているテンプレート(さまざまなチャートにサンプルデータが入力されているもの)を選びます。本稿執筆時点で100以上のテンプレートが用意されていますが、ここでは自分で地図のデータをアップロードして色分け地図を作りたいので、Projection map > Blank (upload your own GeoJSON)を選択します。

f:id:mediatech_jp:20211220103844p:plain

このテンプレートでは、地図の境界データも含めて自分でアップロードする必要があるため、初期表示は白紙になっています。タイトル下のメニューから「Data」をクリックし、データの入力画面に移ります。画面右側にある「Upload data」を選択し、先ほどダウンロードしたGeoJSONファイルを選択します。

これによりファイルがFlourishにインポートされたので「Preview」で確認します。Projection > Boundsを「Auto」に設定する(=表示範囲をデータから自動で設定する)と、うっすらと日本地図が浮かび上がるはずです。

f:id:mediatech_jp:20211220103826p:plain

このデータを編集し、市区町村ごとに何らかの統計データを割り当て、色や境界線などを設定すると色分け地図が浮かび上がります。

 

ふるさと納税のデータを可視化する

今回は例として、ふるさと納税のデータを可視化してみます。

ふるさと納税とは、自分の選ぶ自治体(市区町村や都道府県)に対して寄付ができる制度です。寄付金のうち2,000円を超える部分は住民税の控除や所得税の還付を受けることができます。自治体によっては寄付金額に応じて地元の名産品などお礼の品が受け取れることもあります。

一般に、ふるさと納税は都市部の住民が地方自治体に寄付する例が多いと言われています。総務省のふるさと納税ポータルサイトで公開されている、各自治体への寄付額(受入額)および控除額(住民が寄付を行ったことで自治体の税収から控除された金額)を地図に可視化し、これを検証してみます。

具体的に見るファイルは同サイトに掲載されている「各自治体のふるさと納税受入額及び受入件数」および「令和3年度課税における住民税控除額の実績等」です。本稿の主眼ではないので詳細な説明は省きますが、ここから自治体ごとの寄付額と控除額を計算して、リストに追加します。あわせて、ポップアップ(市区町村をマウスホバーまたはタップしたときに表示される情報)に載せるための自治体名も追加しておきます。もし計算が大変であれば、Flourishでは公開されているプロジェクトをコピーして自分の手元で編集したり、データをダウンロードすることもできるので、後ほど紹介するリンクから試してみるのもよいでしょう。

f:id:mediatech_jp:20211220103812p:plain

続いて、データの構造や意味を踏まえ、いくつか表示設定を変えていきます。

まず、今回のデータは寄付額から控除額を差し引いているため、プラスかマイナスかが視覚的にわかるとよいでしょう。そのため地域の色を赤と青の二極(Diverging)に設定します(ただし、Flourishでは中間の値を指定することができないため、本来ならゼロを中間にするとよいのですが若干プラス側に振れています)。また、値の分布が平均値の周辺に凝集する、つまり流入額・控除額が大きい自治体は外れ値的にとことん大きい傾向があるため、値そのものではなく順位で色分けを行います(Quantile)。これにより、値の不均衡がならされて区別がつけやすくなるはずです。他にも、デフォルト設定だとやや存在感が強すぎる境界線を細く・薄くするなど細かな設定を行い、以下のようになりました。Flourishプロジェクトはこちらから確認できます

f:id:mediatech_jp:20211220103756p:plain

これを見ると、東京や大阪などの大都市圏ではやはり控除額の方がはるかに大きく、濃い青色になっていることがわかります。一方で、人口の少ない地域がすべて濃い赤=寄付額が大きいわけではないようです。これらの市区町村では「自治体ごとのふるさと納税に対する力の入れ具合」「全国的に有名な特産品の有無」などが要因として関連しているかもしれません。

さて、ここまではFlourishを使って統計データを地図に表現する方法をご紹介しました。今回は寄付額と控除額の差でマッピングを行いましたが、他にも公開されている過去のデータを使って「寄付額の増加率」など色々な切り口で可視化することができるでしょう。

そこで、プログラムを使った作例として、Flourishだけでなくウェブサイト版も制作しました。こちらのサイトのようにプログラムでデータ可視化を行うと、スイッチによる地図の切り替えができたり、市区町村をクリックしたときに詳細なグラフが表示されるなど、さらに柔軟な表現が可能になります。

f:id:mediatech_jp:20211220103743p:plain

オープンデータやノーコード・ツールを駆使すれば、いわゆる「グラフ」では表現できない形式で統計データを可視化することが可能になります。複雑なデータであっても、創意工夫によってわかりやすく・見やすく・印象的に見せることができますので、ぜひ色々なデータやツールを試してみてください。


著者紹介

f:id:mediatech_jp:20211220130046p:plain

荻原 和樹(おぎわら・かずき)
スマートニュース メディア研究所 シニア アソシエイト
前職では東洋経済オンライン編集部などに所属し、データ可視化を活用した報道コンテンツの開発、デザイン、記事執筆を行う。2021年スマートニュースに入社。メディア研究所ではデータ可視化やデータ報道に関する情報発信、アドバイザリーなどを行う。