数据规模
数据来源
纪年、朝代起止、统治者在位与生卒、历史事件,参考《剑桥古代史》《剑桥中国史》、斯塔夫里阿诺斯《全球通史》、《大英百科全书》、各国官修史与年代学工具书整理;陆地底图取自 Natural Earth 50m 公共领域数据(仅海岸线轮廓,不含任何现代行政国界)。上古年代多为学界常用推定值,页面以「约」标注。
精确历史疆界取自 Cliopatria v0.2.1(Seshat Global History Databank,CC BY 4.0):Bennett, J.S., Mutch, E., Tollefson, A. et al. Cliopatria — A geospatial database of world-wide political entities from 3400BCE to 2024CE, Scientific Data 12, 247 (2025)。数据经抽稀、按年代切片,并按 tools/border_map.json 人工审核后接入。该数据集由海外历史地图矢量化而成,其疆域表述不保证与我国国家标准一致,因此涉及中国及相关区域历史疆域、现代国界、海外殖民帝国的条目一律不接入,这些政权继续沿用项目原有的示意多边形。所有历史疆界均为学术示意,不代表任何现代领土主张;古代疆界本身高度不确定,不宜用于学术引用或边界考证。
现代中国边界不使用任何海外数据源,取自阿里云 DataV.GeoAtlas 公开行政区划数据(底图为高德开放平台数据,审图号 GS(2025)5996,WGS 1984),含台湾省、香港、澳门与南海诸岛,平台标注「仅供学习交流使用」,公开使用需另行履行地图审核程序。1949 年后的国界以此为准。近现代世界各国(1946—2026)采用 Natural Earth 10m admin_0_countries(公有领域,可自由再分发)随项目内置;其中中国部分(含台湾、港澳、南海诸岛)不使用该数据,藏南、阿克赛钦、戈兰高地等争议区已从相关国家几何中裁除,科索沃 / 北塞浦路斯 / 索马里兰按中方口径并入主权国几何。「层」面板可单独开关其省级边界细节。战国七雄采用江山时序 Jiangshan Atlas(GPL-3.0,源自 aourednik/historical-basemaps,参照谭其骧图集手工核对)政权轮廓快照按灭国事件携带重建,可合法再分发,随项目内置。中国历代疆域不内置:CHGIS V6 等数据集「免费学术使用、禁止再分发」,故仅提供 tools/import_cn_historical.py 本机导入通道——把你自行获取的国内权威数据放入 data/_source/cn_hist/,按 tools/cn_dynasty_map.json 填好映射后运行脚本,页面即自动叠加;派生数据默认仅限本机使用,不得随项目再分发。
疆界的诚实说明
古代政权几乎不存在严格意义上的精确疆界。本页同时存在两类表达:核心统治区示意多边形(手绘粗网格,用于大多数政权)与精确历史疆界时间片(来自 Cliopatria 学术数据集的矢量化轮廓,细实线,可按年份切换)。实心为直接统治区,虚线为推定范围,浅色为势力范围/朝贡圈,金线为手动导入的 GeoJSON。两者都是学术示意,不是法定边界,也不代表任何现代领土主张;重叠区域以半透明叠加呈现。可在「层」面板关闭精确疆界,对照查看原有示意多边形。
数据库
原始数据存放于 data/world_history.db(SQLite,12 张表):regions / region_polygons / polities / polity_regions / rulers / events / no_rulers / shapes / shape_regions / layers / layer_paths / meta。浏览器端加载的是由 tools/build.py 从数据库导出的快照 data/history_data.js,因此直接双击打开本页也能运行。
-- 查询公元 1215 年 1 月在位的政权与君主(含资料来源与可信度)
SELECT p.name AS 政权, r.name AS 君主,
r.birth_year, r.death_year, r.birth_month, r.death_month,
r.source, r.confidence
FROM polities p JOIN rulers r ON r.polity_id = p.id
WHERE p.start_month <= 56568 AND p.end_month >= 56568
AND r.start_month <= 56568 AND r.end_month >= 56568;
-- 查某政权疆域的历时切片(按生效月排序)
SELECT start_year, region_id, is_sphere FROM shapes
JOIN shape_regions USING (polity_id, ord)
WHERE polity_id = 'tang' ORDER BY ord, seq;
资料来源与可信度
每条事件与每位统治者都挂有 source(整类参考文献/史料类型)与 confidence(1—5 级可信度估计):1=编者说明,2=推定/口传,3=学界常用但有争议,4=多源可考,5=近现代有档案可查。source 是文献类别而非逐条精确引文,不足以直接用于学术引用;上古年代多为推定值,页面以「约」标注。另有 条说明:史前考古文化、城邦/共和/部落联盟议事体本就不存在单一可考君主;史料散佚的政权(如可萨、伏尔加保加尔)只列少量可考代表并注明局限,不编造人名。
在原始需求之外补充的功能
① 时间轴局部缩放与平移(滚轮 / +− / 双击 / Shift 拖动),解决 5500 年线性轴无法靠拖动精确到月的问题;② 事件密度与政权密度热图;③ 事件—地图联动;④ 文化圈图例、活跃政权列表、搜索跳转;⑤ 数据可信度分级与疆界示意声明;⑥ 气泡中的前朝/后继脉络与精确生卒月;⑦ 史料稀疏期自动改列「最近相关事件」;⑧ 朝代内疆域渐变:45 个主要政权各有 2—8 片历时疆域切片,切换时新增区块淡入、消失区块淡出;⑨ 13 个主题图层(丝路、大航海、佛教/伊斯兰扩散、黑死病、奴隶贸易等),路径按年代推进生长;⑩ 史料密度自适应变速、双时相分屏对比、URL 书签分享、GeoJSON 精确疆界导入;⑪ 快捷键与 window.HistoryViz 可编程接口;⑫ 悬停展开的卡片式时间轴/事件栏:默认只留细选项卡把舞台让给地球,最右图钉可固定常驻;⑬ 事件地图标记:按时段在事件发生地绘制分类色圆点与三圈同色辐射波纹,悬停可查看事件名;⑭ 陆地底图升级为 Natural Earth 50m 高精度海岸线;⑮ 政权精确疆界:接入 Cliopatria 学术数据集,按年份自动切换真实轮廓(当前覆盖 53 个政权 / 1342 个年代切片),可在「层」面板一键切回示意多边形对照;HistoryViz.precise(false) 亦可关闭。
关于「时间空档」:项目只录入 373 个有明确史料记载的政权,且多数只给一段起止年、疆界在存续期内不变;上古若干地区长期只有「文化圈/势力范围」条目(视觉上近乎空白),分裂期与过渡期常无对应实体。因此播放时某些地区会在前后政权之间出现空白,这是数据覆盖不完整,不是渲染错误。精确疆界数据集含 1600+ 实体、近 1.4 万条年代记录,可作为后续补遗的来源,但需逐条考证名称、年代与归属后人工增补。
快捷键
| 空格 | 播放 / 暂停 | ← → | 前后 1 个月 |
| Shift + ← → | 前后 1 年 | PageUp / PageDown | 前后 10 年 |
| + / − | 缩放地球 | R | 复位视角 |
| 1–5 | 切换 1×/2×/5×/10×/50× | Esc | 关闭面板 / 解除卡片固定 |
| 悬停细条 | 弹出时间轴 / 事件卡片 | 最右图钉 | 固定卡片,再点解除 |
| 时间轴滚轮 | 缩放时间范围 | Shift + 拖动 | 平移时间范围 |
| A | 密度自适应变速 | L | 图层面板 |
| C | 分屏对比 | B | 复制书签链接 |
时间轴与「精度为月」
时间轴线性覆盖公元前 3500 年 1 月至公元 2026 年 12 月,共 66,312 个月刻度。全览状态下 1 像素约等于 4.4 年,无法靠拖动精确定位到月,因此提供局部缩放:滚轮或右上角 +/− 按钮缩放、双击放大 4 倍、Shift + 拖动平移、「全览」复位。放大到跨度 24 个月时每像素不足 0.02 月,可精确拖到任意月份。自动播放基础速率为 60 月/秒并乘以速度倍率;密度带显示各时期史料事件与政权的分布密度,便于快速定位史料丰富的时代。