Skip to content

kushiemoon-dev/geo-france

Repository files navigation

Interactive Geological Map of France

Live Demo Version License TypeScript MapLibre


Overview

Interactive geological map of metropolitan France — 14 regions, ~1 million geological entities from the BD Charm-50 dataset published by BRGM, rendered client-side with MapLibre GL JS and served from regional PMTiles archives. No tile server required.


Features

  • 14 regions — Dynamic selector to navigate across metropolitan France
  • Geological formations — ICS colors (International Chronostratigraphic Chart), from Precambrian to Quaternary
  • Tectonic structures — Faults, folds, and dip points with degree values
  • Interactive popups — Notation code, stratigraphic hierarchy, lithology, minerals, and fossils (~110 detected terms)
  • Layer controls — Toggle geology, structures, and overlays independently
  • Color legend by geological period
  • Geological notices — 997 BRGM notice PDFs with page-count badges (full vs. pocket format)
  • Local mode — 1:50,000 WMS raster overlay from BRGM with formation identification via BD Charm-50 vectors

Data

BD Charm-50 — Geological map of France at 1:50,000 published by BRGM.

Coverage 14 metropolitan regions (excluding overseas territories)
Source data.cquest.org/brgm/bd_charm_50
Projection EPSG:2154 (Lambert 93) → EPSG:4326 (WGS84)
Layers Formations (S_FGEOL), Boundaries (L_FGEOL), Structures (L_STRUCT, P_STRUCT), Overlays (S_SURCH)
Size ~838 MB (14 PMTiles files, stored via Git LFS)

Stack

Component Role
Vite + TypeScript Build & dev server
MapLibre GL JS Vector map rendering
PMTiles Single-file tile archive
OpenStreetMap Basemap
Tippecanoe GeoJSON → vector tiles conversion
GDAL Shapefile reprojection & merging

Quick start

git clone https://github.com/kushiemoon-dev/geo-france.git
cd geo-france
npm install
npm run dev

Server starts at http://localhost:5173. PMTiles files (~838 MB) are downloaded automatically via Git LFS.

Production build

npm run build

Static files in dist/ can be served by any web server. A static server with byte-range support is recommended for PMTiles files.


Data pipeline

Scripts in scripts/ handle the full per-region conversion:

  1. scripts/regions.sh — Region-to-department mapping
  2. scripts/convert.sh — Single region conversion (download, reprojection, merge, PMTiles)
  3. scripts/convert-all.sh — Runs conversion for all 14 regions

Requirements: gdal, tippecanoe, curl, unzip

cd scripts && bash convert-all.sh

Credits


MIT License · Demo

About

Interactive geological map of France built with MapLibre GL JS — 14 regions, ICS stratigraphy, mineral crystallography, BRGM BD Charm-50 data

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors