Web map of the Vaucluse (84) departmental road network. This guide covers everyday usage: showing a layer, reading the map, using the tools. CD84 prototype — local data and open sources.
General layout
The screen is split into three areas: the header (title, weather, key figures), the left sidebar (legend and tools), and the map. The legend scrolls within its column; the map fills the remaining space.
Overview: legend on the left, map on the right, tools at the top right of the map.
On the very first display, a waiting screen occupies the map area while the basemap and the department boundary arrive — usually one to two seconds. The legend and header stay readable throughout.
Map navigation
Pan — click and drag, or trackpad.
Zoom — wheel, pinch gesture, or double-click to zoom in (double-click with Shift to zoom out).
Initial view — home button in the toolbar (top right of the map): re-centres on Vaucluse at the default zoom.
Resize the legend — drag the vertical bar between the legend and the map; double-click to return to the default width.
On load, only the department boundary is visible: turn on the layers you need.
The basemap stops at Vaucluse. The map is drawn inside the department only; around it, a sober flat colour and nothing else. This is not merely a matter of legibility: tiles outside Vaucluse are never even requested from the server, which makes loading and zooming out markedly faster.
Visibility controls
Three complementary levels:
Family eye (to the right of the family name, e.g. 2/3) — shows or hides all the layers in that family at once.
Layer eye (to the right of a section title) — shows or hides a single layer.
Subtype row (e.g. Rest areas, Fatal, High traffic) — shows or hides only that subtype. The dimmed row remains clickable to show it again; the layer eye becomes partial when some types are hidden.
Click the family name or the chevron to expand / collapse its content in the sidebar (without changing map visibility).
The grey chips under each layer indicate data freshness (see § Freshness).
Families and layers
Factual mapping
Network, territory and basic infrastructure, mostly from OpenStreetMap.
Territory — Vaucluse boundary (84)
Always shown. Dashed outline of the department; a reference for framing.
Network hierarchy
Three levels of departmental roads, each with its own colour:
Red — regional-interest network (e.g. D900).
Orange — territorial development network.
Blue — local-interest network.
How: click the Network hierarchy title or each line to enable a level. Click a segment for a card (name, surface, OSM / Wikidata links).
Road-number shields. Each level becomes fully readable at its own zoom, fading in over the preceding three quarters of a level: red from zoom 10, orange from zoom 12, blue from zoom 13. Shields are anchored on the portion of the road actually on screen, so they stay visible and follow the road as you pan. Where numbers still overlap after repositioning, they merge into a clickable group badge listing the roads involved.
Cycle routes
OSM cycle itineraries (route=bicycle). Totals in kilometres: Via Rhôna (EV17), Méditerranée (EV8), Via Venaissia (V861), local routes.
How: enable via the section eye. Major cycle routes are emphasised by colour.
Roads under construction
Segments tagged construction or proposed in OSM.
How: enable the layer; the segments appear on the map. Counters in the legend.
Main towns
Sub-prefectures and large municipalities (centres + labels).
How: enable the layer for place-name markers.
Roadside areas & car-pooling
Related themes highlighting other CD84 missions along departmental roads (issue #7), sourced from OpenStreetMap:
Car-pooling areas 🚗 (amenity=car_pooling).
Rest areas 🌳 (highway=rest_area).
Park-and-ride 🅿️ (amenity=parking + park_ride).
Laybys 🅿️ (amenity=parking + parking=layby) — roadside stopping areas along departmental roads.
Parking is deliberately limited to park-and-ride and laybys to stay on roadside areas, without showing the thousands of private car parks. Objects are handled whether mapped as a node, an outline (way) or a multipolygon relation.
When the area is mapped as a surface in OSM — either a simple outline or a multipolygon relation (e.g. the Île Piot P+R in Avignon) — its footprint is drawn (light fill coordinated with the type colour) with a centred marker.
How: enable the “Roadside areas & car-pooling” layer; each type has its own swatch and counter in the legend. Click its row to hide or show that type independently. Click a marker (or the footprint) for details: type, capacity, operator, access, an OSM completeness indicator (present / missing attributes), the Wikidata link when present (otherwise flagged “no link”), and nearby street-level photos from Mapillary and Panoramax when coverage exists — click a thumbnail to open the source photo in a new tab. View / Improve links on OpenStreetMap.
Statistical data
Historical or aggregated data — loaded on demand to avoid overloading the map.
Road safety
Multi-year cloud of injury crashes (BAAC / ONISR, 2019 → 2024) geolocated across the Vaucluse. Two visual encodings:
Colour = recency — recent crashes appear in a vivid/saturated orange, older ones in a dark red.
Severity — fatal crashes leave the recency ramp: a black dot ringed in white, slightly larger, spotted at a glance whatever the year. Hospitalised injuries keep the recency colour with a black ring; slight injuries have only a thin white outline.
The legend embeds a temporal dataviz: the old → recent colour scale, a mini-histogram of crashes per year, and a year-range slider (from / to) to filter the cloud.
How: enable the layer; drag the year slider to watch the evolution over time; click a point for details (year, casualties, date, municipality, address). Note: BAAC geolocation is patchier for older years, hence a denser cloud on recent vintages.
Traffic-count stations
CD84 stations (data.gouv.fr / DataSud), classified by traffic: high (> 20k veh/day), medium, low. Each badge shows the rounded average traffic at its centre (e.g. 22k for 22,136 veh/day), readable regardless of colour.
How: enable in the legend or via the CD84 counts button on the map (both stay in sync). Click a station for a detailed card: AADT (all vehicles), HGV share and flow, and a traffic-evolution chart across every available vintage (1996–2025) with the first → last trend.
Clicking a station also highlights the matching road axis — a distinct indigo trace, separate from the round count badges — and shows the axis details (length, municipalities crossed…) in the Route information panel, without moving the view.
Real time
Recent signals: weather and announced traffic.
Weather stations
A few stations across the department (Open-Meteo). Current data: temperature, wind, humidity.
How: enable the layer; click a marker for the card. One station is also picked at random in the header.
Road events (Bison Futé)
Roadworks, congestion, ongoing crashes (DATEX II / Info Routière feed), filtered to the area.
How: enable the layer; icons on the map, popup on click.
Incubator
Experimental layers: civil-engineering structures, environment, biodiversity, listed webcams. Only the bridges layer shows a refresh chip (twice weekly, Mon. & Thu.).
Bridges layer
OSM civil-engineering structures across the department. Display adapts to zoom:
Far zoom — clusters (number of bridges or photos).
Zoom ≥ 12 — the structures' footprint on the map; clusters disappear.
Zoom ≥ 16 — Panoramax / Mapillary photos near the structure.
How: enable the layer then zoom in. At far zoom, click a cluster to zoom in progressively; clicking a bridge opens the full-screen 3D view.
Bridge 3D view
Clicking a bridge opens a full-screen 3D scene where the structure is rebuilt and surrounded by its photos. Orbit with the mouse, scroll to zoom.
Demo of the Bridges feature (3D view) — 18 June 2026.
Model & data sources. The model is generated on the fly from the structure type (arch, aqueduct, beam, truss, suspension), material, length, width and number of spans. Information is looked up in this order:
OpenStreetMap first (bridge:structure, material, length, width… tags).
Wikidata next, if the bridge is linked to it, to fill the gaps: structure type (P31), material (P186), number of spans (P1314), length (P2043), height (P2048), width (P2049). A small info card (name, image, inception, material, dimensions) then appears, with clickable links to Wikidata and OpenStreetMap.
Structure name as a last resort for the arch count (e.g. "pont des 13 arches" → 13 spans).
2D map under the bridge. A basemap (IGN Plan) is laid flat beneath the model, centred on the structure and north-up: it shows rivers in blue and roads. Falls back to a plain water plane if the tiles are unavailable.
Panoramax / Mapillary photos. Each photo is placed at its real capture location (provider geolocation), with a ground marker and a mast. The image faces outward (the photographer's viewpoint); the back, facing the bridge, is coloured by source — green for Mapillary, violet for Panoramax. A colour dot marks the role of the documented element (pier, abutment, deck…), using the same colour code as the map.
Navigation.Clicking a gallery thumbnail or a panel refocuses the camera on it, shows it enlarged in the centre (the other photos fade so they don't hide it) and shows a link to the source. Click empty space to deselect. Esc or × to close. If WebGL is unavailable, a 2D fallback gallery is shown.
Road signs (stop / give way)
OpenStreetMap layer: stop (red octagon) and give way (downward triangle), pre-generated by a GitHub Actions workflow (several thousand points across Vaucluse).
What data exactly? These are the OSM nodes highway=stop and highway=give_way: they mark the traffic rule at the junction (where you must stop / give way), with a direction tag for the relevant way. They are not the physical "sign" objects (which would be traffic_sign=stop / give_way, very rarely mapped in France). So we draw realistic pictograms placed on these regulatory points: coverage is far more complete, at the cost of this semantic nuance.
How: enable the layer. When zoomed out, points are grouped into clusters (red circle with the element count); clicking a cluster zooms into it. From zoom ≥ 15, the pictograms are drawn (stop octagon, give-way triangle), only for the current view. A pictogram ringed in green has a nearby Mapillary photo: click it to view.
Direction signposts
Direction masts from OpenStreetMap (information=guidepost nodes): the bladed posts pointing to hiking and cycling destinations and points of interest (several thousand across Vaucluse, including the CD84 network).
How: enable the layer. When zoomed out, points are grouped into clusters (click to zoom in); from zoom ≥ 15, a signpost pictogram (post with blue/green blades) is drawn. The popup lists the destinations and ends with an OpenStreetMap link: voir to open the node, or compléter to open it straight in the iD editor.
Sorting by use. A hiking mast and a cycle-route mast do not serve the same reading of the map. Each mast therefore carries a use badge at the foot of its post — 🚶 hiking (hiking), 🚲 cycling (bicycle), 🚵 mountain bike, 🐴 riding — and the legend offers a filter by use with a count for each (1,575 hiking, 120 cycling, 509 with no declared use across the Vaucluse). Switching "Randonnée" off leaves only the rest on screen; a mast carrying two uses stays visible as long as one of them is active. Only the uses actually present in the data are offered.
Photos of the signpost. Many masts carry one or more photos of the sign itself in OSM (panoramax, mapillary, wikimedia_commons, image tags) — about 1,450 of the 2,170 masts in the Vaucluse. They are then shown in the popup; beyond a single photo the block becomes a carousel (‹ › arrows and a counter), since one mast gathers up to eight — one per blade, per bearing or per year. Each view is captioned with its provenance and the tag suffix where there is one (panoramax:N → "facing north", mapillary:2017 → the year). Clicking the photo opens the original at the provider. A violet dot on the mast flags this case. Without a referenced photo, we fall back to searching for a nearby Mapillary photo (green dot), which shows the surroundings rather than the sign.
Town-boundary signs
Village entries and exits from OpenStreetMap (traffic_sign=city_limit nodes, 468 across the Vaucluse, 446 of them named): the EB10 / EB20 signs marking where the speed regime changes through a built-up area. A natural companion to the Limitations mode.
How: enable the layer. When zoomed out, points are grouped into red clusters (click to zoom in); from zoom ≥ 13, each sign is drawn as the real plate — the place name on white with a red border. A plate crossed by a red diagonal is an exit from the built-up area (city_limit=end). The popup gives the direction, alternative names (including Occitan), reference and operator where available, the photos of the sign referenced in OSM, and an OpenStreetMap link (voir / compléter in the iD editor) to fix the sign straight from the map.
How: enable the layer; click a polygon for the card.
iNaturalist observations
Observations filtered by intersection with the 84's sensitive natural areas.
How: enable the layer; click the coloured circle (enlarged click zone) for species, date, iNaturalist link. Works alongside the ENS layer shown at the same time.
Webcams
4 CD84 traffic webcams (Bonpas) and Mont Serein (Vision-Environnement).
How: enable the layer; click a marker to start the live video feed in the popup.
Grouped cameras. Two cameras on the same roundabout (Bonpas, site 2) sit just twelve metres apart: they overlap right up to the maximum zoom, leaving the second one unreachable. Markers that are too close are therefore merged into one, badged with the number of cameras. Its popup acts as a picker: choosing a camera starts its feed, and the ‹ N caméras button returns to the list. The group breaks apart on its own as soon as the zoom separates the points enough.
Events (OEDB)
Vaucluse events served by our static OpenEventDatabase instance: the oedb-rs repository (Rust) rebuilds an OEDB-compatible API on GitHub Pages every 3 hours, from the Bison Futé DATEX II feed filtered on Vaucluse (accidents, roadworks, jams) and manual curation (e.g. the Jeudis d'Orange night markets, category culture.market.night). Expired events are purged at every build.
How: enable the layer; click a legend row (Accidents, Roadworks, Jams, Culture, Others) to hide / show that category; click a marker for the label, dates, place and source.
Tools & meta
Search, data quality, network statistics, update calendar. No extra map layer (except the quality panel).
Search a road
Search field (e.g. D900, D4) and a filtered list. Click a road: map centring, highlight, card in Road information.
OSM / Wikidata quality
Summary in the sidebar: Wikidata coverage, OSM relations. Detailed panel button: an on-map panel (metrics, roads without Wikidata, without relation).
See the N roads without Wikidata button: lists those roads in the sidebar, the most substantial first, with its number of OSM segments. Clicking a row follows that road on the map; opening the list shows all of them in red. Since the Wikidata identifier is carried by the OSM route relation, a road with no relation necessarily has no Wikidata: the relation has to be created first, and the list labels the opposite case separately — a relation that exists without carrying an identifier.
The percentage comes from the latest OSM snapshot, dated by the freshness badge just above it: a relation tagged after that extraction only counts at the next refresh.
Network information
Counters: number of roads, OSM segments, cumulative length, AADT min/max traffic, bridges, tunnels.
Refresh formula
Calendar by source (OSM, Wikidata, external, incubator, weather, static) and status of the last refresh.
Map toolbar
At the top right of the map:
Home — initial department view.
Counts — enables the traffic-count stations layer (synced with the legend).
Speed limits — colours segments by OSM max speed; at zoom ≥ 13, speed signs and height / width / weight pictograms. When zoomed out, only the colour gradient on the segments remains. A sign ringed in green has a nearby Mapillary photo: click it to view. The legend splits into two clickable blocks: the speed bands (≤30 to ≥110, plus "unknown") and the gauges (height, weight, length, width). Click a cell to drop that band or gauge: the matching segments fade to grey and their signs disappear, which isolates a speed regime or a type of constraint across the network. Click again to restore them. The None button at the head of each block empties it in one go (and flips to All to bring everything back): that is how you keep only the gauges on screen, or the other way round.
Reading the gauges. Gauge restrictions are rare enough to be drawn large, at the same visual weight as a speed sign. Their label is pushed off the carriageway and tied to its segment by a thin leader line ending in a dot: through built-up areas, several restrictions carried by neighbouring segments used to pile up on the road itself. The position is picked automatically around the anchor point, avoiding the speed signs and the gauges already placed. Speed signs themselves stay on the carriageway — pushing them aside would have them read against the neighbouring road: when two collide, one slides along its own segment until it finds room. Where there is no room at all, the limit is still drawn at least once per road in view; further occurrences that would overlap are dropped, the repetition adding nothing.
A gauge card. Clicking a gauge label opens its card: the carrying segment (road number and street name), every restriction it carries along with the originating OSM tag (maxheight, maxweight, maxlength, maxwidth) — including the types unticked in the legend —, a Mapillary photo of the surroundings where the area is covered, and an OpenStreetMap link (voir / compléter in the iD editor) to fix the restriction at source.
Implicit speeds. Many segments carry no maxspeed sign but do state their regime (maxspeed:type, source:maxspeed, zone:maxspeed): FR:urban means 50 km/h inside a built-up area, FR:rural 80 km/h outside it, alongside the 30 km/h zones. Those segments take their band colour like any other, and their sign is drawn as a dashed circle — the limit applies, but no physical sign carries it. This is the regulatory counterpart of the town-boundary signs: the regime switches at the village entry and exit. About 120 segments across the Vaucluse are tagged this way.
W — community Waze traffic (jams and incidents). When the Waze for Cities partner feed is configured, a native layer is drawn directly on the map: jam lines coloured by severity and incident markers (💥 crash, ⚠️ hazard, 🚧 roadworks, ⛔ road closed, 👮 police); click for details (road, speed, delay). Otherwise the button opens the embedded Waze Live Map, centred on the current view (close with ×, click outside, or Esc). Placed to the left of M.
M — shows Mapillary photo coverage (areas with ground-level imagery).
P — shows Panoramax photo coverage (violet accent).
Active buttons are visually emphasised (dark background).
Header
Logo — back to the app home.
Key figures — opens a full-screen panel: network indicators (roads, traffic, cycle routes, OSM quality, etc.), each tile carrying its pictogram in a badge for quick scanning. Close with × or by clicking outside.
Weather — a preview of one station in the department (temperature, conditions). For all stations, use the Weather stations layer.
URL and sharing
The browser address updates as you pan or zoom the map and when you change the visible layers. Useful parameters:
fam — fully opened families (optional if ly is precise).
Copy the URL to recover the same view after reloading.
Data freshness
Under most layers, a chip shows when the data was generated and when the next refresh is due. No indicator for sensitive natural areas, iNaturalist or webcams.