COVID Schools Canadaプロジェクトは、Masks4Canadaによるボランティア活動で、カナダ国内の学校で発生したCOVID-19の症例についてデータをまとめています。
チームリーダーのシュラダ・パイ氏は以下のように活動の目的について説明しています。
シュラッダー・パイ氏(Masks4Canada チームリーダー)「生徒や保護者、教師などの関係者に十分な情報を提供し、COVID-19が学校や地域社会に与える影響の全容を明らかすることで、安全な学校政策を提唱する」
このプロジェクトに関するシュラッダー氏のツイートを読み、COVID Schools Canadaを設立するまでの経緯を聞きました。
国のCOVID-19データをスケーリングする
Masks4CanadaはCOVID-19のパンデミックが始まって以来、エビデンスに基づく公衆衛生政策と安全な学校政策を提唱してきました。複数の州政府が透明性を欠いていることを受けて、COVID-19が学校にどのような影響を与えているのかについて、より正確なデータを収集するためにトラッカーを作成することにしました。しかし、すぐに規模が大きくなり、毎日ボランティアが手作業で地図に新しいポイントを追加するのは困難になりました。
シュラッダー・パイ氏(Masks4Canada チームリーダー)「Google My Maps "を利用したのは、簡単に始められたからです。しかし、プロジェクトの規模が大きくなり、データが増えてくると管理が難しくなりました。1レイヤーあたりのポイント数が上限に達してしまい、また最新性によるフィルタリングなどのロジックを入れることができず、地図が乱雑になってしまいました。」
これ以上ポイントの追加ができなくなったとき、シュラダ氏とMasks4Canadaは、Twitterのフォロワーに代替のマッピングソリューションを尋ね、そこでMapboxコミュニティチームと繋がりました。
Mapboxコミュニティに参加する
COVID Schools CanadaチームがプロジェクトをMapboxに移行するために、コミュニティチームのプログラムマネージャーであるメーガン・ダニエルソン氏は、Sheet Mapperインパクトツールを使ってマップの初期プロトタイプを作成しました。それから、ZoomセッションでマップスタイリングとMapbox GL JSの使い方をチームに教えました。マップボックスのチュートリアルやコード例を使い、メーガン氏のリモートサポートを受けながら、チームは2021年初頭に新しいマップを発表することができました。
シュラッダー・パイ氏(Masks4Canada チームリーダー)「Googleマップのエコシステムを維持するために、Google for Non-Profitsを利用しようとしましたが、私たちは非営利団体として登録されていないため、申請をサポートする書類がありませんでした。一方、Mapboxは、月に5万件の検索結果と2万件ものジオコードコール数を無償版で提供してくれました。最も重要なのは、マップをスタートさせるために、ガイドしてくれるスタッフが付いてくれたことです。このようなサポートのおかげでMapboxをスムーズに採用することができました。」
新しいCOVID Schools Canadaサイトでは、ジオコーディングされた学校の所在地とCOVIDデータを含む複数のGoogleシートからデータを取り込み、データクレンジングののち、csv2geojsonを使ってGeoJSONに変換し、Mapbox GL JSを使ってウェブマップ上にスタイルを設定します。全てGithub Pageにホスティングされています。マップは、GeoJSONファイルを読み込むたびにリアルタイムで更新され、データに応じた円の大きさや色のスタイリングルールでデータを可視化します。また、ユーザーはマップをフィルタリングして、ケースの最大値や最小値を表示したり、特定の日付を表示したりすることができます。
シュラッダー・パイ氏(Masks4Canada チームリーダー)「Mapboxのセットアップは楽しかったです。クールなAPI、オンラインでの多くの事例、大きなユーザーベース。Googleシートから直接パイプするプラグインもあります。CSV > geojson > github > boom!」
使いやすいデータパイプライン
バックエンドでは、Masks4Canadaチームは、各州ごとに2枚のGoogleシートワークブックを使用しています。最初のシートは、州内のすべての学校のリストと、それに対応する緯度と経度の座標で、Mapbox permanent geocoding APIを使用して生成されています。2枚目のシートはCOVID-19のケースデータで、学校ごとに1つのレコードがあり、LOOKUP式で1枚目のシートから対応する場所の座標を引っ張ってきます。
COVID-19のケースデータは、COVID Schools Canadaのウェブサイトに寄せられたクラウドソーシングの投稿をボランティアが確認し、手作業でスプレッドシートに入力したものです。また、PerlとPythonで書かれたウェブスクレーパーのスクリプトを使って、教育委員会の記録や他の州のトラッカー(ブリティッシュ・コロンビア州、アルバータ州、ケベック州)からデータを取り込んでいます。毎晩、ボランティアはbashやR、Pythonで構築されたデータパイプラインを実行し、複数のスプレッドシートからデータを取り出して、1つの.csvファイルに処理し、GeoJSONに変換してウェブマップに反映させます。
地図の更新によりMasks4Canadaのデータワークフローが効率化され、ボランティアは毎晩のデータ更新に集中でき、地図の更新も手動で行う必要がなくなりました。これにより、より早く、より使いやすい形で情報を発信できるようになりました。
シュラッダー・パイ氏(Masks4Canada チームリーダー)「このプロジェクトの前には地図を扱ったことがありませんでしたが、すべてが円滑にまとまりました。私たちのプロジェクトは、リソースに制約のあるボランティアによって行われたコミュニティサービスプロジェクトです。そのため、気前の良く無料版を提供し、稼働を開始するためにマンツーマンでガイダンスを行ってくれたMapboxには本当に感謝しています。」
チームはこれまでに、カナダの学校で発生した2,700件以上のうち、55,600件以上のCOVID-19発症事例を記録しています。定期的な統計の更新と、世界中のエビデンスに基づくベストプラクティスの共有により、チームはツイッターで1万人近いフォロワーを獲得し、メディアにも広く取り上げられています。Masks4Canadaのボランティアの皆さん、お疲れ様でした!
シュラッダーのツイッターをフォローして、チームの経験について話し合ってみてください。同様のプロジェクトでMapboxのサポートが必要な場合は、Mapbox Communityチームにご連絡ください。
*本記事は、Mapbox Inc. Blogの翻訳記事です。