Early-est 地震预警 WebSocket 数据

基于 Early-est 服务的全球/区域地震预警推送,包含事件初报与后续更新

连接地址: wss://sismotide.top/Early-est

概述

通过 WebSocket 连接 wss://sismotide.top/Early-est,可以实时接收 Early-est 输出的地震事件预警数据。

服务会在事件产生时推送一次 initial 消息,后续若有修正则继续推送 update 消息,并定期发送 heartbeat 心跳包以维持连接。

消息类型

📦 Initial 初报

地震事件首次识别时发送的初步参数,包括震中位置、发震时间、震级等。

🔄 Update 更新

对已有事件参数进行修正的后续报告,字段结构与 initial 完全一致。

💓 Heartbeat 心跳

定期发送的心跳包,用于检测连接是否仍然存活。

详细字段说明

Initial 消息
Update 消息
Heartbeat 消息

Initial 初报消息

触发时机:当 Early-est 首次识别到一个地震事件时推送。

示例

{
  "type": "initial",
  "data": {
    "eventID": "EARLY_event_1773377668956",
    "shockTime": "2026/03/13 04:54:30Z",
    "reportTime": "2026/03/13 05:16:04Z",
    "longitude": -175.61,
    "latitude": -28.52,
    "placeName": "Kermadec Islands Region",
    "magnitude": 5.1,
    "depth": 29,
    "reportNum": 10,
    "maxIntensity": "",
    "maxLgInt": "",
    "isCSIS": true,
    "isCancel": false,
    "isFinal": false,
    "isPLUM": false,
    "sourceName": "Early-est"
  }
}

外层字段

字段 类型 必填 说明
type string 消息类型,此处为 \"initial\"
data object 地震事件的详细参数对象

data 对象字段

字段 类型 必填 说明
eventID string 事件唯一标识符,例如 EARLY_event_1773377668956
shockTime string 发震时间,UTC 文本时间,格式近似 YYYY/MM/DD HH:MM:SSZ
reportTime string 本次报告生成时间,UTC 文本时间
longitude number 震中经度(十进制度),西经为负
latitude number 震中纬度(十进制度),南纬为负
placeName string 区域/地点名称,例如 Kermadec Islands Region
magnitude number 地震矩震级或 ML 等(视数据源而定)
depth number 震源深度(公里)
reportNum number 本事件的报告序号,从 1 递增,用于区分初报与多次更新
maxIntensity string 最大观测烈度(若有,为字符串;示例中为空字符串)
maxLgInt string 最大长周期烈度等(示例中为空字符串)
isCSIS boolean 是否来自 CSIS(Central Seismological Information System)等权威源
isCancel boolean 是否为取消报告(true 表示该事件被取消)
isFinal boolean 是否为最终报告;若为 true,后续一般不再有 update
isPLUM boolean 是否使用 PLUM 等模型推定(视实现含义而定)
sourceName string 数据来源名称,此处固定为 \"Early-est\"

Update 更新消息

触发时机:对已有事件参数(震级、位置、深度等)进行修正时推送,用于替代或补充之前的 initial

示例

{
  "type": "update",
  "data": {
    "eventID": "EARLY_event_1773377668956",
    "shockTime": "2026/03/13 04:54:30Z",
    "reportTime": "2026/03/13 05:18:30Z",
    "longitude": -175.61,
    "latitude": -28.52,
    "placeName": "Kermadec Islands Region",
    "magnitude": 5.3,
    "depth": 29,
    "reportNum": 11,
    "maxIntensity": "",
    "maxLgInt": "",
    "isCSIS": true,
    "isCancel": false,
    "isFinal": false,
    "isPLUM": false,
    "sourceName": "Early-est"
  }
}

⚠️ 字段结构:initial 完全一致,仅 type 值从 \"initial\" 变为 \"update\",同时 reportNum 一般会递增。

Heartbeat 心跳消息

触发时机:服务端周期性发送,用于维持连接与健康检测。

示例

{
  "type": "heartbeat",
  "id": "08299f21e5b249ea9721718678c688a8",
  "timestamp": 1773387231625
}

字段说明

字段 类型 必填 说明
type string 固定值 \"heartbeat\"
id string 本次心跳的唯一标识 ID(通常为 32 位十六进制字符串)
timestamp number 发送心跳的服务器时间,Unix 毫秒时间戳

连接维护建议

  • 若超过约 2 个心跳周期仍未收到任何数据(例如 > 60 秒),建议客户端主动关闭并重连。
  • 可结合本地定时器,对 timestamp 进行简单漂移检查。

注意事项

  • 同一 eventIDinitial/update 消息属于同一震例,可按 reportNum 排序处理。
  • isFinal = true 时,通常表示该事件参数已稳定,可视为终报。
  • isCancel = true 时,客户端应删除或标记对应事件为作废。
  • 所有时间(shockTimereportTime)为 UTC 文本时间,请根据需要转换为本地时间。
  • 服务仅作为学习与技术研究用途,勿用于正式防灾减灾业务决策。