| .idea | ||
| css | ||
| img | ||
| js | ||
| styles | ||
| tests | ||
| venv | ||
| .gitignore | ||
| babel.config.cjs | ||
| Caddyfile.example | ||
| coucou.php | ||
| count_stations.py | ||
| debug_mbtiles.php | ||
| debug_mbtiles.txt | ||
| generate_planet_mbtiles.sh | ||
| index.html | ||
| libre-charge-map_overview.jpg | ||
| libre-charge-map_popup.jpg | ||
| LICENSE.md | ||
| make_stats.js | ||
| Makefile | ||
| mbtiles.php | ||
| mbtiles_counts.php | ||
| mbtiles_info.php | ||
| mbtiles_make.py | ||
| old_index.html | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
| README_ETALAB.md | ||
| README_MBTILES.md | ||
| README_PHP.md | ||
| router.php | ||
| start_local.sh | ||
| stats.html | ||
| styles.sh | ||
| TROUBLESHOOTING_PBF_404.md | ||
| update_data.sh | ||
| villes_stats.js | ||
Carte des IRVE filtrable
fait avec le données OpenStreetMap (OSM) ainsi que des icones
Venez discuter sur le forum OpenStreetMap: https://forum.openstreetmap.fr/t/libre-charge-map/29522
développé par tykayn - https://www.cipherbliss.com - à partir d'un squelette d'example pour Leaflet. Mastodon: https://mastodon.cipherbliss.com/@tykayn
Fonctionnalités
- Affichage des stations de recharge colorées selon leur puissance maximale délivrée sur un totem.
- Changement de fond de carte.
- Voir les restaurants.
- Recherche d'un lieu.
- Visite d'une des villes les plus peuplées de France au hasard.
- Affichage des bornes suggérées à l'intégration par Osmose.
- Proposition de correction dans JOSM.
- Voir la zone dans Panoramax.
comment ça marche ?
Avec une lib qui affiche un fond de carte sur lequel on peut naviguer et des marqueurs, on demande poliment à un site web, Overpass Turbo, quels sont les points et polygones d'OpenStreetMap correspondant à plusieurs types de restaurants et lieux où l'on peut trouver à manger et à boire à consommer sur place ou à emporter.
La carte ne charge les points que si on se trouve à un zoom assez proche. Vous pouvez récupérer les points sur un zoom plus éloigné avec le bouton en haut à droite.
Chaque point dispose d'un lien dans une popup d'information, afin de modifier le dit point d'intérêt sur le site d'OSM ou dans l'éditeur JOSM si vous l'avez ouvert et activé la télécommande.
Toute la logique est dans js/lcm_main.js Vous pouvez modifier les paramètres en entête de fichier pour choisir les tuiles de la carte, le lieu de départ, des données de points pré chargées...
statistiques
Pour améliorer la complétion des stations de recharge, des informations sont présentées sous la carte. Une barre présente les proportions de puissance max trouvée dans la dernière recherche, celle effectuée en déplaçant l'écran ou avec le bouton de recherche.
licence
Gnu Affero 3+
servir le site localement
Ouvrir la page index.html dans votre navigateur préféré, ou utiliser le paquet npm serve.
Recomplilez les styles scss avec bash styles.sh.
Requête overpass
// requête sur la ville de rouen
let req = 'https://overpass-api.de/api/interpreter?data=[out:json][timeout:25];' +
'area(id:3600075628)->.searchArea;' +
'nwr[amenity=charging_station](area.searchArea);' +
'out body geom;'
# Travaux en cours
- ouvrir les charging_station zone dans JOSM
- filtres avancés sur le type de prise
- affichage optionnel des restaurants et autres lieux où l'on peut trouver à manger et à boire comme dans MeltingPot. https://www.cipherbliss.com/ou-manger
Mise à jour automatique quotidienne (Cronjob)
Pour maintenir les données à jour automatiquement, vous pouvez configurer un cronjob qui met à jour quotidiennement les données OSM et OpenData Etalab.
Configuration du cronjob
1. Créer le script de mise à jour
Un script update_data.sh est fourni pour automatiser la mise à jour. Assurez-vous qu'il est exécutable :
chmod +x update_data.sh
2. Configurer le cronjob
Éditez votre crontab :
crontab -e
Ajoutez une ligne pour exécuter le script quotidiennement (par exemple à 3h du matin) :
# Mise à jour quotidienne des données OSM et OpenData à 3h du matin
0 3 * * * /chemin/vers/libre-charge-map/update_data.sh >> /chemin/vers/libre-charge-map/data/cron.log 2>&1
Exemple avec le chemin complet :
# Mise à jour quotidienne des données OSM et OpenData à 3h du matin
0 3 * * * cd /home/poule/encrypted/stockage-syncable/www/development/html/libre-charge-map && ./update_data.sh >> data/cron.log 2>&1
3. Options de planification
- Quotidien à 3h :
0 3 * * * - Tous les jours à minuit :
0 0 * * * - Toutes les 6 heures :
0 */6 * * * - Tous les lundis à 2h :
0 2 * * 1
4. Vérifier les logs
Les logs sont enregistrés dans data/update.log. Vous pouvez les consulter :
tail -f data/update.log
5. Ce que fait le script
Le script update_data.sh :
- Télécharge le fichier OpenData Etalab depuis data.gouv.fr
- Met à jour le MBTiles avec les nouvelles données OSM et Etalab
- Met à jour les statistiques (si Node.js est disponible)
- Nettoie les anciens logs (garde les 30 derniers jours)
6. Prérequis
Assurez-vous que les outils suivants sont installés :
wgetoucurl(pour télécharger les données)python3(pour exécuter mbtiles_make.py)osmium-tool(pour filtrer les données OSM)tippecanoe(pour générer le MBTiles)tile-join(pour fusionner les couches)make(pour utiliser les commandes Makefile)node(optionnel, pour les statistiques)
7. Dépannage
Si le cronjob ne fonctionne pas :
- Vérifiez que le script est exécutable :
chmod +x update_data.sh - Testez le script manuellement :
./update_data.sh - Vérifiez les permissions du répertoire :
ls -la - Vérifiez les logs :
cat data/update.log - Vérifiez les logs cron :
grep CRON /var/log/syslog(sur Debian/Ubuntu)
8. Mode non-interactif
Le script utilise yes | make mbtiles pour répondre automatiquement "oui" aux questions interactives. Si vous préférez un mode complètement non-interactif, vous pouvez modifier mbtiles_make.py pour accepter un argument --non-interactive.
sources
Sources disponibles sur https://forge.chapril.org/tykayn/libre-charge-map.git Carte similaire, celle des cuisines de restaurant: https://forge.chapril.org/tykayn/melting-pot