Gigaイニシアチブにおける学校の接続性がもたらす影響の測定:その構築方法

見出し

これはレイアウト確認用のダミーテキストです。

移動時間アクセシビリティ分析を実行するためのツール

移動時間アクセシビリティ分析を実行するためのツール

ユニセフとMapboxは、世界中のすべての学校をインターネットに接続するための国際電気通信連合(ITU)とユニセフのイニシアチブであるGigaの肯定的な影響の最初の結果を発表しました。データは、接続が経済的優位性と明確な関連性があることを示しており、可能な限り多くの人々に公平なインターネットアクセスを確保するために投資する有望な場所があります。

分析では、Mapbox Isochrone APIを使用して、「特定の移動時間内にこれらの教育施設に何人の人が到達できるか」という質問に答えました。Isochrone API、独自のカスタムデータ、およびプロジェクトを開始するためのサンプルコードを使用して、他の場所や施設で同様のアクセシビリティ分析を実行する方法については、こちらをお読みください。

Gigaは、世界のすべての学校をインターネットに接続することに取り組んでおり、その最初のステップは、すべての学校の場所と現在の接続レベルをマッピングすることです。研究者たちは、接続された学校は教育体験を生み出すだけでなく、学校があらゆる年齢の人々のためのインターネット接続ハブとして機能するため、周辺地域の経済成長の増加にもつながることを発見しました。ユニセフとの提携により、Mapboxは、接続された学校との間の妥当な移動距離内の人々の人口と経済状況を評価することに着手しました。 

等時間線を利用する理由

アクセシビリティ分析の一般的なアプローチは、直線距離を使用して、各施設を中心に円形のバッファを描画し、そのエリア内にあるコミュニティを特定することにより、特定の地点から誰かが移動できる距離を推定することです。

上の図からわかるように、円形バッファアプローチは計算が速いものの、アクセシビリティの信頼できる表現ではありません。実際、人口の一部がカバーされていると誤って想定する可能性があります。アイソクロンは、道路網を考慮して、特定の場所からの真の移動時間を評価します。これには、次のような要素が含まれます。

  • 道路網の品質:未舗装の道路や速度の遅い道路では、移動時間が長くなります
  • 道路の利用可能性:最寄りの道路まで歩くと、移動時間が長くなる
  • 地形:山や川などの自然の障壁や、急な上り坂/下り坂のある道路は、距離と移動時間に影響を与えます。

Accessmodのような一般的なツールは強力ですが、ユーザーは独自の道路ネットワークセットまたは摩擦面をロードする必要があります。対照的に、Mapbox Isochrone APIを使用することで、特定の時間内に到達可能な領域を表すジオメトリを迅速に生成し、Mapboxの最新のグローバル道路ネットワークデータを活用できます。

カザフスタンの学校の接続性

ユニセフと協力して、カザフスタンの7,437の学校と367万人の学生全体のインターネットアクセスを分析し、高、中、低の接続ゾーンに分類しました。

We found that 14.78 million people have access to schools with High connectivity (as defined by a school with a >10mbps connection.) The rest of the country is made up of 932,000 people with Medium connectivity (between 1-10mbps), and 40,500 people with Low connectivity (<1mbps.) This leaves 3 million people without any school connectivity at all. We’ve illustrated this data with interactive maps and data layers, which UNICEF, government agencies, and their partners can use to prioritize their investments as they establish and improve connectivity in the areas that need it most.

インターネット接続速度(色)と人口密度(高さ)の可視化

独自のアクセシビリティ分析を実行する

アクセシビリティ分析は、小売店の場所の選定からワクチン接種キャンペーンの企画まで、あらゆることに役立つ手法です。任意の地点からのアクセシビリティを算出するためにIsochrone APIを使用するには、まずこれらのPythonスクリプトから始めてください。これらのスクリプトはそのまま使用することも、修正することもできます。また、新規または既存のモデルとの統合のヒントとしても役立ちます。

スクリプトを実行するための要件は、Python 3、スクリプト、および2つの入力データセットです:

  • 入力ポイント:アクセシビリティを計算する施設の場所。
  • 人口ラスター:各セルが人数を表す.tiffファイル。このデータの一般的なソースには、SEDACFacebook HD PopulationGRID3WorldPopなどがあります。

モデルを実行するには、condaと付属のenvironment.ymlファイルを使用してPython 3環境をセットアップすることをお勧めします。condaパッケージマネージャーを使用すると、空間分析を実行するためにShapelyライブラリとGeopandasライブラリの両方で使用されるGEOS Geometry Engineなど、基盤となる依存関係がクリーンにインストールされます。

環境を構成したら、run.shスクリプトを使用して、デフォルトのパラメータでPythonスクリプトを実行します。次に、スクリプトを編集してモデルパラメータを変更したり、各スクリプトを個別に実行して、ユースケースと地域に適したモデルを実現したりできます。たとえば、重要なヘルスケアサービスの場合、人々はより長い距離を移動することをいとわない可能性があるため、「移動時間」パラメータをデフォルト値の30分から90分に増やすことができます。

アイソクロンを生成

最初のステップは、isochrones.pyを実行することです。これは、入力ポイントごとに1つの等時線を生成し、その属性を出力形状にコピーするヘルパーツールです。

カザフスタン、アルマトイの等時線

