Early-est 地震预警 WebSocket 数据
基于 Early-est 服务的全球/区域地震预警推送,包含事件初报与后续更新
连接地址:
wss://sismotide.top/Early-est
概述
通过 WebSocket 连接 wss://sismotide.top/Early-est,可以实时接收 Early-est 输出的地震事件预警数据。
服务会在事件产生时推送一次 initial 消息,后续若有修正则继续推送 update 消息,并定期发送 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 毫秒时间戳 |
注意事项
- 同一
eventID的initial/update消息属于同一震例,可按reportNum排序处理。 - 当
isFinal = true时,通常表示该事件参数已稳定,可视为终报。 - 当
isCancel = true时,客户端应删除或标记对应事件为作废。 - 所有时间(
shockTime、reportTime)为 UTC 文本时间,请根据需要转换为本地时间。 - 服务仅作为学习与技术研究用途,勿用于正式防灾减灾业务决策。