[OSM-talk] Android survey app: osmagent
Tobias Zwick
osm at westnordost.de
Tue Nov 8 16:40:46 UTC 2016
Hi
I would like to advocate an Android app I have been working on more or
less for a year. I posted this in the forum already but it has been
suggested to me that I also post this here on this mailing list to reach
the right audience, so here it goes:
Osmagent is a tool for surveyors that doesn't require any knowledge
about the tagging schemes in OpenStreetMap and also doesn't require the
surveyor to return home after the survey, launch JOSM and spend an equal
amount of time inputting the data into the database:
The app searches for incomplete or extendable data in the user's
vicinity and presents the user with a map of "quests" (like i.e. in
Mapdust) that each are solvable by answering a simple question while
surveying it. Basically, take the concept of Mapdust and Maproulette,
add the ability to solve them on-site and you got osmagent.
The data input by the user is then directly added to the OSM database,
making it available for others immediately and also eliminating the need
for editing tools to insert the info later when back from the survey.
Some examples of what the app might ask:
* What is the name of this road / shop / place / bus stop / etc. ?
* What are the opening hours of this shop / place / etc.?
* How many lanes does this road have?
* What is the surface / smoothness of this road? (User selects photo)
* Does this road have a sidewalk?
* How many storeys does this building have?
* etc. ... many more
The Idea
-----------------------------------------------------------------------
The idea for the project came to me when I realized how inefficient and
time-consuming a GPS survey is:
* regardless of which mapping technique I used, it always boiled down
having to spend several hours to "process" the GPS trace in front of
the PC
* During a survey, I had no clue how well-surveyed the area already was
because many details like road surfaces, building heights, etc. are
not shown on the default (offline) map I use during a GPS survey.
Also, house numbers might generally be defined, but missing for only
one street or a few houses. So, often I noted down information that
was already there. Also recording any possible information that
might be missing takes a lot of time and a survey starts to feel
tedious. Wouldn't it be nice if someone already collected everything
that is missing for me?
* I like to contribute to the OSM, but I realized that many others also
like to contribute while only few have the leisure to acquaint
themselves with how to survey and even less are able to program tools
and apps that help. So I can better contribute to the OSM in helping
others to contribute.
The Name
-----------------------------------------------------------------------
I had the idea for the name when I overheard someone saying something
along the lines of that "google has their agents [who survey these
things]" when I was impressed on seeing the Google indoor maps of
certain shopping centres. Well, with this app, anyone can be an agent
for OpenStreetMap!
I realize that "agent" might carry a negative undertone for some people,
so I am not set on this name yet. I thought of osmscout, but this name
is already taken. Another name that recently crossed my mind is
mapcomplete (leaned towards "achievement complete"). Let me know what
you think.
Features
-----------------------------------------------------------------------
* decentralized: The app only communicates with OSM and Overpass, no
third server involved. Consequently, you do not need
any other account than your OSM account.
* data economic: The app downloads sparse data from Overpass and only
that which it needs to display the quests
* offline-usage: Sync-only-on-Wifi option. You can solve the quests
offline, when you return to some online-place, the OSM
changes are automatically uploaded, conflicts are
resolved automatically. You can download the quests
for an area beforehand.
* oauth: The answers you give are created as atomic commits with
reasonable comments and source tags in your name
* Mu: For each quest, you have the possibility to leave a public note
instead of answering the question, i.e. if app asks for the
opening hours of the shop but in reality the shop does not exist
anymore. A note at a location blocks any other quests, so other
users are not bothered about an unanswerable question at that
position as long as it is not solved. Alternatively, they can
just hide the quest for themselves.
* answering notes: The other way round, users may also answer on other
people's notes
* 3D Map rendering: I am using Tangram-ES to render the map, which is
capable of rendering the buildings in 3D and also
apply all kinds of shaders to the map. Other than
that the map may look cool, it also means that it
would be possible to directly display the answer
the user gave on the map (i.e. the building height)
State of development
-----------------------------------------------------------------------
See here: https://github.com/westnordost/osmagent
Of the quests, currently implemented are only "road name", "shop opening
hours" and "contribute to note" as proof-of-concepts, I am still working
on the base system. Adding more quests will be an easy
exercise.
What's missing on the base system is the logic when the system should
download quests and upload the changes the user made. Also, since the
app is making direct changes to the DB in the name of the user, I want
to write more tests before I make it available.
But that's it, pretty much, what is missing for a first release.
In the forum thread, I linked a few screenshots so that you can get an
impression of the app:
https://forum.openstreetmap.org/viewtopic.php?pid=616369#p616369
Cheers
Tobias Zwick (westnordost)
More information about the talk
mailing list