以下のパラメーターを使用してスクリプトを構成します。これらのパラメーターは、アイソクロンAPIで提供されるものに対応しています。 

  • 入力:ポイントを含む.geojsonまたは.csvファイル(必須
  • token: Mapbox APIトークン(必須
  • output: 出力ジオメトリの保存に使用するファイル名。デフォルトはinputfile_travelprofile_traveltime.jsonです。
  • minutes:ポイントからの移動時間(分)。デフォルトは30分です。
  • profile: 交通手段のモード(運転、徒歩、または自転車)。デフォルトは運転です。
  • 一般化:ダグラス・ポイカーアルゴリズムを使用して出力ジオメトリを簡略化するために使用する許容値(メートル単位)。完全なアイソクロンを返し、自己交差ジオメトリエラーを回避するには、0(デフォルト)を使用します。
  • limit:指定した場合、スクリプトは入力データの最初のn個のフィーチャのみを読み込みます。テストに役立ちます。
  • force:同じ名前の既存の出力ファイルを上書きします。それ以外の場合、ファイルが存在するとスクリプトはエラーになります。

python isochrones.py --help # 詳細な使用方法

python isochrones.py --profile=driving --minutes=30

--generalize=0 --token=$MAPBOX_ACCESS_TOKEN sample_data\/points.geojson

出力は、データセット内のすべてのポイントに対するすべてのアイソクロンのGeoJSONコレクションです。次のステップはanalyze.pyを実行することです。これは、これらのアイソクロンと元のポイントを取得し、そのエリア内の総人口を計算します。次のパラメーターを使用してスクリプトを構成します:

  • 入力:前の手順で生成されたアイソクロンを含む.geojsonファイル
  • pop_tiff: 人口ラスターファイルへのパス(必須
  • buffer_distance: 入力アイソクロンの幾何学的複雑さを軽減し、道路沿いのコミュニティへの徒歩時間を考慮するために使用される、メートル単位の距離。デフォルト: 1
  • limit: 指定された場合、ロードされるフィーチャの数を制限します。大規模なデータセットの小さな部分をテストする場合に便利です。
  • output: 出力ジオメトリを保存するファイル名。GISでの視覚化やデータベースへの転送に役立つ.gpkgで名前を指定してGeopackageとして保存するか、Mapbox GL JSでのタイル化や視覚化に役立つ.geojsonでGeojsonとして保存します。
  • points: 入力施設ポイント。直接歩行圏内に住む人々や、欠落している道路を組み込むためにバッファリングに使用されます。
  • points_buffer_distance: 施設`points`をバッファリングする距離(メートル単位)。デフォルト:4000

使用例: 

python analyze.py --pop_tiff=sample_data/pop.tiff

--points=sample_data\/points.geojson

--output=accessibility.geojson points_isochrone_driving_30.json

アクセシビリティエリアのバッファ処理

等時線は、道路網上の任意の地点からの移動時間を示しますが、世界の多くの地域では、人々は道路に隣接していても、集落が集中していない地域に住んでいます。これらの人々をアクセス可能エリアに含めるために、スクリプトには、最寄りの道路まで歩いて移動する可能性のある人々を含めるように形状を拡張するバッファリングステップが含まれています。

アイソクロンとポイントに適用されるバッファ

バッファリングの前に、ジオメトリを地理座標系から適切な投影座標系に投影して、点から等距離ではない、大きく歪んだ形状の作成を回避する必要があります。この目的のために、pyprojライブラリは、形状、面積、および方向の歪みの合理的なトレードオフを備えた既製の投影を提供する、最も近いUTMゾーンを計算します。投影されると、データを正確にバッファリングできます。結果をMapboxおよびGeoJSON標準で使用されるWGS84地理座標空間に逆投影します。

アイソクロンの周囲にバッファーを生成することに加えて、入力ポイントの周囲に円形のバッファーを生成します。地方部では、施設から徒歩圏内に住む人々が利用する直接的な歩行者ルートがある場合があります。このオプションの測地線バッファリングステップは、これらの地域に住む人々を確実にカウントするために、追加のカバレッジを追加します。 

次に、バッファリングされたアイソクロンとバッファリングされたポイントを溶解して、入力ポイントから到達可能なすべてのエリアを表す、1つのアクセス可能な「サーフェス」にします。後で視覚化するためにサーフェスエリアの形状を保存するには、--output パラメータを使用します。

ゾーン統計

最終的な分析ステップは、その形状でカバーされる人口を計算することです。`rasterstats`パッケージは、まさにそれを行うためのzonal_stats関数を提供します。

カザフスタン南東部の人口密度

反復と可視化

アクセシビリティ分析の設定を構築する際、analyze.pyを迅速に繰り返し実行し、中間結果を確認すると役立ちます。--output file.gpkgオプションを使用して、結果のアクセシビリティサーフェスをGeopackage形式で保存し、QGISなどのGISツールで表示します。入力モデルパラメータのセットが設定されたら、--output accessibility.geojsonを使用してモデルを実行し、GeoJSONとしてタイル出力します。 

インタラクティブな地図で結果を表示するには、GeoJSONをMapbox Studioに直接アップロードするか、Mapbox Tiling Serviceを使用して、アクセシビリティシェイプからベクタータイルを迅速に生成します。カザフスタンのような大きな国では、結果として得られるジオメトリが非常に大きくなります。ベクタータイルを使用すると、GeoJSONでは実現できない方法で、これらのレイヤーを高性能で視覚化できます。ワークフローの例については、READMEをご覧ください。

協力しましょう

お客様の旅行時間アクセシビリティに関するご質問をお聞かせください。アイソクロンベースのアプローチがどのように役立つかをご紹介します。当社のチームとのディスカッションをご希望の場合は、お問い合わせください

これはレイアウト確認用のダミーテキストです。

これはレイアウト確認用のダミーテキストです。

関連記事