交通安全分析というと、まず事故発生地点を考えることがよくあります。
- 事故はどこで発生したのか?
- 事故件数が最も多い交差点はどこか?
- 現在のホットスポットはどこか?
いずれも有用な問いです。しかし、必ずしも最も重要な問いとは限りません。テクニカルセッション 「ArcGISにおける空間データサイエンス」では、別の問いを検討しました。
長期にわたって継続的なリスクが見られる場所はどこか?
個々の交通事故を分析するのではなく、2019年から2024年までのフランクフルト・アム・マインの過去の事故データを使い、複数年にわたって安定して見られる空間パターンを特定しました。目的は、単一の事故を説明することではありません。短期的な変動に左右されず、一貫してリスクが高い場所があるかどうかを把握することです。
%load_ext dotenv
%dotenv
from arcgis.gis import GIS
from arcgis.map import Map
import dotenv
import os
import pandas as pd
from traffic_safety.utils import combine_yearly_hotspots, list_feature_classes, summarize_hotspot_bins, generate_hotspots_renderer, filter_hotspot_bins, publish_hotspot_layer
home_portal = GIS("home")
gdb_path = os.getenv("HOTSPOT_GDB")
feature_classes = list_feature_classes(gdb_path)
個々のホットスポットを超えて
単年のホットスポット分析は、その年の状況を切り取ったものです。しかし、都市は常に変化するシステムです。交通量は変わり、建設工事は始まったり終わったりします。公共交通機関も変化し、人々の行動も時とともに変わります。ある年に特定されたホットスポットが、翌年には消えていることもあります。長期的なリスクをよりよく理解するため、各年のGetis-Ord Gi*ホットスポット分析を行い、年ごとの結果を比較しました。
課題は、年ごとのホットスポットポリゴンが同一ではないことです。基礎となる状況の変化に伴い、境界も移動します。これに対応するため、次のような空間的な位置合わせのワークフローを構築しました。
- 年ごとにホットスポット分析を実行する
- ホットスポットのビンの重心を計算する
- 共通の空間参照フレームワークを使用する
- 年をまたいでホットスポットの位置を対応付ける
- 各地点の時間的プロファイルを作成する
- ホットスポットの継続性スコアを計算する
- 結果を正規化してリスク指数にする
これにより、複数の独立した分析結果を、単一で解釈しやすいリスクサーフェスにまとめることができました。
from ipywidgets import HBox, VBox, Label, Layout
from traffic_safety.utils import generate_hotspots_renderer, read_feature_classes
def show_hotspot_map(portal: GIS, df: pd.DataFrame):
basemap_item_id = os.getenv("CUSTOM_BASEMAP_ITEM_ID")
if basemap_item_id:
portal_item = portal.content.get(basemap_item_id)
map_view = Map(portal_item)
else:
map_view = portal.map("Germany")
map_view.basemap.basemap = "osm"
drawing_info = {
"renderer": generate_hotspots_renderer()
}
fset = df.spatial.to_featureset()
map_view.content.add(fset, drawing_info=drawing_info, options={"opacity": 0.7})
map_view.zoom_to_layer(fset)
return map_view
hotspots_dict = read_feature_classes(gdb_path, [feature_classes[0], feature_classes[-1]])
hotspots_2019_df, hotspots_2025_df = hotspots_dict.values()
left_map = show_hotspot_map(home_portal, hotspots_2019_df)
right_map = show_hotspot_map(home_portal, hotspots_2025_df)
def side_by_side(left_map, left_label, right_map, right_label):
# 地図の移動を同期する
#left_map.sync_navigation(right_map)
"""
def sync_navigation(change):
if right_map.center != left_map.center:
right_map.center = left_map.center
if right_map.zoom != left_map.zoom:
right_map.zoom = left_map.zoom
left_map.observe(sync_navigation, names=["center", "zoom"])
"""
# 各マップとラベルのVBoxを作成する
box1 = VBox([Label(left_label), left_map], layout=Layout(width='50%'))
box2 = VBox([Label(right_label), right_map], layout=Layout(width='50%'))
# HBoxを使ってVBoxを横並びにする
hbox = HBox([box1, box2])
# HBoxを表示する
display(hbox)
side_by_side(left_map, "2019", right_map, "2025")
left_map.sync_navigation(right_map)
事故データからリスクレイヤーへ
作成したレイヤーが示すのは、事故件数ではありません。むしろ、より価値があるともいえるもの、つまり 継続的なリスクの証拠です。
統計的に有意なホットスポットとして繰り返し現れた地点には、より高い継続性スコアが付与されました。ホットスポットになることがまれな地点のスコアは低くなります。この違いは重要です。重大な事故が1件起きれば注目を集めるかもしれませんが、繰り返し現れる空間パターンからは、交通システムのより根深い特性が明らかになることがよくあります。継続的なリスクは、調査すべきインフラ上の制約、交通行動のパターン、交通の結節点、その他の根本的な要因を示している可能性があります。
base_feature_class = feature_classes[0]
combined_df: pd.DataFrame = combine_yearly_hotspots(gdb_path, base_feature_class)
summarized_df: pd.DataFrame = summarize_hotspot_bins(combined_df, min_years_observed=len(feature_classes))
show_hotspot_map(home_portal, combined_df)
hottest_df = filter_hotspot_bins(summarized_df, min_value=2, max_value=3)
hottest_df.sort_values(by="Gi_Bin_median", ascending=False).head()
分かったこと
特に興味深かったのは、最もリスクの高い地点が、必ずしも交通量の最も多い場所とは限らなかったことです。むしろ、複数の要因が相互に作用することでリスクが顕在化することがよくありました。フランクフルト都市デジタルツインに関連する取り組みでは、複数の指標が互いを補強する場所で、運用上重要な地点が浮かび上がることがよく分かりました。過去の事故パターン、交通シミュレーション、インフラの状況、移動行動を組み合わせることで、個々のデータセットだけでは得られない、より豊かな全体像が見えてきました。
これは、空間データサイエンスの強みの一つを示しています。 場所が文脈を与えます。 空間的な関係性から、データセットを個別に分析するだけでは見えないパターンが明らかになることがよくあります。
これが重要な理由
多くの組織が同様の課題を抱えています。交通安全、公益インフラ、環境モニタリング、公衆衛生、資産管理など、どの分野でも、意思決定者は一時的な異常と継続的なパターンを見分ける必要があります。空間データサイエンスは、次のような問いへの答えに役立ちます。
- 一貫してリスクが高い場所はどこか?
- どのパターンが時間の経過後も安定しているか?
- さらに調査すべき地域はどこか?
- 限られたリソースをどこに優先的に配分すべきか?
組織が記述的な分析から、エビデンスに基づく意思決定支援へと移行するなか、こうした問いの重要性はますます高まっています。
基盤となる空間データサイエンス
私たちにとって、このリスクレイヤーは単なる分析結果にとどまりませんでした。フランクフルトのショーケースにおける次の段階の基盤となったのです。ワークフローは次のようなシンプルな流れです。
- 空間データサイエンスが継続的なリスクを特定します。
- 空間的根拠に基づくエージェント型AIがそのエビデンスを使って、説明可能な提案を生成します。
- 信頼できるGeoAIが、実行前にガバナンスと人間による監督を導入します。
この流れは、重要な原則を示しています。AIはエビデンスに取って代わるものではありません。空間分析によって得られた信頼できるエビデンスに基づいて推論できるとき、AIはより有用になります。
最後に
セッションで伝えたかった中心的なメッセージの一つは、シンプルです。
事故が起きた場所を特定しているのではありません。リスクが続いている場所を特定しているのです。
継続的な空間パターンは、説明可能な提案、信頼できるAIシステム、そして最終的にはより良い意思決定に必要なエビデンスをもたらします。組織が空間データサイエンス、GeoAI、エージェント型AIを活用する際、課題は単にデータを増やすことではありません。重要なパターンを見極めることです。そして多くの場合、そのパターンは空間的なものです。
GitHubの交通安全ノートブック