如何将散步变成一次提交:轻松助力 OpenStreetMap
你有没有过这样的经历:在小区里散步时,发现最喜欢的咖啡馆已经关门了,但地图上还显示着?或者院子里新安装了一个很棒的游乐场,但导航里什么都找不到?通常情况下,这种想法到这里就结束了:深入 OpenStreetMap(OSM)编辑器的标签、图层和特定语法中度过周末夜晚,实在不是什么好主意。
StreetComplete 项目改变了这一局面。这是一个 Android 应用,将地图数据细化变成一系列简单的任务。它不需要你成为 GIS 专家,也不需要知道 amenity=cafe 和 shop=coffee 的区别。

这是什么以及为什么你需要它
StreetComplete 是一个专为野外环境设计的开源 OSM 编辑器。其核心理念是你不需要绘制建筑或道路的几何形状(这些在显示器前更容易完成),而是填充地图的属性信息。
大多数地图的问题在于,细节部分很快就会过时。街道名称很少会变,但人行横道上的盲道、公园小径的路面材质、小店的营业时间——这些总是在变化。StreetComplete 找到这些"空白点",并让用户来填充它们。
任务是如何工作的
打开应用后,它会下载你当前位置的数据,并在地图上放置任务图标。每个任务都是一个具体的问题。
例如:
- 这栋建筑有门牌号吗?
- 这条路面的材质是什么:沥青、碎石还是铺路石?
- 这个人行横道有声控信号装置吗?
- 这个入口有轮椅坡道吗?

你只需在界面中选择合适的选项或输入文字,应用会自动生成正确的 changeset 并代表你发送到 OSM 数据库。无需处理 XML 或复杂的标签方案。
项目的技术层面
该项目使用 Kotlin 编写,开发非常活跃。仓库中有几个有趣的亮点:
- 任务架构。 每个任务都是一个独立的模块,描述问题何时出现(类似 SQL 的现有标签过滤)以及答案表单。
- 离线工作。 应用会缓存数据,所以你可以安心地进入森林,绘制树木类型或步道表面类型,之后回家通过 Wi-Fi 上传你的编辑。
- AR 测量。 最新版本增加了使用增强现实测量建筑高度或道路宽度的功能。
顺便说一下,开发者目前正在积极将项目移植到多平台,以便 StreetComplete 最终也能出现在 iOS 上。这是一项大工程,你可以在仓库的工单中关注进度。
为什么开发者应该关注这个项目
如果你在寻找一个可以贡献代码的项目,StreetComplete 是一个很好的候选。首先,它的结构非常清晰。其次,入门槛很低:你可以从翻译界面或创建一个简单的任务开始。
对于那些只想做点好事的人来说:这是让 OpenStreetMap 变得更好的最快方式。与专有地图不同,OSM 数据属于所有人。你的编辑最终会出现在 Maps.me、Organic Maps、OsmAnd 以及成千上万的其他服务中。
谁会觉得这有用
这款应用最适合那些经常步行或骑自行车的人。它把日常通勤变成了一款小游戏。
当然,也有局限性。你无法添加地图上还没有的全新对象(例如刚建好的房子)。为此,你仍然需要使用功能完整的编辑器,如 JOSM 或 iD。但对于"整理"和更新你所在社区的数据,StreetComplete 无可匹敌。
你可以通过 Google Play 或 F-Droid 下载这个应用。如果你想深入研究代码或提出自己的任务,请查看 GitHub 上的仓库。项目充满活力,每天都有新的提交,社区也很乐意帮助新手。
相关项目