Présentation de l'outil
Flatten SF est une application web qui génère des trajets piétonniers ou cyclistes en privilégiant la platitude du relief. Le calcul s’appuie sur 160 000 segments de rue issus du graphe Overture/OpenStreetMap et sur le modèle d’élévation USGS à 1 m de résolution. Toutes les données sont chargées dans le navigateur, ce qui rend le service totalement fonctionnel hors ligne après le premier chargement.
Architecture et algorithme
Le moteur de recherche utilise un algorithme de pareto‑optimalité : chaque itinéraire proposé ne peut être battu simultanément sur deux critères, la distance et le gain d’élévation cumulatif. Le glisseur (slider) explore la frontière de Pareto en ajustant le facteur de conversion « une pied de montée = 200 pieds de marche ». Cette valeur fixe transforme le problème en un unique poids linéaire, permettant d’appliquer une version modifiée de Dijkstra où le coût d’une arête = distance + 200 × gain d’élévation. Le calcul reste exécuté côté client, limitant la latence à quelques secondes même sur un appareil mobile grâce à la taille maîtrisée du graphe (≈ 160 k arêtes).
Gestion du relief et des contraintes
Le gain d’élévation est cumulatif, c’est‑à‑dire la somme de toutes les montées, et non la différence entre le point de départ et d’arrivée. Cette approche reflète la fatigue réelle d’un piéton ou d’un cycliste. Les escaliers sont autorisé en mode piéton mais exclus en mode vélo, ce qui implique une classification des arêtes selon le type d’usage. Le modèle d’élévation USGS, bien que précis à 1 m, comporte des incertitudes locales (zones d’ombre ou artefacts LiDAR) qui peuvent légèrement biaiser le calcul du gain d’élévation.
Limites et perspectives
Le service ne couvre que la zone municipale de San Francisco ; l’extension à d’autres villes nécessiterait le téléchargement de nouveaux jeux de données LiDAR et la reconstruction du graphe OSM, ce qui augmenterait le poids du bundle JavaScript au-delà de la capacité de nombreux navigateurs mobiles. De plus, l’absence de données de trafic ou de conditions météorologiques signifie que les itinéraires restent optimaux uniquement du point de vue topographique. Enfin, le facteur fixe de 200 ft de marche par pied de montée est un paramètre heuristique : il ne s’adapte pas aux différences physiologiques entre utilisateurs, ce qui pourrait être résolu par une interface de personnalisation du facteur de conversion.