我花两小时,跟一张世界地图死磕

今天下午做了一件有点费劲的事,记录一下。
前两天我做了一个东西,姑且叫它「通用领域简史可视化生成器」。它能实现的是:只要你说出一个领域,它就能把这个领域里的产品、人物、技术这三条线索的时间轴——也就是它们的简史——绘制到一张平面地图上。这张地图你可以旋转它、缩放它,也能把鼠标移到某个节点上看它的基本信息。总之,我做了这么个东西。
我想把它引进到学校里,让孩子们去用它。
这时候问题就来了。我当时用的那张世界地图是从网上找的一张。那是国外的一张地图,中国被放在右边。它不符合中国对使用地图的要求。所以我就想把底图换成中国在中间的世界地图。
找了几张,都不太理想。早有心理准备——这不是容易的事。
另外,我还希望把这张地图做成 SVG 格式的。这样它就是一张透明的地图,体积也更小。我想到的方案,是去中国官方网站天地图。天地图上有政府官方提供的、符合标准的地图供下载,既有中国的,也有世界的。所有可下载的地图都有两个格式,一个是 JPG,一个是 EPS——一种矢量图格式。
最初我让 Workbuddy 把这个 .EPS 地图下载回来,给我解析成 SVG。最终我发现,这一点它做得并不太好。
所以我就下载了一个开源的矢量图形编辑软件 Inkscape。我之前用过它,它支持矢量图绘制,并且能直接打开 EPS 文件。

图片说明:曾经想手搓地图,后来发现难度太大放弃了——但后来又找到一个巧妙的办法,其实能实现。
但打开之后,面临两个问题。第一,文件本身比较大,都在十几兆以上。第二,地图上的细节太多了。
中间我还做了些挑选,找配色漂亮的地图——有些配色看上去特别老旧、特别土。选到一张好看的,把它导进软件之后,就开始动手删细节。
一些小岛的名字,一些特别小的国家,还有国家境内的河流,我都去掉。编辑过程中碰到些小困难,克服之后,下午总共弄了将近两个小时,终于出来一张我觉得还能用的地图,保存成 SVG 格式。
然后通过 Workbuddy 把它读进去。发现还存在一个问题:Workbuddy 并不能正确识别地理坐标——也就是说,把城市节点放在地图上对应位置这件事,它还做不到。
刚才出来之前,我让它去做这件事。结果是:地图和节点都显示出来了,但节点没有落在正确的地理位置上。

图片说明:节点和地图都显示出来了,但节点没有落在正确的地理位置上。
这就是我今天下午所做的事情。