目录
本文由 Trae 自动整理;数据和评分口径来自当次实验记录,文中也保留了尚未完全复核的限制。
为什么要用 1km² 的 OSM 数据做城市比较
一句话:我下载了全球11个城市市中心的完整OSM数据,用6个维度量化打分,发现韶关排第11——但当你把水域、军事区域、城市能级全部修正后,韶关的映射效率超过1.0,意味着以一个四线城市的体量,OSM贡献者已经把该画的都画了,甚至超出了这个城市能级的预期。
一、为什么要做这件事
OpenStreetMap(OSM)是全球最大的开源地图协作项目。但”哪个城市的OSM画得最好”这个问题,一直缺少一个量化回答。好评如潮的德国城市到底好在哪?日本的OSM水平真的拉胯吗?中国的小城市参与OSM有希望吗?
我选了10个OSM社区活跃的城市——慕尼黑、汉堡、伦敦、墨尔本、柏林、维也纳、巴黎、纽约、阿姆斯特丹、东京——加上一个特殊样本:广东韶关,一个四线地级市。每个城市取市中心1km×1km的矩形区域,通过Overpass API下载完整OSM数据(含所有node、way、relation及其元数据),然后建立评分体系量化对比。
这些数字来自当时的实时 API 请求。由于原始 bbox、下载日期和评分脚本没有一并发布,本文更适合作为一次探索性比较,不能直接当作可复现实验。
二、评分体系:6个维度,100分制
我从OSM数据质量的核心维度出发,设计了6个评分维度:
| 维度 | 分值 | 计算方式 |
|---|---|---|
| 数据密度 | 25分 | 元素总数/km² ÷ 8000 × 25,封顶25 |
| 标签丰富度 | 20分 | unique tag key数 ÷ 80 × 20,封顶20 |
| 道路网络 | 15分 | 道路密度(km/km²)÷40×10 + 道路类型数÷10×5 |
| 建筑覆盖 | 15分 | 建筑数/km² ÷ 300 × 15,封顶15 |
| POI丰富度 | 15分 | (amenity+shop+tourism)/km² ÷ 200 × 15 |
| 社区活跃度 | 10分 | 贡献者数÷50×5 + 平均版本号÷5×5 |
选择这6个维度的逻辑:
- 数据密度反映总体测绘覆盖度
- 标签丰富度反映标注精细度
- 道路网络反映交通基础设施测绘
- 建筑覆盖反映城市骨架测绘
- POI丰富度反映生活服务设施标注
- 社区活跃度反映多人协作和反复修正程度
三、初版排名:德国城市统治力极强
排名 城市 总分 建筑 道路km POI 贡献者 均版本
1 慕尼黑 98.49 1204 56.0 1821 495 3.49
2 汉堡 98.47 628 47.5 1773 507 3.52
3 伦敦 98.00 842 69.0 1470 510 2.85
4 墨尔本 97.90 928 73.3 2284 355 2.21
5 柏林 97.85 329 55.0 1797 559 3.18
6 维也纳 97.67 599 48.7 2756 295 2.79
7 巴黎 97.45 1154 117.0 2875 387 2.52
8 纽约 96.89 634 79.5 1801 276 1.89
9 阿姆斯特丹 95.96 2114 37.3 730 225 1.95
10 东京 91.35 4248 36.6 183 56 1.13
慕尼黑夺冠:建筑覆盖1204栋、道路56km、POI 1821个,三项均衡且突出,平均版本3.49说明数据经过大量反复修正。
东京垫底:虽然建筑极多(4248栋),但POI标签极度匮乏(仅183个),贡献者仅56人,平均版本1.13——OSM在日本的社区参与度远低于欧洲。
四、加入韶关:四线城市的真实表现
韶关市中心1km²的OSM数据得分83.86分,在11个城市中排名末位。关键数据:
| 指标 | 韶关 | 慕尼黑(第1名) |
|---|---|---|
| Nodes | 5,142 | 16,669(3.2倍) |
| Ways | 1,069 | 3,617(3.4倍) |
| 道路总长 | 24.2km | 56.0km |
| 建筑物 | 629栋 | 1,204栋 |
| POI总数 | 400个 | 1,821个 |
| 贡献者 | 17人 | 495人(29倍) |
| 平均版本号 | 1.59 | 3.49 |
韶关的建筑覆盖629栋(超过柏林的329栋),POI有400个含187家商铺,餐厅60家、停车场26个、咖啡馆25家——具备基本城市测绘骨架。但社区活跃度极低,仅17名贡献者参与绘制。
五、第一轮修正:水域
韶关市中心位于浈江和武江交汇处,1km²的bbox里有27.7%是水面——11个城市里最高,远超第二名阿姆斯特丹的16.8%。河面上不能画建筑、画商铺,但原始评分按总面积算密度,这对韶关显然不公平。
把所有指标除以实际陆地面积后:
| 指标(每km²陆地) | 韶关 | 伦敦 | 柏林 |
|---|---|---|---|
| 建筑密度 | 870栋 | 864栋 | 353栋 |
| 道路密度 | 33.5km | 70.8km | 58.9km |
| POI密度 | 553个 | 1,512个 | 1,832个 |
最亮眼的发现:韶关建筑密度870栋/km²,与伦敦几乎持平,超过柏林一倍多。
韶关修正后分数从83.86跳到91.66,涨幅+7.80分,与东京的差距从7.49分缩小到2.25分。
六、第二轮修正:3D建筑和室内道路
OSM不仅画2D地图,还能标注3D建筑信息(楼层、高度、屋顶形状、材质颜色等)和室内道路(走廊、电梯、楼层标签)。我把这两个维度各设5分加分项。
分析结果:
3D建筑(韶关0.11/5分)——最大失分点。 韶关629栋建筑里只有16栋标注了3D信息(2.5%),而维也纳91%、纽约88%、柏林84.5%的建筑都有3D标注。这16栋倒是画得不错——平均5.2层、最高12层,但量太少。
室内道路(韶关0.59/5分)。 韶关有15个indoor元素、10条corridor走廊、118个level标签——有人开始画室内了,但规模太小。对比柏林63条走廊+10部电梯、墨尔本206条走廊+32部电梯,差距明显。
加入加分项后前三名洗牌:
- 柏林逆袭到第1:3D建筑84.5% + 室内道路满分(63走廊+10电梯+354室内元素)
- 维也纳升到第3:3D建筑91%占比全场最高
- 墨尔本室内道路满分:206条走廊+32部电梯
七、第三轮修正:军事区域
OSM里军事区域的标注情况各国差异很大——有些城市市中心有军事设施但OSM不标,有些城市标注了限制区域但实际面积不大。
分析结果:11个城市里只有两个bbox内有军事区域:
- 伦敦:6.07%,含landuse=military、military=office、military=bunker等
- 韶关:1.96%,1处landuse=military,约19562m²
- 其余9城:0%
军事区域对排名影响很小。韶关扣除军事区后只多涨了0.24分(91.66→91.90),因为那块军事区只占1.96%,且密度类指标早已封顶。
八、第四轮修正:扩大到2km范围
1km时韶关市中心数据密度还算高,但如果扩大范围,边缘区域数据可能明显稀疏。我把所有城市的bbox从1km×1km扩大到2km×2km(4km²),数据量翻4倍重新下载分析。
结果:
排名 城市 最终110分 vs 1km
1 维也纳 105.38 ↑2
2 柏林 105.32 ↓1
3 伦敦 105.16 ↑2
4 汉堡 105.09 —
5 慕尼黑 105.01 ↓3
...
10 东京 97.14 —
11 韶关 84.41 —
韶关分数从92.60掉到84.41,降了8分。 2km范围韶关的元素总量仅20725个,是东京的1/6;贡献者31人,是柏林1126人的1/36。核心问题依然是社区活跃度——31人 vs 欧洲1000+人,不是靠扣面积能弥补的差距。
九、最关键的修正:城市能级
到这里我意识到一个根本问题:你不能要求一个四线城市画得跟一线城市一样好。 韶关2024年GDP 1647亿元,人均GDP约8000美元,是伦敦的1/10、汉堡的1/12。城市建设本身就不可能跟这些国际一线城市比——OSM贡献者再努力,也画不出现实中不存在的建筑和道路。
应该衡量的是映射效率——OSM数据捕获了多少现实城市信息,而不是绝对数据量。
方法
- 用人均GDP和城市人口建立城市能级指数
- 基于城市能级推导预期OSM数据基线
- 实际OSM数据 ÷ 预期基线 = 映射效率比
- 效率>1说明OSM数据超过该城市能级预期(画得好),<1说明还有映射空间
各城市能级
| 城市 | 人均GDP | 人口 | 城市能级 | 分级 |
|---|---|---|---|---|
| 纽约 | $80,000 | 830万 | 1.610 | 全球城市 |
| 伦敦 | $78,000 | 820万 | 1.596 | 全球城市 |
| 东京 | $45,000 | 970万 | 1.394 | 全球城市 |
| 汉堡 | $94,000 | 191万 | 1.361 | 国际一线 |
| 墨尔本 | $55,000 | 500万 | 1.337 | 国际一线 |
| 阿姆斯特丹 | $83,000 | 90万 | 1.144 | 国际一线 |
| 柏林 | $45,000 | 378万 | 1.189 | 国际一线 |
| 巴黎 | $56,000 | 220万 | 1.167 | 全球城市 |
| 维也纳 | $58,000 | 190万 | 1.150 | 国际一线 |
| 慕尼黑 | $59,000 | 151万 | 1.108 | 国际一线 |
| 韶关 | $8,000 | 285万 | 0.378 | 中国四线 |
映射效率排名
| 排名 | 城市 | 综合效率 | 原始排名 | 变化 |
|---|---|---|---|---|
| 1 | 巴黎 | 6.051 | 6 | ↑5 |
| 2 | 阿姆斯特丹 | 4.306 | 9 | ↑7 |
| 3 | 伦敦 | 3.350 | 3 | — |
| 4 | 纽约 | 3.256 | 8 | ↑4 |
| 5 | 维也纳 | 3.094 | 1 | ↓4 |
| 6 | 慕尼黑 | 3.013 | 5 | ↓1 |
| 7 | 东京 | 2.838 | 10 | ↑3 |
| 8 | 柏林 | 2.750 | 2 | ↓6 |
| 9 | 墨尔本 | 2.724 | 7 | ↓2 |
| 10 | 汉堡 | 2.375 | 4 | ↓6 |
| 11 | 韶关 | 1.144 | 11 | — |
韶关四项映射效率全部≥1.0
| 维度 | 实际密度/km² | 预期基线/km² | 效率 | 解读 |
|---|---|---|---|---|
| 元素 | 5,907 | 5,567 | 1.061 | 略超预期 |
| 建筑 | 648 | 538 | 1.205 | 超出预期20% |
| 道路 | 23.7km | 21.1km | 1.120 | 超出预期12% |
| POI | 196 | 164 | 1.196 | 超出预期20% |
十、结论
关于韶关
韶关不是”画得不好”,而是”城市本身就这些,画得已经够了”。映射效率1.144意味着:以韶关的城市建设水平,OSM贡献者已经把该画的都画了,甚至超出了这个城市能级应有的水准。这是贡献者的功劳,不是贡献者的锅——你不能要求一个人均GDP 8000美元的四线城市,画出一个人均GDP 8万美元的全球城市的数据量。
关于排名变化的逻辑
维也纳、柏林、汉堡排名大跌——原始110分排名前4,但映射效率排名掉到5-10名。原因直接:它们城市本身极发达(人均GDP $45k-94k),基础设施极其丰富,OSM贡献者上千人,但映射效率说明它们画出来的数据量相对于城市体量来说并不算特别突出——城市好不等于画得好。
巴黎和阿姆斯特丹逆袭——巴黎映射效率6.05全场最高,说明巴黎OSM社区在相对适中的城市能级下,画出了远超预期的数据密度。阿姆斯特丹从第9升到第2也是同理。
关于分析方法论
这次分析最大的教训是:评价任何数据质量之前,先搞清楚你在比什么。 同一份数据,用绝对量排名和用相对效率排名,结论可以完全颠倒。如果你只看绝对数据量就下结论”韶关OSM画得很差”,那你就是在用伦敦的标准要求一个四线城市——这不公平,也没意义。
正确的评价方式应该是:给定这个城市的体量和发展水平,OSM社区画出了多少?画够了没有? 韶关的答案是:画够了,甚至超出了一点。
2026-08-19
评论
评论区滚动到这里时加载(基于 GitHub Discussions)