OSM
La recherche
La recherche est sur search.maps.ppsfleet.navy
, elle utilise Addok https://addok.readthedocs.io/en/latest/
C'est installé dans /srv/osm/env-addok
, le serveur utilise uwsgi dont la config est dans /srv/osm/addok
. La config général est dans /etc/addok
Le serveur de tuile
Servir les tuiles
Le serveur de tuile utilise openmaptile, installé dans /srv/www/maps.ppsfleet.navy/tileserver.php
, il utilise des fichiers mbtiles, qui sont eux aussi à la racine.
Le thème
Les thème des cartes se trouvent dans /srv/www/maps.ppsfleet.navy/tileserver-data
.
Les deux utilisés sont:
- osm-bright-gl-style/style-cdn.json (pour /world)
- qwant-basic-gl-style-toulouse/built-style-debug.json (pour /toulouse)
C'est dans ces fichiers .json que le choix du fichier mbtile est definie.
- sources.basemap.tiles
- ___.poi.tiles
Pour eviter le cache, on renomme le fichier mbtile à chaque modif avec dd-mm-yy-increment, on doit donc éditer le style par la suite
Générer les tuiles
- Télécharger un fichier osm.pbf depuis https://extract.bbbike.org/ pour une zone custom ou depuis http://download.geofabrik.de/ pour une region ou un pays
- Editer le schema, openmaptiles.yaml et layers/ ou pas (par default c'est pas si mal)
- Editer le .env, principalement le
MAX_ZOOM
. Apriori, inutile de le mettre à plus de 14, tout est présent à ce zoom. Et la génération du zoom 16,17,18 prend un temps montrueux ( plusieurs jours pour la france ) - Supprimer le dossier cache, build, clean le dossier data (ne laisser que le .pbf), supprimer
/var/lib/docker/volumes/openmaptiles_pgdata/
- Suivre le tuto de openmaptile https://github.com/openmaptiles/openmaptiles:
make destroy-db
# supprime les volumes etc...make clean
# clean / remove existing build filesmake init-dirs
# ??make all
# ??make
# generate build files (pareil que make all ??)make start-db
# start up the database container.make import-data
# Import external data from OpenStreetMapData, Natural Earth and OpenStreetMap Lake Labels.- copy your pbf file to /data
make import-osm
# import data into postgresmake import-wikidata
# import Wikidatamake import-sql
# create / import sql funtionsmake generate-bbox-file
# compute data bbox -- not needed for the whole planetmake generate-tiles-pg
# generate tiles (le plus long)
Toulouse se fait en quelques minutes sur alshain
Midi pyrenées se fait en moins d'une heure sur alshain
La france se fait en un nombre certains d'heure, mais moins d'une nuit si le max_zoom est pas trop elevé (grand max 16). L'import prend 25/30 minutes, la creation des tuiles des heures
- Compiler le thème de qwant-maps (je sais plus comment j'avais fait) https://github.com/Qwant/qwant-basic-gl-style
Le front-end
Il est dans /srv/www/maps.ppsfleet.navy/front/{world|toulouse}
, c'est basé sur https://github.com/tjiho/simplestreetmap, avec l'utilisation de maplibre.
TODO: responsive sur telephone
Les itineraires
Todo.
On pourrait se baser sur brouter. Voir aussi https://safecycle.atelier-des-communs.fr/?
Ajouter des données
J'aimerais déjà ajouter les itineraires de bus. solution envisagé, utiliser Tegola avec juste un fichier de conf qui importe que les bus, puis faire un truc avec maplibre pour les afficher. https://www.linuxbabe.com/ubuntu/set-up-tegola-vector-tile-server-ubuntu-20-04
Pour afficher toute les donées avec tegola, ca rame, donc pas envisageable.