前言: 在成都生活,你有没有过这种经历:明明目的地就在马路对面,或者河对岸,直线距离不过几百米,但导航却让你绕一个巨大的圈子去过桥、找斑马线,或者避开某个进不去的大院?
把成都主城区切成了几千个小网格,算了一下每个格子的“绕路指数”。我想知道,这座城市里到底哪里最容易让人“跑断腿”。
先直接看结果,这是我跑出来的成都步行绕路热力图:

图注:颜色越深,代表在这个区域走路越容易被迫绕弯子。

从图中可以看出,高新西区/三环外侧某些被铁路切割的板块是重灾区;而老城区虽然路窄,但”毛细血管”丰富,反而绕路指数较低。
我把这张“绕路案例地图”单独放出来给大家玩:https://mingblog.site/map_forfun.html(推荐PC端体验)
这不是导航,也不代表现实中一定会绕路;它更像是一个“城市道路被切割的地方在哪里”的娱乐统计。
这张地图在干嘛?
我做的事很简单:
-
用 OpenStreetMap(OSM) 的步行路网(人行道/小路/城市道路中允许步行的部分)构建一个可走的图。
-
在成都主城区里按网格采样很多对“起点—终点”(距离大概 1km 左右附近的两点)。
-
对每一对点:
-
计算两点的直线距离(Euclid)
-
再用路网最短路计算实际要走的距离(Route)
-
绕路系数 Detour = Route / Euclid
-
-
从结果里挑出“绕得离谱”的一些,画成可交互的路线图。
你在地图里看到的每一条线,都是“算法说:如果你要从 A 到 B,可能要这么绕”。
这张图表示的,是宏观上哪里容易被河、快速路、围栏、铁路、园区等切割;它不能代表现实实际的道路情况。
原因包括但不限于:
-
OSM 数据并非实时:某些桥/通道/门禁/围栏状态,可能早变了。
-
步行可达性标注不完美:有的路在 OSM 上看似能走,实际上要绕;也可能反过来。
-
算法会产生“伪路线”:尤其当起终点“贴得太近”但中间被硬隔断时,最短路可能被迫绕到很远的可连接点。
-
我公开的是原始案例层:里面一定混有不合理/不好走/没人会走的路线,这很正常——这就是“娱乐版”的前提。
如果你发现明显不合理的:当一乐子玩玩就行了~
两个我自己验证过的“确实会绕”的例子
为了不让它看起来像纯自嗨,我挑了几条自己也去用高德地图对照过的案例。路线不可能完全一致(数据源和规则不同),但“确实存在绕路”这一点能对得上。
案例 1:快速路切割(Case 19)
-
barrier(障碍物类型):expressway
-
detour(绕路指数):8.67×
-
route(实际路径长度):3000 m
-
euclid(直线距离):346 m
-
snap(起终点被吸附到路网节点的距离):74m / 112m


直观理解:两点隔得不远,但中间可能被快速路隔开,能合法/可达的通行点很少,于是必须绕去能过的地方。
案例 2:水系切割(Case 68)
-
barrier:waterway
-
detour:3.82×
-
route:2343 m
-
euclid:613 m
-
snap:225m / 145m


直观理解:河道本身不宽,但桥/通行点密度不够,尤其在一些郊区/园区边缘地带,“直线很近,过河很难”,绕行就会被放大。
你会看到我标了 snap 距离。它表示我随机取的点不一定正好落在可走路网节点上,所以会“吸附”到附近节点。snap 越大,代表这个案例越可能是“采样点太野/路网节点稀疏”,可信度会下降一点——但不等于一定错。
在地图里怎么玩?
-
先缩放看整体:你会发现市中心通常绕路系数更温和(路网密,跨越点多),外围更容易出现离谱值(跨越点少、园区/快速路/河网更集中)。
-
点开任意 Case 的弹窗:看 detour / route / euclid。
-
遇到“看起来很假”的:不用怀疑,是它本来就可能很假。
-
遇到“你生活中真遇到过”的:那就是这张图最有价值的时刻。
版权与归属
-
数据来源:OpenStreetMap 及其贡献者(ODbL)。
-
本页面所有案例仅用于娱乐讨论与个人研究,不构成任何现实出行建议。
最后一句
我个人觉得结果整体挺符合直觉:市中心更“连通”,外围更“割裂”。
你可以把它当成“城市缝合程度”的一张玩具图——偶尔还真能对上你骂过的那句:“明明就在对面,怎么要绕这么远?”
如果你在地图里找到特别离谱或特别真实的案例,欢迎在评论区分享:你遇到的是地图错了,还是“成都就是这样”。