社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Git

牛逼,GitHub 上有人让我第一次把苏轼的一生走完了。

开源日记 • 5 天前 • 69 次点击  

大家好,我是熊叔,今天我们继续逛 GitHub。

前阵子重读《赤壁赋》,我被一个很小的问题卡住了。

黄州在今天哪儿,那几年北宋的版图长什么样,苏轼又是怎么一路走过去的。

查了几页资料,地名找到了,年份和人对不上。

后来我把这三个问题丢给一张在线地图,几分钟就有了答案。

这个项目叫「江山时序」,GitHub 上的开源中国历史交互地图,浏览器打开就能用,不用装任何东西。

图片

作者把战国到今天的疆域做成了一根可以拖的时间轴,18 个历史时期,183 幅版图快照,跨度两千四百多年。

我把年份拖到 1082,左下角跳出「北宋 · 阶段 9/12」,括号里是 1072 到 1103 这一段。

1082 年正好是元丰五年,也就是《赤壁赋》开头那个壬戌之秋。

时间轴是一段一段走的,每一段里发生的仗、迁都、改制,都挂在阶段卡上。

卡片上写着这一段的大事,王韶熙河开边,收复熙、河、洮、岷、叠、宕六州,新置熙河路。

同一年份里,宋、辽、西夏、大理一起摆着,边界用不同颜色压在一张图上。

北宋元丰五年全图,左下角标着阶段与当年大事

看版图只能看大势,我还想知道黄州自己是什么建制。

在搜索框里输入黄州,地图飞过去,右侧弹出一张卡。

卡上把黄州从战国排到中华人民共和国,十八行,每行写着那个时期归谁、算哪一级。

北宋这一行是淮南路黄州,下面挂着一行小字,1080 年,贬谪黄州 · 东坡赤壁。

再往下,今天的对应是湖北省黄冈市,经纬度也标好了。

黄州政区沿革卡,逐行列出十八个时期的归属

让我停了一下的是它更早的名字。

同一块地,三国那会儿叫武昌,孙权在这儿建过都,孙皓也在这儿待过。

一张卡把两千四百年串成一条线,读诗时对不上号的地名,大多能在这里落地。

我想确认的重点还是人。

搜索框里打「苏轼」,候选里有一项是人物,点进去,地图上立刻拉出一条朱红色的虚线。

苏轼十二站行迹的朱红虚线,自眉州折向南方

十二站,1037 年眉州出生,1056 年出蜀,1057 年汴京及第,1079 年在湖州被抓。

1080 年这一站到了黄州,往后是 1094 年惠州,1097 年儋州,1101 年常州。

每一站底下压着一小段缘由,还配了那几年他写下的句子,黄州给的是「竹杖芒鞋轻胜马,谁怕?一蓑烟雨任平生」。

我更看重的是这个组合的用法。

查到一个地名之后,能顺手对齐人到那里的那一年,再看他的整条路线,前后就通了。

地名、年份、人物这三样,平时散在地名词典、年表和传记里,它把三样接在了同一张图上。

v1.1.0 之后,这样的人物有 104 位,帝王、文臣、诗人、僧人、航海家都收在里面。

从原来的 7 条一路扩到这个数,又按二十四史校了 471 项事件,工程量不小。

物件也能这么查。

传国玉玺被做成了像人物一样的一条线,从公元前 283 年邯郸完璧归赵,一直到 936 年李从珂登楼自焚。

13 站,跨 10 个朝代 1219 年,每一站底下压一句《资治通鉴》原文,卷次也标了。

传国玉玺的点物溯史卡,十三站各附一句史书原文

水系也随年份动。黄河五次改道、云梦泽和罗布泊的消长都在里面,二十座名关、长城、大运河、丝路和郑和航线也画着。

从实现上看,它是一堆静态文件,没有构建步骤,clone 下来起个本地服务就能跑。

交互几乎都写在 app.js 这一个文件里,六百多 KB,快照数据另存了接近两兆的一个文件。

数据是按年份组织的,不按朝代标签回填。

挑到 208 年,图上是曹操、孙权、刘备、刘璋、张鲁这些割据势力,阶段写着东汉。要到 220 年以后,魏、蜀汉、吴三种颜色才出来。

二百零八年全图,图上还是东汉与各路割据势力

对想接自动化的人,作者留了几个口子。一个零依赖的 MCP server 和三个查询工具,一个 GeoJSON 导出脚本,一个按年份出图的命令行脚本。

这几样我只是在文档里看到,没有真的跑起来,只当线索记在这里。

边界也得说清楚。

图上的界线是示意,看大势可以,拿来量距离不行。

数据里有一部分来自 CHGIS 和 Hartwell,这两个来源对商用有限制,作者写明只适合学术和非商业用途。

项目 2026 年 7 月才建,三个多月推到两千八百多 star,人气旺,问题也跟着来。

issue 里有人直接说卡,作者随后连着提了几版性能改动。

也有人问能不能往前做到春秋,方便读《左传》,还有人问能不能扩到世界史里看中国,这两条都还开着。

想直接看,作者挂了在线版,浏览器打开就能拖。想本地跑,clone 之后一条命令起服务,不装依赖。

适合谁呢。

读古诗古文的,给孩子讲历史的,写历史类内容的,都能用上这张图。

如果只是想确认某个地名今天在哪儿,搜一下也就够了。

它的价值在把地名、年份和人的行迹放在一起看,让人少走一段对不上的路。

开源地址:https://github.com/DeanChensj/jiangshan-map

最后点击下面卡片,关注开源日记。

持续发现有趣的开源项目,分享技术世界里的小惊喜。感谢阅读,我们下期见!

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/202948