Openstreetmap for All

Posted on September 23, 2025

Enough is Enough

三月份的有一天下午,我在杭州,准备去萧山找朋友一起吃个饭。地铁上,我的手机不知道怎么回事,总是在振动。我发现了一个规律,似乎只要地铁快要到站的时候,手机就会振动。我突然意识到这似乎是高德地图的一个 feature。它可能会聪明地自动提醒我车站信息。我当时就觉得 enough is enough,马上(还没有确认高德地图是不是问题所在)卸载了高德地图(手机当时就没有再乱振动)。已经快要有半年没有用过高德地图了,我给自己添了不少堵。但是我不后悔。因为,哈哈哈,自律使我自由。

真正的问题是 how I cope. 这里是中国。我选择不使用一个有问题的软件往往意味着我要解决更多的问题。

Why osmand/comaps

我用的是 osmandcomaps. 我想先说一下是什么让这两个软件很特别,然后再说我是怎么用这两个软件的。

这两个软件后面都是用的 openstreetmap,这意味着数据是开放、自由、人人可以参与编辑的。另外这两个软件是开源。开源往往意味着用户自由度更高、功能高度定制。用它们,我不需要担心有一天我自己就是某个公司的产品,而我的数据就是它们可以用来要挟我、可以用来出卖我的人质。比如,我需要担心高德地图上面我收藏的兴趣点太多,有一天我可能没法登陆上高德地图,这样我就没法再访问我的数据了,但是用它们我就不需要担心了。

Some Pleasant Surprises

让我再举例说明它们的这些特性怎么样在具体的场景里帮到了我吧。

珠峰东坡

几年前我了珠峰东坡徒步,那是一个难以忘记的经历。长话短说是 osmand 帮了我太多太多,也许没有它就没有今天的我了。珠峰东坡是一个很危险的徒步路线。其难度意味着去的人不可能太多。普通的在三清山这种地方都没法步行导航的地图在珠峰东坡显然是用不了的。

珠峰东坡介绍里面不可或缺的大片是措学仁玛的雪山倒影。在普通的国内地图里面,能搜到措学仁玛营地已经可以让我足够欣慰了。

但是 osmand 上,我不仅可以轻易可以看到冰川、河流、湖泊等地理 features,放大之后我还能清楚地看到整个徒步的路线。出发之前我在两步路上下载好了 gpx 格式的轨迹,导入之后,我发现线路基本吻合。

最重要的是这个图片上面有详尽的地理信息。比如放大之后,下图里面的冰川,山峰海拨都是很有用的徒步信息。

还能在 openstreetmap 上找到这样一个的小众的徒步路线,对我来说,是一个很大的惊喜,google/百度/高德这些商业公司的地图上面很难出现这种数据,测绘这种地图,对于它们来说,经济上不划算,而 openstreetmap 靠的是志愿者(小心,也许这是一个诅咒),一群你不知道可能在什么极端领域都有着强烈兴趣的志愿者。

Serengeti

还有一个 google map 也不好用的例子。在我们从 Serengeti 中部 Seronera 去 Serengeti 北部 Mara River 看角马渡河的路上,向导迷路了。你可能在想只是这个向导太逊了吧。事实上,是 Serengeti 真的太大太大了,而且大草原的地貌辨识度太低了。在这里,我很难想象,我自己要走多少次才能不迷路。在向导坦白他迷路了之后,我问了他的计划,然后我就是他的导航。向导和车上的小伙伴都惊呆了。下面的图片是 google map 和 osmand 的对比图。

Google map 上面只有 Mara River 和一条路。

Osmand 上面有很多小路、很多地理 features、等高线、地形图等等。还能看到这是一个渡河点。

For a Few Features More

还想说两个我经常用的功能。

第一个是 wikivoyage。wikivoyage 是给旅行者用的 wikipedia,上面有详尽的目的地信息。osmand 对 wikivoyage 的整合是我旅行路上不可或缺的功能。

上图是今年年初去东南亚玩的时候用 osmand 做功略的时候的截图。Osmand 可以搜索附近的 wikivoyage 文章。打开相关目的地页面之后,我们可以将目的地页面上的兴趣点标注在地图上,这样可以大大减少搜索功略然后规划路线的时间。

第二个是 osmand 的 gpx 文件管理功能。gpx 是一个开放格式。我们可以用它来在不同软件之间共享数据。比如,我们可以制定一个旅程,然后把它我们可以把它导入到 gpx.studiowanderer 或者 google map 之类的软件。或者我们可以把别人制定好的行程导入 osmand.

上面的图片里面我规划了一个 Kruger 自驾的线路。主要就是确定了几个途经点。规划完了我可以导出数据到 gpx 文件到

制定好之后我们可以分享给好友。

或者有人已经制定好了一个行程,我们可以导入他们他们的行程到我们的地图。比如,wikivoyage 是支持导出 gpx 格式文件的,这就意味着我们可以从 wikivoayge 等等服务中获取到兴趣点的位置信息(事实上,osmand 的 travel 功能就是自动帮我们做了这个事情,使我们可以免于手动下载并导入 gpx 文件),再比如两步路也提供 gpx 下载,我们可以在两步路上搜索武功山,然后把武功山的轨迹下载好,然后导入 osmand(就像我导入珠峰东坡的轨迹一样)。

这样,我们就拥有了一个强大的地图和一份已经被人走过的轨迹。

osmand or comaps

最后,我上面大部分时间都是在介绍 osmand,我提到的 comaps 却没怎么介绍。这两个后面的数据都是来自 openstreetmap,它们都可以认为只是 openstreetmap 的前端。这两者的区别是 comaps 用的是简化 openstreetmap 数据,comaps 上手成本远低于 osmand,功能也远少于 osmand。总之,Use comaps when you can. Learn to use osmand when you must.