ndeloof/contours

★ 0Forks 0GoGitHub ↗Compare

README

contours

Serveur d'overlays MapLibre pour gpx.studio, affichant les courbes de niveau et l'estompage du relief à partir des données ouvertes de l'IGN (Géoplateforme).

  • Courbes de niveau (/style.json) : rendu hybride — tuiles raster IGN (ELEVATION.CONTOUR.LINE) aux zooms 6–13, puis rendu vectoriel des tuiles ISOHYPSE à partir du zoom 14 : courbes maîtresses épaissies et étiquettes d'altitude.
  • Estompage (/hillshade.json) : couche IGN Estompage (ombrage du relief en noir translucide, à la manière d'OpenTopoMap), superposable à n'importe quel fond de carte.

Le serveur proxifie les tuiles IGN avec un cache disque local.

Utilisation

$ docker compose up -d

ou, sans cloner le dépôt :

$ docker run -d -p 4810:8080 -v contours-cache:/cache ndeloof/contours

Puis ouvrir http://localhost:4810/ : une carte de démonstration affiche les deux overlays au-dessus d'OpenStreetMap.

Options (à ajouter après le nom de l'image) : -cache-ttl (défaut 720h) et -base-url URL pour imposer l'URL publique des tuiles dans les styles (sinon dérivée de la requête, en honorant X-Forwarded-Proto / X-Forwarded-Host derrière un reverse proxy).

Dans gpx.studio

  1. Ouvrir Calques → Paramètres des calques → Calques personnalisés ;
  2. ajouter un calque de type overlay avec l'URL http://localhost:4810/style.json — c'est la présence de .json dans l'URL qui indique à gpx.studio qu'il s'agit d'un style vectoriel ;
  3. ajouter un second overlay avec http://localhost:4810/hillshade.json pour l'estompage ;
  4. cocher les deux overlays dans le panneau Calques pour les activer.

Les deux overlays étant indépendants, chacun peut être activé (et son opacité réglée) séparément.

Courbes de niveau seules, puis courbes + estompage (Aussois, Savoie) :

Courbes de niveau Courbes + estompage
Courbes de niveau IGN dans gpx.studio Courbes de niveau et estompage IGN dans gpx.studio

Les étiquettes d'altitude utilisent la police Noto Sans Regular : elles s'affichent avec les fonds de carte fournissant ces glyphes (dont le fond par défaut de gpx.studio).

Endpoints

Route Description
GET /style.json Style MapLibre de l'overlay courbes de niveau
GET /hillshade.json Style MapLibre de l'overlay estompage
GET /raster/{z}/{x}/{y}.png Tuiles raster courbes de niveau (zooms 6–18, proxy WMTS IGN)
GET /vector/{z}/{x}/{y}.pbf Tuiles vectorielles ISOHYPSE (zooms 14–19, proxy TMS IGN)
GET /hillshade/{z}/{x}/{y}.png Tuiles d'estompage (zooms 0–15, proxy WMTS IGN)
GET / Page de démonstration

Données

Données © IGN, diffusées librement via la Géoplateforme (licence ouverte Etalab).

Contributors

ndeloof

Issues