-
Notifications
You must be signed in to change notification settings - Fork 35
Mapillary Integration
Mapillary is a fantastic mapping resource with billions of street-level images and sign / feature detections that can be used for mapping in OSM. The screenshot shows where contributors have collected images while driving, riding a bike, or walking, and where Mapillary has automatically detected storefronts and related signage.
All this information is free to use for OSM contributors to improve the map. Popular OSM editing environments like (Rap)iD and JOSM can display Mapillary image locations as well as the locations of detected signs and features overlaid on the map for easy access:
The editor overlays are great for casual editing. Integration with a task-based tool like MapRoulette would make more focused editing projects based on Mapillary detections possible. Let's look at a couple of examples:
- A local transportation advocacy group would like to start a mapping campaign to add all crosswalks in the city to OSM. They could start by acquiring fresh Mapillary imagery if needed. They would then create a MapRoulette Challenge by defining the area of interest and the feature type (crosswalks). MapRoulette would create the Challenge and mappers can "divide and conquer".
- A tourism board would like OSM to have a complete and up to date map of shops in the downtown area for their maps and app. They work with a geospatial consultancy company to conflate open data sources with existing OSM data and collect fresh Mapillary imagery. They create a MapRoulette Challenge with all the businesses that are not in OSM yet showing fresh Mapillary imagery of the storefront so mappers can add, validate or correct the data in OSM.
These use cases can be one-off but also continuous based on fresh imagery coming in on the Mapillary side! A continuous cycle:
Mapillary offers a few built-in tools to work together on image collection. You can form an organization and add accounts to it. This lets you filter Mapillary contributions on the map so you can easily see the coverage your team has achieved.
Another feature that can help with targeted collection of imagery is the recently released Mapillary Missions. There is currently no option for end users to create missions, but this is something to keep an eye on nonetheless. It reminds me of the "map cake" tools of yore.
Here's where the bulk of the work would happen. At a minimum, we need a way for challenge makers to identify a) an area of interest (see here and here for existing tickets relevant to this) and b) what Mapillary detections they are interested in and c) how fresh they want the detections to be. The challenge would then be created by retrieving the data from Mapillary, optionally checking against existing OSM data (see below) and creating the challenge. Again optionally, the challenge would periodically refresh to retrieve the latest detections from Mapillary (see also below). UX needs to be designed and built around this.
Right now, MapRoulette users make a roundtrip to iD / Rapid / JOSM / Level0 to make the actual edits in OSM. Tasking Manager for example offers a built-in iD editor making that roundtrip un-neccerary. Having this in MapRoulette would make working on tasks a better experience overall, not just for Mapillary tasks.
//TODO open a ticket for this
Adding some complexity but making for more reliably meaningful tasks would be to build a step into the challenge creation process that would retrieve existing OSM data for the desired feature type and offer to discard any detection locations that are within a given distance from the Mapillary detection.
// TODO open a ticket for this
The mapping group or organization / company wanting to run the collection / mapping campaign would manage this outside of MapRoulette, pointing to the relevant Mapillary team page / MapRoulette challenge. It would be nice to have some kind of dashboard page to point contributors to, but I see that as something of a nice-to-have for a later stage / for someone else to implement as a separate project
The basic goal is to make it easy to create MapRoulette challenges based on Mapillary detections. You would create the challenge much like you would do normally. The contributors will work on the tasks until they're all done, then the project is over. They can follow up and do it again in a year, five years, or never.
Or!
We take it a step further and introduce neverending challenges. There's an open discussion ticket for this: https://github.com/maproulette/maproulette3/issues/1910 Something I would love to explore, but let's not make it a prerequisite for getting this integration v1 done.
I wrote this document with Mapillary integration in mind, but there are many other point-based map hints that could be integrated with MapRoulette in a similar way: Osmose, Keepright, Kartaview.