God’s Eye View:地球视图、AI 交互与真实数据边界
God’s Eye View 地震规范化源码:空、无效和被过滤是三种结果
用十八项隔离测试分析快照校验、严格数字、重复身份、震级过滤和标签预算。
你将学会
- 替换状态前先验证完整快照
- 筛选和校验承担不同职责
- 源记录和标签选择遵循不同协议
开始前需要
- 了解 JavaScript 和 JSON 基础
- 理解坐标与来源时间的区别
借助合成案例说明来源记录、校验、图层呈现和可选 AI 交互各自的责任。
先看结论
- 合法空快照与格式无效不同。
- 震级筛选位于更完整的校验协议中。
- 标签上限不能解释成来源记录数。
替换状态前先验证完整快照
normalizeEarthquakeSnapshot 在 features 不是数组或结构校验失败时返回 null,合法的空数组则返回空结果。来源适配器会对无效数据抛错,使调用方能够区分获取失败与被接受的空观察,不必把二者都解释成没有事件。
坐标顺序是经度、纬度和可选的公里深度,经纬度必须是有限且在范围内的数字,不会悄悄转换数字字符串。提供深度时也必须有限。一条格式错误的事件会拒绝整个快照,而不是静默生成不完整的新列表覆盖旧状态。
筛选和校验承担不同职责
缺失震级或低于 2.5 的记录被跳过,因为它们无法证明属于显示子集;大于十或非有限震级则让快照无效。显式几何类型必须为 Point,但实现允许省略类型,因此不能把这个函数称为完整的 GeoJSON Schema 验证器。
纳入结果的记录需要唯一稳定 ID,缺失 ID 会使用基于序号的事件名,可能与另一条显式 ID 冲突并导致拒绝。地点与时间允许保持未知。mapAnalystRecord 同样把未知数值保留为 null,不把数字字符串自动解释成测量值。
源记录和标签选择遵循不同协议
标签候选函数复制数组,先按优先级再按身份排序,并把请求数量限制到最多九十六个。这是显示预算,不是世界上地震数量的上限。环境文字标签本身不可交互,其他图层交互则有独立资源归属,不能混成一个行为。
十八项已执行测试使用合成输入运行 AST 精确选出的规范化、分析记录映射和标签候选函数,覆盖空与无效、范围、阈值、缺失字段、重复身份、回退冲突和不修改输入的稳定选择。没有执行 Cesium、实时来源、浏览器渲染或应用生命周期。
如何选择
| 比较维度 | 方案 A | 方案 B |
|---|---|---|
| Best when | You need predictable behavior and easy auditing | You need adaptive optimization and have reliable telemetry |
| Main risk | May leave performance on the table | Can become difficult to explain or debug |
实施步骤
- 1
分别测试合法空快照与无效输入。
- 2
核对坐标顺序和严格数值类型。
- 3
加入重复及回退 ID 冲突案例。
- 4
验证标签预算且不修改输入列表。
可复制示例
{
"features": [
{
"id": "synthetic-event",
"geometry": {
"type": "Point",
"coordinates": [
10,
20,
5
]
},
"properties": {
"mag": 3,
"place": "合成学习事件",
"time": 100
}
}
]
}常见问题
数字形式的坐标字符串可以通过吗?
不能,函数使用有限数字检查,不会强制转换字符串。
九十六个标签上限表示只抓到九十六条事件吗?
不是,它限制环境标签候选,不限制来源事件总体。
资料来源
- God’s Eye View / src/layers/earthquakes/model.js来源核查 2026-09-14
- God’s Eye View / src/layers/earthquakes/source.js来源核查 2026-09-14
- God’s Eye View / docs/CURRENT-STATE.md来源核查 2026-09-14