Maps/Collecting geodata and mapping
Update: Mapswipe has been very successful, see e.g. https://www.theguardian.com/global-development/2016/aug/05/app-that-helps-aid-workers-i-watched-tv-while-mapping-100km-of-nigeria. It's not contributing data directly, but provides a simple entry point (simple UI) for general members of the public to contribute to mapping. Well done! Bjoern 14:32, 6 August 2016 (BST)
1 How would you contribute to OSM as a "non-technical" user?
The background to my question is working is areas where map coverage is poor (e.g. parts of Africa). Sometimes only low-res satellite/bing imagery is available, sometimes obscured by clouds. In some low populated areas a GPS trace could be useful to map out roads connecting settlements (despite inaccuracies of GPS). There are many great OSM apps out there, including apps for recording traces (e.g. OSM tracker, etc). However, unless I've missed it, I would say that none of those apps is suitable for the "non-technical" user. Indeed, we've tried using various such apps, and it's been difficult in terms of usability. Is there interest in (or is anybody working on) creating an very simple-to-use app that allows "non-technical" users to contribute OSM information? E.g. a large red button for recording a trace with automatic upload (optimised for poorly internet connected environments, e.g. wait for wifi, upload in chunks etc; information submitted with GPS accuracy information).
E.g. I'm working with teachers in Ghana, where mentors travel to schools/colleges to give support. They do have tablets/smart phones with GPS. GPS Logger probably comes closest to what we could use (http://code.mendhak.com/gpslogger/), mainly because it offers to auto upload a trace. So for us, that could work, because we have a set of known users (and can receive traces via dropbox/email/etc).
Scenario A ("friends of friends" contributions): For other users, GPS Logger can also upload to OSM. Suppose we'd ask friends in certain towns to use the tool, as a "semi-anonymous" mapping campaign in that town, we'd then have to find those traces on OSM (or at least be notified that a relevant trace has come in). How would you do this? It doesn't seem as if you can search for traces in particular areas?
Scenario B (crowd contributions): Something similar to OSM Logger, but that could switch on automatically (e.g. when people are driving with GPS enabled). "We're short of maps in this area? Do you want to help?" If the users taps yes, then a trace is recorded and submitted (anonymously). This could be stand alone, or (to provide an incentive to the user) be integrated into OSMAnd/map.me etc.
2.1 Tracks - discussion
There isn't really a solution for Scenario B, but let's look at the options for Scenario A (i.e. working with people you know). After a bit of playing around with GPSLogger, it comes close and I do think it's one of the best solutions around.
- We tried OSMAND previously, but because GPX cannot be sent automatically, it was too tricky. It's just too hard for non-technical users to retrieve items from the file system.
- Similarly for OSMTracker: The track needs to be retrieved manually, and it's just to complex (See https://github.com/nguillaumin/osmtracker-android/issues/69)
- The discontinued Google "My tracks" worked well, because it could share automatically to Google drive. However, it did crash for long tracks, which was problematic.
- GPSLogger is probably your best choice - it's a highly configurable application, that serves only the purpose of collecting tracks. For more, see GPSLogger.
Apart from traces, it may also be helpful to fix tags / collect other information. Here are some thoughts:
(A) Location validation / resolving issues. We've got a list of education institutions, which we think is accurate on the whole. However, there are also some errors. It would be great for us to have an app that could validate locations (as a "friend sourcing" or "crowd sourcing" exercise). You upload a set of locations into the app, and (over time, as a user travels to a location) the app asks: "Are you now near XYZ school? Yes/no". Over time, that would allow us to validate a large data set.
Similarly, extra information about map issues could be collected. E.g. Vespucci also notifies you about nearby map issues, which is great. However, on the whole the app has a different audience from what I have in mind. So just the notification part of Vespucci, with the ability for the user to respond.
(B) Street names (and other POIs). In some places there are roads, but they don't have names (when the local roads do have street signs). Users may be willing to contribute street names. Similarly, POIs could be added in this way. E.g. the POI contribution in OSMAnd is useful, but ideally an app would only have the "POI submission" feature.
Either the app shows the OSM tile or perhaps just a list of local POIs (with geo-intent to visualise in other app). The user types name and POI type, and data is submitted (with GPS accuracy). Optionally, the user might answer some more questions, depending on the POI type (like opening hours, etc). Also, perhaps the data is not added to OSM automatically, but perhaps to a "crowd layer", where map editors then transfer the data onto OSM. On reflection, OSMAND is probably the best tool around for this, though a lot of the functionality needs to be enabled in the app first.
The last suggestion is perhaps similar to https://github.com/hotosm/Geo-Data-Collect. That app can of course work with any ODK server, and one could set up a server to collect data for OSM. It may be possible to construct a comprehensive ODK form to cover a range of POIs, though for the general purpose of POI collection, a dedicated app may be simpler and more user friendly (or the functionality within OSMAND.
NEW APP: https://play.google.com/store/apps/details?id=de.westnordost.streetcomplete&rdid=de.westnordost.streetcomplete https://github.com/westnordost/StreetComplete - Really good stuff, and does exactly what I am describing above for street names. Well done! Bjoern 00:59, 17 March 2017 (UTC)
(C) Specific locations (from specific users). Prior to (A), you need to collect those locations. A use-case is Maps/Collecting SHS locations in Ghana. https://github.com/hotosm/Geo-Data-Collect could work well for that. We've also had people contributing locations via "Share location" in other apps, such as WhatsApp or Hangouts. The problem is that you don't know the accuracy, and the locations haven't always been accurate. GPSLogger may be a better choice.
As far as I can see, I'd recommend these tools:
- To contribute POIs autonomously (not as part of a mapping exercise): OSMAND
- As part of a mapathon, perhaps OSMAND if participants have technical background, otherwise probably https://github.com/hotosm/Geo-Data-Collect (which requires setup for ODK)
- To contribute individual POIs, probably GPSLogger
- Maps.me http://wiki.openstreetmap.org/wiki/MAPS.ME, http://maps.me/en/home, https://github.com/mapsme/omim, https://play.google.com/store/apps/details?id=com.mapswithme.maps.pro - the most usable OSM app that I've found. It works well, and is straight forward to use.
- OSMAND https://github.com/osmandapp/Osmand, http://osmand.net, http://wiki.openstreetmap.org/wiki/OsmAnd, https://play.google.com/store/apps/details?id=net.osmand.plus Very highly featured, but can be complex to use.
- https://play.google.com/store/apps/details?id=de.westnordost.streetcomplete&rdid=de.westnordost.streetcomplete https://github.com/westnordost/StreetComplete - great new app for updating OSM without needing to know much about OSM.
- MapContrib (https://github.com/MapContrib/MapContrib)
If you did want to get started with editing OSM directly, the usual editors are also useful: