Lab/Quake Dashboard

データ可視化・ダッシュボード公開中2026

USGSとP2P地震情報のオープンデータで、世界と日本の地震をリアルタイム可視化。震央マップ・時系列アニメーション・統計パネルを備えた実験ダッシュボード。

サイトを開く
世界の地震ダッシュボード

Screenshots

世界の地震ダッシュボード スクリーンショット 1

Overview

概要

世界中で日々発生する地震を、毎分更新のフィードで地図にプロットして眺める実験ダッシュボードです。世界はUSGS、日本はP2P地震情報(気象庁由来)の2ソースを切り替えられ、マグニチュードを円の半径、深さを色で同時表現。時系列アニメーションで発生を追体験し、統計パネルで概況を把握できます。タイルサーバーに依存せず、Natural Earth由来のTopoJSONを同梱してdeck.glのベクタ描画のみで地図を構成しているのも特徴です。

How to use

遊び方・使い方

ヘッダーでソース(世界/日本)と期間を切り替えると、震央が地図に描かれます。地物にホバーでツールチップ、クリックで詳細カードが開きます。下部のタイムラインバーで再生・停止・シークし、速度(x1/x6/x24)を変えて時間を早送りすると、発生の瞬間にリングが広がります。右の統計パネルでマグニチュード分布などを確認。日本モードでは震度も表示します(防災速報ではない旨をフッターに明記)。

Tech stack

技術スタック

TypeScriptNext.js 16React 19deck.gl 9world-atlas / topojson-clientTailwind CSS v4

@deck.gl/coreと@deck.gl/layersのみを利用し、MapLibreは不採用。陸地はworld-atlasのTopoJSONをtopojson-clientで展開しています。データはUSGSのGeoJSONフィード(パブリックドメイン)とP2P地震情報のAPIを用い、OG画像は静的、JSON-LDはWebApplicationを付与。

Highlights

工夫した点

  • 全ソースをRoute Handlerのプロキシ経由でQuakeEvent型に正規化し、fetchのrevalidate:60で上流への問い合わせを毎分1回に集約。凡例は半径clamp(2, 2*1.7^(mag-2), 40)、深さ4段階色を自前算出
  • 地図はGeoJsonLayer(陸地)+ScatterplotLayer(震央)+リング演出のScatterplotLayerで構成し、タイルを使わずTopoJSONを展開して描画
  • 時系列は発生時刻昇順で保持し、仮想時刻カーソルと二分探索でフィルタ。prefers-reduced-motionでは自動再生を無効化し、統計チャートも軽量な自前SVGで描画

To improve

改善したい点

  • 深さ・マグニチュードの色/半径マッピングは、体感に合わせた調整の余地がある
  • 大量イベント時のScatterplot描画負荷の最適化に伸びしろ
  • P2P地震情報側のレート制限があり、取得頻度・件数に制約がある

What's next

今後の展望

  • 気象庁bosaiフィードなどデータソースの追加
  • 地域・マグニチュード帯でのフィルタや統計の深掘り
  • 揺れの到達円(P波/S波)アニメーションなど教育的表現

Category

ツール・メディア

Genre

データ可視化・ダッシュボード

Year

2026

Status

公開中