From OpenStreetMap Wiki
Jump to navigation Jump to search
Keypadmapper2 1.8 keypad.png
Authors: User:Nic, User:Cobra
License: BSD
Platform: Android
Status: Unmaintained
Version: 1.8 (2012-06-08)
Languages: English, German, and Russian
Source code:
Programming language: Java

Dedicated to housenumber mapping

KeypadMapper or KeypadMapper 2 (github project) was a an Android app for recording addresses along with a trace. It has been superceded by Keypad Mapper 3.

It's free and open source. It was initially created by User:Nic and has been reworked and extended by User:Cobra.

The app allows for rapid data collection, but does not make OSM edits directly. It generates osm and gpx files. The user must review and upload the data with JOSM or Potlatch.


  • Records a tracklog with the minimal interval your phone's GPS is able to achieve (for most phones that is 1 point per second)
  • Stores nodes in a osm file, ready to be opened and uploaded by a standard osm editor
  • full UTF-8 compatibility supporting all foreign characters you might encounter (as long as Android supports them)
  • adjustable offset distance between your current location and where the address node is placed
  • all standard Key:addr keys can be recorded
  • all address tags except for house number and name are persistent until you clear them manually, house number and name are cleared automatically after placing the node by tapping the L/F/R buttons

Upcoming/planned features:

  • Integrate Russian localizations. The string values was contributed by User:FSA.
  • "keep screen on" option
  • customizable track logging interval
  • improved accuracy monitoring, detect lost fix, configurable alerts
  • "vibrate on save" option
  • DOP record option (probably faked values for the beginning)
  • use of the electronic compass for measuring the current bearing (option)
  • map view
  • auto-completion for street names

There were 2 versions of this app: the regular one for Android 3.0 and later and a legacy version for devices running Android 1.6-2.3. The legacy version looks a little bit different, but has the same functions.

How to use it:

  1. Download (see above), install and start the app.
  2. Optional: set your preferences in the preference dialog. Access it via menu or the Action Overflow (3 dots in the upper right corner).
  3. Run the app and wait until you see "Ready, accuracy..." in the upper left corner.
  4. If you want to add additional address details use the address editor. Select it in the Action Bar (or via menu for the legacy version). You can also edit the housenumber itself, especially when there are strange characters in it. You can switch between the keypad and the address editor as often as you want.
  5. Type the house number with the buttons.
  6. If a house is on your left, hit L when you are traveling perpendicular to the direction of the house. Similarly hit R if the house is on your right. If the house is straight ahead, hit F just before turning (to stay on the road).
  7. Stop recording by pressing the square stop symbol. (or using menu -> stop for the legacy version)
  8. On your SD card look for gpx and osm files in the folder "keypadmapper". Open them with Josm or Potlatch. Download existing data from the server. Review and upload.

To avoid corruption of the tracklog and osm file remember to properly stop the recording. Also don't use resource-hungry apps (like games or google maps/navigation) to avoid this due to the Android system killing this app to free memory. If your files happen to be damaged (which shouldn't happen normally), don't panic. Open them in a text editor and fix them manually. The gpx needs to end with </trkseg></trk></gpx>, the osm file with </osm>.

During the first large test 214 housenumbers were collected in 42 minutes (One 3 digit number every 12 seconds). A subsequent review (below) showed that 89% was correct. The remaining 11% had to be edited as to not confuse the geocoder / reverse geocoder.F-droid archive repository (Arranging the nodes in neat rows is beyond the scope of this exercise).

Also See