老地图
最近我迷上了看老地图,尤其是上海的。有一位专业收藏地图的朋友大概看我天天「考古」上头,就火速甩给我一份宝藏———《老上海百业指南》的扫描版。
这部《老上海百业指南》其实收录了两本重量级资料:1947年出版的《上海市行號路圖錄 上册》,以及1949年出版的《上海市行號路圖錄 下册》。
《上海市行號路圖錄》有点类似于黄页,将当时的道路格局、商号分布与城区划分完整地记录下来。里面收录了各区街道详图(上册112幅、下册118幅)。1947出版的上册基本覆盖了当时上海市中心延安路以北的原租界的范围,以及闸北和虹口的部分地区的路图;1949年出版的下册则覆盖了延安路以南的原租界,以及老城厢、南市和法华地区的路图。
- 上册总图:

- 下册总图

每一张分图都详细记录了抗战胜利后民国时期上海街道的详情,比如:
- 外滩:

赛博拼图
然而,一页一页地翻看扫描版地图,总让我觉得不过瘾。作为一个写代码为生的「码农」,心里总忍不住冒出一个想法:有没有更现代、更「电子化」的方式去玩这些地图?如果能像用谷歌地图、高德地图那样,拖拽、缩放、切换角度,甚至还能叠加今天的地图进行对比,那不就能一目了然地看到——这条马路在八十年前叫什么?这片街区是拆了,还是依然留存?
为了实现这个伟大(且有点折腾)的计划,我去问了问万能的 ChatGPT:有没有什么开源 GIS 软件能帮我?它很快给我安利了一款开源 GIS 软件——QGIS(Quantum GIS)。ChatGPT嗨手把手教我了怎么做georeference,把老地图和现在的位置对应上,然后怎么在photoshop中编辑GeoTIFF文件,把每张分图重叠的部分删掉。
就这样,我开启了我的「赛博拼图」之旅。把扫描的老地图一张张导入软件里,就像在做一幅巨型拼图。不同的是,手工拼图靠的是眼力和耐心,而这场电子拼图更多要依赖坐标对齐、图层叠加、抠图、调整。每天晚上抽点时间,拼上几块,哪怕只是把某个片区对齐完成,都会带来一种强烈的成就感。那一刻,仿佛自己不是在对着电脑屏幕,而是真的在把一座历史的城市,一点点从纸上复活过来。

进度
2025-09-13: 完成了上册的 12/1122025-09-14: 完成了上册的 20/1122025-09-15: 完成了上册的 33/1122025-09-17: 完成了上册的 45/1122025-09-28: 完成了上册的 81/112
(半)成品
经过一段时间的折腾,我终于把零散的老地图碎片,一张张拼成了一幅完整的大地图。
我还加了底图切换功能。你不仅可以单独欣赏这幅老上海的全貌,还能和现代地图进行对比。底图可以选择常见的 OSM(OpenStreetMap),也可以切换成 浅色的 OSM,如果想要更直观的对照,还能打开 谷歌卫星图,看看八十年前的道路和如今的高楼街区之间,是怎样的重叠与错位。