Assemblage et connectivité du réseau
Calcul des pentes
Le graphe itiVélo constitué, il est possible d’effectuer les calculs nécessaires pour obtenir les valeurs de pentes grâce à un modèle numérique d’altitude. La chaine d’opérations nécessaire est toutefois la plus complexe de ce travail. La première étape pour calculer les pentes des routes sur l’agglomération genevoise passe par la transformation du graphe itiVélo en graphe tridimensionnel (Polyline Z) à l’aide d’un modèle numérique d’altitude (MNA) ayant une étendue couvrant l’agglomération. L’outil utilisé pour cette étape est Interpolate Shape, de l’extension 3D Analyst, qui permet d’intégrer les données 3D d’un MNA à une couche vectorielle.
Nous disposons, avec les données SITG, à la fois des modèles numérique de terrain (MNT), qui prennent l’altitude du terrain sans le bâti et la végétation et de surface (MNS), qui comportent tous les éléments de bâti et de végétation. Chacun de ces deux types de rasters comprennent des avantages et des inconvénients pour le calcul que nous souhaitons faire. Les MNT ont le désavantage de ne pas comporter les ponts et tunnels du canton, mais restent tout de même préférables aux modèles de surfaces, car les arbres jouxtant les routes y sont présents et risqueraient de fausser le calcul sur de nombreux polylignes. Le raster utilisé pour cette étape est un clip de celui de l’agglomération, avec des cellules de 25*25 mètres. Il existe des rasters MNT bien plus précis du canton, mais ceux-ci ne couvrent pas l’ensemble de l’étendu du graphe itiVélo. Le niveau de précision altimétrique visé pour le calcul des pentes est d’obtenir des valeurs d’altitudes au centimètre, et des valeurs de pentes pour chaque demi-segment.Le besoin de résultats, d’une part, précis (centimétrique), et d’autre part directionnels, demandent une série d’opérations pour être pertinent dans itiVélo. En premier lieu, si l’extension 3D Analyst dispose de calculs automatisés pour les moyennes de pentes sur des polylignes 3D.21 Cependant, ceux-ci n’en indiquent pas la direction. Une série d’opération permet toutefois de les obtenir grâce à d’autres fonctions de Calculate Geometry22 permettant de connaître les altitudes de début, milieu et fin d’un polyligne et les insérer dans des champs [Zstart], [Zmid] et [Zend] de type Double. Les pentes et longueurs 3D des polylignes peuvent ensuite être calculées par trigonométrie.Toutefois le logiciel ArcGIS simplifie certaines fonctions de calculs en ne restituant que des entiers, c’est-à-dire dans notre cas, des altitudes au mètre près. Des valeurs d’une précision d’un mètre pour des calculs de pentes sur des distances relativement courtes sont exclus. Les exagérations comme les sous-évaluations des pentes seraient trop importantes.Il est pourtant possible d’obtenir une bonne précision en contournant cette limite d’ArcGIS. Un second polyligne Z est construit à partir du graphe itiVélo à l’aide de l’outil Interpolate Shape en précisant un Z Factor de 100. Ce graphe ne sera utilisé que pour les calculs de points d’altitude, qui seront comprises entre 33000 et 170000 mètres, dans l’orbite terrestre… Il est ensuite possible d’extraire les données de points d’altitude de ce graphe et de les reporter sur le graphe itiVélo avec des dimensions normales, à l’aide d’une jointure attributaire basée sur l'[OBJECTID] des deux graphes. Les données d’altitude dans les trois champs [Zstart], [Zmid] et [Zend] du graphe aux dimensions terrestres (entre 330 et 1700 mètres) peuvent être intégrées en divisant les valeurs par 100. Cette opération donne la précision centimétrique nécessaire aux calculs ultérieurs. La table jointe peut être enlevée.
Les trois champs [Zstart], [Zmid] et [Zend] renseignés, des calculs de trigonométrie permettent d’obtenir la dénivelée et calculer les pentes et les longueurs de chaque demi-polyligne. La longueur est calculée automatiquement par ArcGIS et intégrée dans la colonne [Shape Length] des tables attributaires des couches de polylignes. Les quatre champs qui contiendront les valeurs de pentes sont [pente_ft1], ft2], tf1] et tf2], tandis que la longueur 3D sera intégrée dans le champ [Zlength].
Illustration 10: Calcul des pentes.Les valeurs à intégrer sont en rouge (longueur) et en vert (pente) dans l’image ci-dessus (Illustration 10). Si le point [Zmid] est plus bas que [Zstart] , la valeur de pente est négative. (Et si les deux valeurs d’altitude sont égales, la pente est de 0. Mais ce n’est le cas sur aucun des polylignes. )
Ceci se traduit dans en fonction du nom des nouveaux champs par un calcul de trigonométrie pour les pentes des segments From-To. Les pentes en To-From sont ensuite simplement obtenues en multipliant les valeurs From-To par -1, donnant les valeurs opposées (Tableau 12).
La longueur 3D des tronçons est obtenue en additionnant la longueur 3D des deux moitiés de chaque tronçon routier. Ce champ sera utilisé dans Network Analyst pour les calculs de distance, ainsi que pour les autres calculs de coût, impliquant la distance (Tableau 13).
Le calcul des pentes demande finalement une correction manuelle sur les polylignes représentant des ponts surplombant l’Arve ou le Rhône. Les calculs ayant pris les altitudes des cours d’eau comme midpoint dans le champ [Zmid], ceux-ci se retrouvent avec de fortes valeurs de pente. La correction est ici opérée par sélection manuelle de ces ponts (à l’exception du Pont de Sous-Terre qui compte une pente réelle) et en attribuant à ces segments des valeurs de pente de 0%.
Fonctionnement du système de calcul
Le réseau itiVélo permet de modéliser des itinéraires de cyclistes sur le canton de Genève. L’application ne présente pas de calculs personnalisés, mais présuppose quatre types de préférences : la plus courte distance, le temps de parcours le plus court, celui du moindre effort et celui du niveau de sécurité le plus élevé. La construction de tout modèle implique un niveau de simplification important, et la mise à l’écart d’événements non-modélisables, ou tout au moins difficilement intégrables à un système de calcul automatisé. Le chapitre qui suit doit donc plus être lu comme une proposition que comme une affirmation.
La distance
Le calcul des distances sur polylignes constitue la particule élémentaire du fonctionnement de Network Analyst. Celle-ci est calculée automatiquement par ArcGIS sur les couches de polylignes. Afin d’affiner l’estimation de distance, ce calcul est réglé dans Network Analyst sur le champ [Zlength] qui prend en compte la distance en trois dimensions.
Le temps et l’effort
Le fonctionnement de ce moyen de transport grâce à la force musculaire représente un aspect important susceptible de faire varier la façon dont se déplacent les cyclistes. Les calculs du temps et de l’effort passent par la prise en compte de critères sensiblement plus complexes que la distance. Ceux-ci passent par l’estimation d’un « coût ». Ici le coût d’un parcours correspond à la distance mise en relation avec les pentes et le nombre de carrefours sur le trajet. Il a fallu définir un(e) cycliste type pour itiVélo. Le système de calcul sur l’effort est basé sur une vitesse fixe moyenne de 20 km/h sur le plat et pesant un total de 90 kilos, vélo compris. La prise en compte de cette vitesse et de ce poids type peuvent être discutés, certains cyclistes roulant à des vitesses plus ou moins élevées.
Les temps de parcours estimés ne peuvent pas être considérés comme réalistes pour chaque utilisateur. Toutefois, du point de vue de la logique formelle du système, les résultats du choix de parcours seront eux, très proches, même si les poids et vitesses réels diffèrent. D’un point de vue du coût, les pentes ont l’effet (dans les deux cas de l’effort et du temps de parcours) de faire augmenter la valeur des variables si elles sont positives (montée), et de les faire baisser si elles sont négatives (descente).
Le poids des carrefours dans le calcul est également important, car ils présupposent un certain nombre de ralentissements, dans le cas des priorités de droite, par exemple. Des arrêts et de redémarrages dans le cas de feux et stops sont également à prendre en compte. Les « cédez-le-passages » impliquent également l’un ou l’autre des cas de figures. Cela se traduit dans la variable du temps par un rallongement du trajet et dans la variable de l’effort par une augmentation de l’effort physique nécessaire pour repartir.
Bien que simplifié, ce modèle présente une complexité accrue du fait de combiner des variables en progression arithmétique, d’autres en progression géométrique, ainsi que des constantes. Les équations utilisées pour définir le temps et l’effort dans le système de calcul itiVélo sont inspirées du travail de Manuel Barranco23, et de deux des documents utilisés pour son travail, produit par
23 Barranco, Manuel, Optimisation d’un trajet cycliste en ville de Genève selon diverses variables, Mémoire de certificat de géomatique, Université de Genève, 2002 Christian Jaeger24 et Nicolas Mercat25, qui a fait un important travail de traductions d’algorithmes prenant en compte les champs de forces auxquels est soumis un cycliste. Cependant, les algorithmes originaux n’ayant pas été prévus pour être intégrés dans un SIG, certaines complications et contradictions apparaissent lors de leur intégration dans ArcGIS, comme des vitesses fantaisistes sur des pentes très raides.
La présence de ces contradictions dans le modèle a nécessité un important travail d’évaluation et de test de ces deux modèles de temps et d’effort dans ArcGIS. Surtout, l’aide de logiciels plus adaptés aux calculs mathématiques que sont Calc et Maple. Il a ainsi été possible, grâce aux travaux de Barranco Jaeger et Mercat cités plus haut de les réviser et de donner une plus grande cohérence à ces valeurs de temps et d’effort dans ArcGIS.
Le temps
Le calcul du temps de parcours est estimé en fonction de la distance à parcourir et de la vitesse du cycliste. Cette dernière étant fonction de la pente. Une équation permet de simuler les diminutions et augmentations de vitesse dans les montées et descentes. Celle-ci est empruntée aux travaux de Manuel Barranco et Christian Jaeger de l’EPFL (Illustration 1).26 L’algorithme utilisé permet de calculer les variations de vitesse du cycliste en fonction de la pente, en considérant une vitesse de base sur le plat. L’équation change sensiblement en fonction de la vitesse de base choisie. La vitesse au plat pour itiVélo est estimée à 20 km/h.Les champs [vitesse_ft1], ft2], tf1] et tf2] seront peuplés avec des vitesses en kilomètre par heure. L’équation représentant le rapport entre vitesse et déclivité est décrite dans le tableau suivant (Tableau 14), avec les variables correspondantes dans les champs du graphe itiVélo.Cette équation permet de simuler l’augmentation ou la diminution de la vitesse en fonction de la pente. Naturellement, la vitesse diminue en montée et augmente en descente. La particularité de cette équation est qu’elle permet de décrire un infléchissement de cette progression. En descente, l’accélération se fait moins forte à partir d’une certain seuil, simulant la force des frottements qui empêchent une augmentation continue de la vitesse. Dans le sens de la montée, la vitesse diminue régulièrement en fonction de pente. Celle-ci décline toutefois moins à partir d’une certaine pente, reflétant l’importance de ne pas descendre au-delà d’une certaine vitesse pour l’équilibre du cycliste (Illustration 2).
|
Table des matières
Introduction
itiVélo : mobilité douce et partage des données
Le concours SITG: diffusion et utilisation de données publiques
L’enjeu de la mobilité douce
Outils : ArcGIS et Network Analyst
Traitement des données
Données utilisées
Table d’attributs: renseignements des données de sécurité
Assemblage et connectivité du réseau
Corrections attributaires: préparation des interdictions
Calcul des pentes
Fonctionnement du système de calcul
La distance
Le temps et l’effort
Le temps
L’effort
La sécurité
Trajets différenciés : un exemple
Limites et améliorations possibles
Le réseau itiVélo
Utilisateurs et ergonomie
Après itiVélo
Conclusion
Index des tables
Index des illustrations
Bibliographie
Annexe 1 : Champs du graphe itiVélo
Annexe 2 : Mode d’emploi d’itiVélo
Télécharger le rapport complet