Further thoughts on gathering Road Surface information

Posted by chris_debian on 4/3/2023

Ok, following on from my earlier writing, I can confirm that I have installed and tried capturing data with both the SmartRoadSense and Roadroid Android applications, on my Pixel 6. Both apps had good points, and ‘areas for development’. I was only able to capture data, submit it, and see it on a map, with Roadroid. My understanding is that I can’t do this with SmartRoadSense, because the app infrastructure is currently dormant, due to EU funding coming to an end, but I understand from the devs, that they are about to reinvigorate the project.

Lars Forslof (Roadroid) is doing some excellent work with his propriety solution, but I think the nature of his objectives, are business oriented, and enables a ‘customer’ to request survey coverage for a defined area, which is then coordinated, at a financial cost.

My main questions/ thoughts now, are:

  1. Is road surface data useful to anyone? I would suggest it is useful for deciding on routing, and can be used under open source terms, to enable interested bodies, such as highway/ local authorities to have an initial understanding of where surfaces don’t meet a required standard.
  2. Is OSM the right place to record the values?
  3. Can the open source community encourage the good people at SmartRoadSense to work with us, or do we need to create a new app, with infrastructure? The algorithm used to process the data is currently closed source. My preference would be to work with SmartRoadSense, and have a backlog of potential improvements, hosted on GitHub https://github.com/SmartRoadSense
  4. Encourage interested users to install the SmartRoadSense APK, and to give feedback at the GitHub address. The app didn’t appear in Play Store, in the UK on a Pixel 6, so I’ve used APK https://m.apkpure.com/smartroadsense/it.uniurb.smartroadsense
  5. I will write to the SmartRoadSense devs, to highlight these thoughts.

What is needed (Requirements capture)? (MoSCoW)

M= Must Have S= Should Have C= Could Have W= Won’t Have

  • Updated with initial triage thoughts.

    1. Open Source (Must Have)
    2. Push Reporting (Must Have)
    3. Volunteers (Must Have)
    4. Map to indicate surfaces not already mapped (like OpenStreetCam/ Kartaview does (and Mapillary, which I believe is now closed source (Facebook. Meta)) and to indicate current position. (Should Have)
    5. Colour scheme showing age of last survey (Eg, if mapped in 6 months, one colour, if never mapped, or older than 6 months, then another, or no colour.). Do we need to aggregate the last 3 surveys, for better results? (Should Have)
    6. Suitable for different vehicles, eg car/ truck/ bike (Should Have)
    7. Supported platforms/ repositories: Play Store/ F:Droid, IOS? (Should Have)
    8. Do we need to re-invent the wheel, or can we build on existing code?
    9. API: Roadroid have already written an API, but this may not be released as Open Source (CHECK) and SmartRoadSense (Could Have)
    10. Github or other central repository to publish code? (Must Have)
    11. Technical debt/ backlog? (Must Have)
    12. What features exist in software, already? Are they important to us; should we plan to implement them?
    13. Where will any data be hosted? GDPR, etc.
    14. Agreed format for reporting (Must Have)- How do we make captured data into a format that works with osm.wiki/Key:smoothness ? SmartRoadSense have already done some work on values to capture: • LATITUDE, the latitude coordinate at the centre of the section of the road where the roughness value has been estimated • LONGITUDE, the longitude coordinate at the centre of the section of the road where the roughness value has been estimated, IRI International Roughness Index • PPE, the average roughness level of the road section • OSM_ID, the ID of the road in the OpenStreetMap dataset • HIGHWAY, the road category according to the OpenStreetMap classification • UPDATED_AT, the last update of the data for that particular road section Periodic updates- Both maps and Open Data are updated every 6 hours. Each new update differs from the previous one just by the data points associated with roads that have been travelled in the last 6 hours. The remaining part of the dataset stays the same.