[TOC]
L'objectif de ce projet est de calculer un itinéraire pour explorer les tuiles, en vélo ou en courant. Pour des informations sur les "tuiles", voir statshunters ou veloviewer.
Exigences:
Ouvrez une fenêtre de terminal et accédez au dossier dans lequel vous souhaitez télécharger les vignettes d'itinéraire. Écrivez dans la fenêtre du terminal
git clone https://github.com/BenoitBouillard/route-tiles.git
à l'avenir, vous pourrez effectuer une pull request pour obtenir la dernière version :
git pull
suivi de
cd route-tiles
et enfin pour installer le package python
pip install -r requirements.txt
Pour générer une documentation HTML à partir de ce fichier Lisez-moi :
python -m markdown README.md -f static h elp.html -x extra -x toc
Il y a 2 parties :
Le serveur reçoit les requêtes de l'interface utilisateur et calcule l'itinéraire en :
Le serveur est un script python. Pour le lancer, exécutez cette commande dans un terminal depuis le dossier d'installation :
python route-tile-server.py
Un message devrait s'afficher :
serving at port 8000
Il est possible de changer le port avec l'option --port :
> python route-tile-server.py --port 80
serving at port 80
Une fois le serveur exécuté, il est possible d'utiliser l'interface utilisateur. Il s'agit d'une page Web. Sur le même ordinateur que le serveur, il est accessible avec l'url http://localhost:8000
Pour trouver un itinéraire, plusieurs informations sont obligatoires ou possibles :
Lorsqu'il y a suffisamment d'informations, une demande de route sera envoyée au serveur après quelques secondes.
L'état de la gamme s'affiche :
Les données sont stockées localement par le navigateur. Si vous actualisez la page (ou la fermez et l'ouvrez plus tard), les dernières données seront récupérées.
Il est possible de choisir parmi plusieurs modes :
Pour une raison personnelle, nous pourrions vouloir éviter un retournement lors de la visite d'une tuile (il n'y a aucune autre raison d'avoir un retournement lors du calcul de l'itinéraire), même s'il s'agit de l'itinéraire minimum. On pourrait accepter de faire 100m ou 1km de plus. Cette option peut ajouter un coût supplémentaire pour chaque retournement, et les limiter à un coût acceptable.
/! L'algorithme ne trouve pas le meilleur itinéraire sans retournement (bug) /!
La position de départ est obligatoire. La position finale est facultative. S'il n'y a pas de position finale, l'itinéraire sera une boucle (retour au point de départ).
Pour définir la position de début ou de fin, cliquez sur le bouton "Début" ou "Fin" puis sur la carte de la position. Un marqueur sera affiché.
Il est possible de déplacer des marqueurs directement sur la carte.
Il est possible de supprimer les positions de début et de fin grâce à l'icône de la corbeille à droite du bouton.
Il est également possible d'inverser la position de début et de fin avec l'icône avec les doubles flèches entre le bouton de démarrage et le bouton d'arrêt.
Vous pouvez ajouter un ou plusieurs waypoints que l'itinéraire doit parcourir.
Pour ajouter un waypoint, sélectionnez le bouton « Ajouter un waypoint » puis cliquez sur la carte. Le waypoint doit apparaître sur la carte par un marqueur cyan.
Vous pouvez déplacer un waypoint directement sur la carte en le faisant glisser.
Pour supprimer un waypoint, cliquez simplement dessus.
Sur la carte, vous pouvez sélectionner les tuiles à visiter, simplement en cliquant dessus. Idem pour désélectionner une tuile.
Attention : N'ajoutez pas trop de tuiles. Le temps de calcul augmente de façon exponentielle !
Conseils :
Vous pouvez supprimer toutes les tuiles marquées avec le bouton "Effacer les tuiles". Cela supprimera également tous les waypoints.
Lorsque le parcours est terminé (statut "complet"), il est possible de le télécharger directement : Cliquez sur le bouton bleu de l'icône de téléchargement, et saisissez un nom de fichier dans le champ de saisie.
Le nom est facultatif. S'il n'y en a pas, datetime sera utilisé pour le nom de fichier et le nom gpx.
Il est également possible de mémoriser plusieurs itinéraires dans la rubrique « Itinéraires ». Donnez un nom et cliquez sur le bouton "+". Ensuite, vous pouvez mettre en évidence l'itinéraire précédent, le renommer, le supprimer ou le télécharger.
Vous pouvez également effectuer certaines opérations en cours de route avec le menu d'action :
Actions sur l'itinéraire sélectionné :
Conseils : Vous pouvez effectuer une fusion et un remplacement par l'itinéraire trouvé en cliquant sur l'état vert au lieu de l'itinéraire suivant.
Il est possible d'activer le filtre pour les itinéraires affichés.
Filter est une expression regex qui vérifiera le nom de la route.
Quelques exemple :
^Vélo
: Itinéraire commencé par "Vélo"[0-9]$
: Parcours terminé par un numéro Il est possible d'afficher les tuiles manquantes sur la carte pour faciliter la sélection des tuiles pour un itinéraire.
Vous pouvez importer des données depuis des statshunters :
StatsHunters.com offre la possibilité de créer un lien pour partager votre page personnelle avec d'autres. Vous devez créer un lien de partage sur la page https://statshunters.com/share et copier-coller le lien complet (quelque chose comme https://www.statshunters.com/share/abcdef123456) sur la page et importer.
Comme le chargement des activités à partir du serveur statshunters prend un certain temps, elles sont enregistrées dans le cache pour accélérer le chargement des pages et le calcul du filtre. Pour charger de nouvelles activités, vous devez cliquer sur le bouton "Recharger".
Il est possible d'ajouter un filtre sur les statshunters. Il doit être formaté sous forme d'expression python et les données utiles des activités sont :
Quelques exemples :
type=="Ride" and date>="2021"
type=="Run" and '#fromHome' in name and date>"2021"