One line per road: street-level photos on our own road geometry
The Street-level photos layer in the desktop planner now draws one thin line per road once you are zoomed in to street level, in place of the cameras' own GPS tracks. A road that was driven five times is one line; a track that drifted into the harbour is gone. Click the line as before and the nearest picture opens.
What was wrong with the old lines
The coverage lines that Panoramax and Mapillary publish are the recorded GPS tracks of the cameras. They are honest about where a camera went, and that is the problem: every drive is its own line, the tracks cut corners, and in a street canyon they wander off the road. Over Bergen the cameras' tracks add up to 265 km of line over 75 km of road, three and a half times the road they cover. After the first look at the layer the owner asked for exactly this: drop the broken geometry and reference each picture onto our own OpenStreetMap graph.
What the layer draws now
- Zoomed out (below zoom 14) nothing changes: Panoramax's own lines in green from zoom 6, Mapillary's in teal from zoom 10. That is where you look for whether an area has pictures.
- From zoom 14 the layer draws the matched coverage instead: our server takes every drive in the tile, snaps it onto the road graph the planner routes on (the same map matching that places a rider's signals), keeps the pictures that land within 25 m of a road, and draws one line per continuous stretch of road that carries pictures, with our own road geometry. Over the densest Bergen tile that is 407 lines on 338 roads, 23 km of road, in a 38 kB tile. The busiest of them is 164 m of one street carrying 3,515 pictures from both sources.
- The line's colour says where its pictures come from: green where only Panoramax has pictures of that road, teal where only Mapillary has, indigo where both have. The legend under the layer's row says so, and says which drawing the zoom shows.
Pictures that match no road — a quay, a footpath the graph does not know, a drive with poor GPS — are not drawn, but they are not lost: a click, the 📸 camera dropped on the map, V and Follow the route still find every picture within reach of the place you ask about. The thin, see-through look stays, and so does the opacity knob.
The data behind it
The matched coverage is derived from the two projects' picture metadata and from OpenStreetMap's road geometry, so it is served under the Open Database License 1.0, credited to OpenStreetMap, Mapillary and Panoramax, and shown in the planner only: it is not a downloadable dataset. Each picture keeps its own contributor and licence, as it did. The matching happens the first time a tile is asked for, takes a few seconds for the busiest city tile, and lives exactly as long as the coverage tiles it was made from, so the drawing is never staler than the vendors' own lines.
