我们如何找到世界上的每一条爬坡
从2.12亿条道路段到数百万条经过验证的自行车爬坡。这就是我们如何构建世界上最全面的爬坡数据库。
1. 从世界地图开始
OpenStreetMap是一个协作项目,全球志愿者在其中绘制每条道路、小径和路径。它就像地图界的维基百科。这为我们提供了基础:2.12亿条具有精确坐标的道路段。
我们从OpenStreetMap导入整个地球的道路网络,处理数十亿数据点以提取骑行者可能攀登的每条道路。
2. 添加第三维度
地图数据是平面的——只有位置,没有高度。我们添加海拔数据以了解哪些道路是上坡。这将2D线条转换为可分析爬坡的3D地形。
每条道路段沿线的每个点都获得海拔值。我们计算点之间的坡度,为我们提供道路如何上升和下降的完整图像。
3. 找到爬坡
我们的算法沿道路段向上追踪,从山谷到山顶跟踪路线。它寻找持续的坡度并保留最佳爬坡路线。
我们通过寻找始终向上的道路来识别爬坡。爬坡必须满足两个关键标准:
我们如何找到爬坡
- 1检查每条道路: 我们查看每个道路段并询问:这是上坡吗?
- 2沿道路向上跟踪: 在每个交叉口,我们检查哪些道路继续爬升并跟踪所有这些道路。
- 3构建完整路线: 我们继续跟踪每条路径直到停止爬升,追踪从山谷到山顶的完整路线——包括之字形弯道和替代道路。
- 4保留好的: 每条爬坡根据海拔提升、坡度和长度进行评分。我们保留值得骑行的。
此过程检查世界上的每条道路,跟踪每条可能的上坡路径以找到其他人可能错过的爬坡。
4. 创建可骑行路线
找到爬坡是一回事——知道如何实际骑行是另一回事。我们通过BRouter(一个自行车专用路由工具)运行每条路线,以确保其实用性。
BRouter检查每条路线中对骑行者重要的事项:
- 道路表面质量
- 交通量
- 转弯复杂性
- 骑行限制
5. 为每条爬坡命名
每条爬坡都获得一个有意义的名称。我们搜索附近的山峰、山口和道路名称。在"Col du Tourmalet"附近结束的爬坡获得该名称;在Chamonix附近无名道路上的爬坡变成"Chamonix附近的爬坡"。
名称使用优先级系统分配:
- 1山峰 在顶点
- 2山口 (col、口、鞍部)
- 3道路名称 从路线
- 4附近位置 (城市、村庄)
6. 质量保证
每条爬坡使用与专业自行车相同的系统按难度分类。我们还跟踪路面类型,以便您知道会遇到什么。
爬坡从HC(最难)到5级(最简单)评级:
类别使用考虑坡度和海拔提升的公式计算,类似于环法自行车赛使用的系统。
7. 数据来源和致谢
没有这些开放数据源和工具,这个项目是不可能的。
OpenStreetMap
社区构建的世界地图。所有道路数据来自OSM贡献者。
geoBoundaries
开放政治边界数据。用于将爬坡定位到国家和地区。
GeoNames
全球67,000多个城市的数据库。用于基于位置的命名。
BRouter
自行车路由引擎。优化路线并提供路面信息。
地图数据 © OpenStreetMap贡献者。根据ODbL许可。
准备好探索了吗?
从我们数百万条路线的数据库中找到您的下一条爬坡。