This QLever query for gaps in route=historic relations can be adapted to tell you exactly where the gaps are in a specific route relation:
PREFIX osmkey: <https://www.openstreetmap.org/wiki/Key:>
PREFIX osmrel: <https://www.openstreetmap.org/relation/>
PREFIX ogc: <http://www.opengis.net/rdf#>
SELECT DISTINCT ?route ?pos ?highway ?next_highway WHERE {
# Compute the last member position of the route
{
SELECT ?route (MAX(?pos) AS ?last_pos) WHERE {
BIND(osmrel:9491877 AS ?route)
?route osmrel:member [ osmrel:member_id ?last_highway ; osmrel:member_pos ?pos ] .
?last_highway osmkey:highway [] .
}
GROUP BY ?route
}
# Get each member of the route
?route osmrel:member [ osmrel:member_id ?highway ; osmrel:member_pos ?pos ] .
# as long as it’s a highway
?highway osmkey:highway [] .
# and it isn’t the route’s last member
FILTER NOT EXISTS {
?route osmrel:member [ osmrel:member_id ?highway ; osmrel:member_pos ?last_pos ] .
}
# Get the route’s next member
?route osmrel:member [ osmrel:member_id ?next_highway ; osmrel:member_pos ?next_pos ] .
FILTER(?next_pos = ?pos + 1)
# as long as the two members don’t touch
FILTER NOT EXISTS {
?route osmrel:member/osmrel:member_id ?next_highway .
?highway ogc:sfTouches ?next_highway .
}
}
ORDER BY ?route ?pos
QLever has a heatmap view but otherwise doesn’t do a lot of visualization. You’d have to copy the query into Ultra for more options. The other catch is that QLever is up to a couple weeks behind, making it a good tool for checking up on existing data but not the edit you just saved.