版本:1.0
发布日期:2025年12月1日
适用领域:数字人文、历史地理、文化遗产、天文史、跨文明研究
1. 引言
1.1 目的
本标准定义了一种统一的数据模型,用于表达具有空间与时间不确定性的事件或实体。通过“中心 + 半径 + 可信度”三段式结构,支持从地球局部到宇宙尺度的多层级时空描述,并兼容绝对参考系与相对叙事锚点。
1.2 范围
- 适用于结构化存储、交换、查询和可视化时空数据;
- 支持地球地理事件(如历史人物行踪)、太阳系事件(如彗星观测)、宇宙事件(如超新星爆发);
- 明确区分测量/记载不确定性与参考系差异。
1.3 设计原则
- 统一性:所有时空对象采用相同核心结构;
- 可扩展性:支持地球、太阳系、宇宙三级参考系;
- 可解释性:保留原始语义与转换路径;
- 互操作性:兼容 WGS84、ICRS、JD、TCB 等国际标准;
- 不确定性显式化:拒绝“伪精确”,将模糊性作为一等公民建模。
2. 核心概念
2.1 时空对象(SpatioTemporalEntity)
表示一个在时空中发生的事件、存在的实体或观测记录,由以下组成部分构成:
- 唯一标识符(
id) - 空间描述(
space) - 时间描述(
time) - 元数据(
metadata)
2.2 三段式结构
每个维度(空间、时间)均采用三段式表达:
| 组件 | 含义 | 类型 |
|---|---|---|
| 中心(center) | 最可能的位置或时刻 | 坐标或时间标量 |
| 半径(radius / uncertainty) | 不确定性范围(误差边界) | 长度或时间量 |
| 可信度(confidence) | 数据可靠性评估 | 分级标签或概率值 |
2.3 参考系层级(Reference System Levels)
| 层级代码 | 名称 | 空间基准 | 时间基准 | 典型应用场景 |
|---|---|---|---|---|
earth | 地球层 | WGS84 (EPSG:4326) | Terrestrial Time (TT) | 历史事件、考古遗址、文学地景 |
solarsys | 太阳系层 | ICRS (J2000) | Barycentric Coordinate Time (TCB) | 彗星、行星观测、航天任务 |
cosmic | 宇宙层 | ICRS + Redshift | Cosmic Time (ΛCDM) | 超新星、伽马暴、系外行星 |
注:所有内部计算推荐归一化至绝对参考系(WGS84 / ICRS + TT / TCB)。
3. 数据模型规范
3.1 时空对象整体结构(JSON Schema)
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"id": { "type": "string", "format": "uri" },
"label": { "type": "string" },
"description": { "type": "string" },
"space": { "$ref": "#/$defs/uncertain_space" },
"time": { "$ref": "#/$defs/uncertain_time" },
"metadata": { "$ref": "#/$defs/metadata" }
},
"required": ["id", "space", "time"],
"$defs": {
"uncertain_space": { /* 见 3.2 */ },
"uncertain_time": { /* 见 3.3 */ },
"metadata": { /* 见 3.4 */ }
}
}
3.2 空间描述(uncertain_space)
字段定义
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
reference_system | string | 是 | 取值:earth | solarsys | cosmic |
center | object | 是 | 中心坐标(结构依参考系而定) |
spatial_uncertainty | object | 是 | 不确定性参数 |
confidence_level | string | 是 | 取值:high | medium | low | speculative |
center 结构(按参考系)
earth:
{ "type": "earth", "lon": number, "lat": number, "alt_m": number? }
lon,lat:十进制度(WGS84),范围 [-180,180], [-90,90]alt_m:海拔(米),可选solarsys或cosmic:
{
"type": "icrs",
"ra_deg": number,
"dec_deg": number,
"distance_ly": number?,
"redshift": number?
}
ra_deg:赤经(度),[0, 360)dec_deg:赤纬(度),[-90, 90]distance_ly与redshift至少提供其一
spatial_uncertainty 结构
earth:
{ "radius_m": number }
solarsys/cosmic:
{
"angular_radius_arcsec": number,
"distance_uncertainty_ly": number?
}
3.3 时间描述(uncertain_time)
字段定义
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
reference_system | string | 是 | earth → TT;solarsys/cosmic → TCB |
center_jd | number | 是 | 儒略日(浮点数) |
time_radius_seconds | number | 是 | 时间不确定性(秒) |
confidence_level | string | 是 | 同空间字段 |
儒略日说明:
earth层:基于 Terrestrial Time (TT)solarsys/cosmic层:基于 Barycentric Coordinate Time (TCB)- 转换工具见附录 A
3.4 元数据(metadata)
| 字段 | 类型 | 说明 |
|---|---|---|
original_description | string | 原始文本(如“乾元二年秋客秦州”) |
original_calendar | string? | 原历法(如 chinese_lunar, islamic, julian) |
source | string | 数据来源(文献、数据库、观测) |
conversion_method | string | 转换方法说明 |
anchor_event_id | string? | 若为相对时间,引用锚点事件 ID |
created_by | string | 录入者或系统 |
4. 置信度分级标准(CL-Level)
| 等级 | 代码 | 置信区间 | 判定标准 |
|---|---|---|---|
| CL1 | high | ≥0.90 | 多源交叉验证;仪器实测;官方档案 |
| CL2 | medium | 0.70–0.89 | 单源可靠记载;有上下文佐证;合理推断 |
| CL3 | low | 0.40–0.69 | 模糊描述(如“江南”);孤证;间接证据 |
| CL4 | speculative | <0.40 | 假说;象征性地点;无直接依据 |
✅ 建议优先使用分级代码,而非连续概率值,以保证跨项目一致性。
5. 数据交换格式
5.1 JSON(推荐)
完整遵循第 3 节 JSON Schema。
5.2 GeoJSON 扩展
在 properties 中嵌入时空对象:
{
"type": "Feature",
"geometry": { "type": "Point", "coordinates": [lon, lat] },
"properties": {
"stcds": {
"id": "...",
"time": { ... },
"space": { ... },
"metadata": { ... }
}
}
}
5.3 RDF/OWL(用于知识图谱)
- 使用自定义本体
http://vocab.stcds.org/ - 类:
stcds:SpatioTemporalEntity - 属性:
stcds:hasSpace,stcds:hasTime,stcds:confidenceLevel等
6. 实施建议
6.1 存储
- 关系型数据库:使用 PostgreSQL + PostGIS + 自定义复合类型(见附录 B)
- 文档数据库:直接存储 JSON 对象
6.2 转换工具
- 提供 Python 库
stcds-core,包含:- 历法转换(公历、农历、干支等 → JD)
- WGS84 ↔ ICRS 坐标转换
- TT ↔ TCB 时间转换
- 相对时间解析器
6.3 验证
- 提供在线 JSON Schema 验证器
- 支持置信度逻辑检查(如:CL1 数据不应有 >100km 半径)
附录 A:时间系统说明
| 时间系统 | 缩写 | 定义 | 适用层级 |
|---|---|---|---|
| Terrestrial Time | TT | 地面原子钟时间,忽略引力红移 | earth |
| Barycentric Coordinate Time | TCB | 太阳系质心坐标时(广义相对论) | solarsys, cosmic |
| Cosmic Time | — | 自大爆炸起的共动时间 | cosmic(理论) |
转换公式复杂,建议使用
astropy.time库实现。
附录 B:PostgreSQL 类型定义(示例)
CREATE TYPE stcds_confidence AS ENUM ('high', 'medium', 'low', 'speculative');
CREATE TYPE stcds_space_earth AS (
lon DOUBLE PRECISION,
lat DOUBLE PRECISION,
alt_m DOUBLE PRECISION
);
CREATE TYPE stcds_space_icrs AS (
ra_deg DOUBLE PRECISION,
dec_deg DOUBLE PRECISION,
distance_ly DOUBLE PRECISION,
redshift DOUBLE PRECISION
);
CREATE TYPE stcds_uncertain_space AS (
reference_system TEXT,
center JSONB,
spatial_uncertainty JSONB,
confidence_level stcds_confidence
);
-- time 类型类似...
附录 C:示例数据
示例 1:地球事件(杜甫游秦州)
{
"id": "cbdb:event:dufu_qinzhou_759",
"label": "杜甫客居秦州",
"space": {
"reference_system": "earth",
"center": { "type": "earth", "lon": 105.7, "lat": 34.6 },
"spatial_uncertainty": { "radius_m": 20000 },
"confidence_level": "medium"
},
"time": {
"reference_system": "earth",
"center_jd": 1965832.5,
"time_radius_seconds": 7776000,
"confidence_level": "medium"
},
"metadata": {
"original_description": "乾元二年秋,客秦州",
"original_calendar": "chinese_lunar",
"source": "《旧唐书》《秦州杂诗》",
"conversion_method": "乾元二年 = 759 CE; 秋 ≈ Aug–Oct"
}
}
示例 2:宇宙事件(SN1987A 超新星)
{
"id": "nasa:sn1987a",
"label": "超新星 SN1987A 爆发",
"space": {
"reference_system": "cosmic",
"center": {
"type": "icrs",
"ra_deg": 83.8958,
"dec_deg": -69.2667,
"distance_ly": 168000
},
"spatial_uncertainty": {
"angular_radius_arcsec": 0.1,
"distance_uncertainty_ly": 5000
},
"confidence_level": "high"
},
"time": {
"reference_system": "solarsys",
"center_jd": 2446850.5,
"time_radius_seconds": 86400,
"confidence_level": "high"
},
"metadata": {
"original_description": "Observed on 1987-02-24 UTC",
"source": "IAU Circular No. 4316",
"conversion_method": "Light travel time corrected; TCB conversion applied"
}
}
标准维护(假设):本标准由开放时空数据联盟(Open Spatio-Temporal Data Consortium, OSTDC)维护。
反馈与贡献:https://github.com/ostdc/stcds-spec
许可证:CC BY-SA 4.0