tl;dr I created Maxspeed freshness tool where you can see if maxspeed tag exists, and if it does - how old it is!
Why this tool
This tool emerged from a need within the local community. In Serbia, we have more street-level cameras and volunteers capturing road data than ever before! We even have people actively editing data based on those captures (which are not necessarily same peopleš). Good problems to have! The big question is: Where should we capture images next?
We needed a comprehensive view of highways missing maxspeed tags so that people could go there. Additionally, we noticed some major motorways had outdated informationāsome maxspeed tags hadnāt been updated in over a decade. Everything gets old, even maxspeed tags.
I created first version of this tool (for Serbia only) and response was really good. This map revealed stuff that would not be otherwise visible and gave us great insight in quality of data on local roads! We discussed styling of the map, and how to do filtering better. I got lot of good input and after some iterations, we settled on final design. I wanted to see if this can be useful to other people, so here we are ā with a map of whole world.
Barcelona ā almost perfect. Reality start creeping in only after leaving city gates
How Useful Is It?
At this point, Iām not entirely sure how people will use this toolāwhether as a QA tool or for route planning for next street-level capture. What I do know is that updating the map is time-consuming and could potentially cost me money (although I doubt itāll turn into the next Facebook! š).
I would like to collect feedback from people who find this useful ā why was it useful for you, how you plan to use it, how often you need refresh, what I need to change/improveā¦ Please reach out if you would like this tool to live on.
Further ideas
I really, really donāt know how to do web development. This web site is horrendous, it doesnāt work on mobile, for start. I would like to add more details (āaboutā section with some backgroundā¦). I would like to have better legend (as soon as I figure out how to align stuff in HTMLā¦ which will probably be neverš). I would like to better point out to users that this is not about values of maxspeed, but their freshnessā¦
It would be good if you can click on highway and it give you OSM link to it, as well as current value.
One thing I am really pissed of is that tippecanoe cannot drop features by ordering of some attribute. To explain what I need ā at lower zooms, there is lot of features to show and tippecanoe need to drop some of them. Tippecanoe can drop features by geometry, but not by ordering. I want to display motorways first, then trunks, and so on, and if there is space left in tile ā to include other roads. I could exclude residential highways on zooms 0-5 (and join later with tile-join, it is possible), but if there is part of world where there would be a space to include them in tile, well ā you are out of luck. And I didnāt want to give users impression that only major roads are on map when they first open map. On the other hand, tiles right now are filled with random highways, so there are visible gaps in major highways which really annoys me. If anyone has a solution, Iām all earsš!
People were suggesting integration with Mapillary to conflate where captures are present and where Mapillary detected maxspeed signs, but I think this is going too much for time I can dedicate to thisš (although I agree it would be interesting).
Home of latest SotM ā Nairobi. Heaven for people with GoPro MAXš
Implementation details
The entire codebase is available on Gitlab. Itās automated but takes a long time to processāgenerating a 20GB .mbtiles file for the whole world takes 2-3 days on my (not-so-cheap) machine! For the website, Iām using MapTiler as a basemap because I wanted a clean, neutral look instead of the usual OpenStreetMap.org style (and because I didnāt want to be another person pointing to openstreetmap.org tile servers).
On the technical side, this project taught me a lot about processing massive datasets on a single machine (300GB!). My most exciting discovery was learning LMDB.