From OpenStreetMap Wiki
Jump to navigation Jump to search


Help (89606) - The Noun Project.svg

Auteur : Nic Roets
Licence : BSD
Plateformes : Windows, Android, Linux, Unix, Maemo, Windows Mobile et Windows CE
Version : - (2011-11-22)
Langues : anglais et allemand
Site Internet :
Code source :
Langage de programmation : C++

Version basée sur la version EN d'octobre 2008.

Gosmore Screenshot

Gosmore est un logiciel de routage et de visualisation de données OSM XML comme le planet.osm, [1] ou [2].


  • Zone de visualisation de la carte géographique par projection Mercator ;
  • Recherche incrémentale des tags. Les résultats sont ordonnés du plus proche au plus loin ;
  • Routage avec le support basique de Relation:restriction.
  • Obtention de la localisation GPS courante à partir d'un récepteur GPS utilisant le gpsd (Linux) ou à partir d'une source NMEA (Windows CE).

Téléchargement et lancement


Aller directement ici : Android Market

Linux, FreeBSD, MacOSX

svn co
cd gosmore
bzcat planet-...osm.bz2 | ./gosmore rebuild 

Cette dernière étape peut prendre près de 5 heures pour le fichier planétaire (toute la planète) sur un ordinateur équipé d'un processeur Intel Dual Core en 64 bits avec 2 Go de mémoire vive et 20 Go d'espace disque dur de libre.

Sous FreeBSD et MacOSX, vous aurez besoin de l'outil GNU Make (gmake) pour construire le fichier Makefile au format GNU Make au lieu du format traditionnel BSD Make.

Sous MacOSX, vous devrez installer le serveur X11, les outils de développement et probablement des paquets additionnels qui ne sont pas listés ici mais sont surement nécessaires pour une compilation réussie. Nous vous laissons la liberté de les ajouter ici s'ils ne sont pas listés.

Après avoir construit l'application, elle sera exécutée correctement sur une machine de 256 Mo de mémoire vive.

Une installation alternative existe en utilisant les paquets Debian mais ils sont probablement obsolètes.

Windows CE / Windows Mobile

  • Aller sur et télécharger
  • Télécharger le fichier de données de votre pays. Il n'est pour le moment impossible de télécharger les États-Unis. L'Allemagne est découpée en deux (Est et Ouest de E10.000). SVP, télécharger uniquement votre pays afin de préserver et de partager au mieux la bande passante du serveur. Dernière mise à jour, 17 septembre 2008.
  • Unzip both files into the same directory on an SD card. If you want your gpx file on your SD card and not in My Documents, download the empty gosmore.opt file as well.
  • Put it in your device and execute gosm_arm.exe

Alternatively build it with eMbedded Visual C++ or cegcc.


Download from the same site as above. Unzip it to a directory somewhere on your machine. No registry settings are used.


maemo devices from Nokia: See Gosmore for Maemo.

Gosmore on WinCE

GTK+ Interface (Linux / Windows)

The main window consists of

  • the map view Click to pan.
  • the search box
  • the search results Click / double click to move there
  • options for selecting icon types, detail level and routing settings.
  • the location bar Copy and paste to / from JOSM or the permalinks.

Windows CE Interface

Gosmore starts in menu mode. You can cycle through the options with the 'O' button and change (or activate) them using the '+' and '-' buttons:

  • On startup you can choose your language. Please add translations at Gosmore/Translations.
  • On a touchscreen device you should activate QuickOptions for rapidly configuring the program.
  • Activating the Search option will open the search dialog. When ModelessDialog is 1, it works better on some devices, while on others it does not work at all.
  • Editing.
  1. To add a node, activate the AddWayOrNode option and click on the location of the node.
  2. If you then click on 'O', a dialog will appear where you can enter the name and type of the node. To add a way, follow the same procedure, but click multiple times on the map.
  3. Exit gosmore and sync with your PC.
  4. Open '\My Documents\YYMMDD-HHMMSS.osm' and '\My Documents\YYMMDD-HHMMSS.gpx' with JOSM. If gosmore.opt was found in the same directory as gosm_arm.exe, then all files will be written to that directory instead.
  5. Download data to the same layer.
  6. Edit. To find the changes pending, click on search and enter 'id:'.
  7. Upload
  • Changing the CommPort and BaudRate settings requires restarting the application.
  • Activate ValidateMode to see unnamed roads.
  • Activate FullScreen and restart for more screen space.
  • Activate the 'Exit' option to close the application and write the GPX file, the OSM file and the options.

The last display in the cycle is the map mode. There you can use the '+' and '-' buttons to zoom or click on the map to pan.

On phones and other devices without a mouse and a touchscreen, use the arrow keys and '9' as '+', '8' as '-' and '0' as 'O'.

Cgi Routing Interface

Set the QUERY_STRING environment variable to e.g. "flat=-33.928889&flon=18.417222&tlat=-25.778618&tlon=28.290682&fast=0&v=motorcar" and run the executable. The parameters must be in this exact order.

Gosmore will produce one line for each node. The first 2 fields are the latitude and longitude. The third field is the junction type : Lower case when only 2 segments connect to that node (trivial junction), upper case otherwise. 't' for traffic_signals, 'm' for mini_roundabout and 'j' otherwise.

Fourth field is 'v' of the way. Fifth field is name (if present, otherwise ref).

If no route was found, the output will start with a 'jump' line followed by the best incomplete route.

Visit the openstreetmap web routing page.


Device CommPort BaudRate Notes Date
Binatone Carrera X350 7 38400 Works well. Problem: No search window 2008-08-22
ETEN M500 (w/BT GPS) 7 4800 Works well, but some of the dialogs don't work very well in a portrait-orientated screen 2008-07-26
HP iPaq hw6915 7 38400 Works well. 2008-08-22
HTC Kaiser/P4550/TyTN II 4 4800 Seems to work fine, though some dialogues don't work that well in portrait orientation, and switching orientations once the program is already open (by sliding the keyboard) appears not to be supported. 2008-09-09
HTC P3600 9 9600 Taskbar gets a little bit in the way 2008-06-28
JNC 578 7 38400 Works well. 2008-08-20
Lark 35.3 (w/SiRFstar III) 1 9600 Works fine 2008-08-08
Mio C230 (running MioPocket) 2 4800 Works well. 2008-08-20
Mio P350 4 4800 Works well. 2008-09-03
Mio A510 Digiwalker / PDA with WM 5 2 57600 Seems to work ok 2008-09-14
MyRoad 4308T 2 38400 Works fine 2008-07-15
Navigon Transonic 6000T 2 4800 Works well. Apparently the same hardware as Medion 510T, but I haven't verified this. 2008-09-02
Navigon 5110 ? ? Only works when .pak files of 23MB and smaller and only after reducing the storage memory. 2008-08-31
TGPS 374 1 0 Works perfectly 2008-08-20
XRoad v4150 5 9600 Use SurfTech first to ensure that GPS is talking NMEA [3] 2008-08-20

Tips and tricks

  • Type the name of an item to the search in the line edit. Double click an item in the list to center the map around that area.
  • To find nearby amenities enter the relevant tag value, e.g. fuel.
  • To find the name of the area you are looking at, try to search for suburb, city or village. Click on the item and look at the name that comes up.
  • To see all the tags for an object, zoom in very close.
  • Use the mouse wheel to zoom in and out
  • Use the left mouse button to pan the map. Click above the center of the map to pan upwards, click below the center of the map to pan downwards and vice versa
  • Mark the starting point of the desired route with the middle mouse button and the end point with the right mouse button. Gosmore will paint the route into the map
  • Set the render quality to lowest for a more responsive experience.
  • For optimal battery life, only 'Follow' when you are looking at the display. A simple tap on the map will cancel the 'Follow' function. Even more power can be saved by selecting DisplayOff, turning the device into a dumb logger.
  • If you have an already extracted OSM file, e.g. as output by the script, you can feed it into gosmore as well:
cat MyArea.osm | ./gosmore rebuild
  • You can create a smaller pak file by specifying a cropping bounding box during a second pass. For example for a 32 bit machine can exclude the Americas to create a file that will fit into the address space:
 mv gosmore.pak master.pak
 bzcat planet...osm.bz2 | ./gosmore rebuild -83 -30 83 179


In order of importance:

  • No 3-D display.
  • Routing is not calibrated e.g. bicycle routing not preferring cycleways.
  • Tracktype is ignored.
  • Complicated turn restrictions are ignored.
  • Verbal instructions do not work well on motorways.
  • 32 bit machines can create and use only pak files smaller than 2GB. Rebuild gives segmentation fault on computers with less that 1GB of virtual memory.
  • Pak file cannot be dynamically updated e.g. osmosis. However, since the objects we map (roads etc) change infrequently and mappers take very long to resurvey existing data, you will most likely only find the spots where the pak file is out of date if actively go looking for them.
  • Pak file cannot be moved to a machine with a different endianness.
  • If double decker bridges are drawn with 2 or more nodes on exactly the same latitude and longitude, gosmore may make incorrect routing decisions. (It can be solved at the cost of a 10% larger pak file).
  • No way of completely disconnecting from GPS com port causes battery drain when internal GPS is activated by just connecting to the proper com port (on WM5 at least).
  • When in current direction = up (north upwards=0) mode, stopping at a crossing causes slight precision improvements due to gps averaging which can shift position slightly in any (random) direction, which causes the map to rotate wildly, disorientating the driver (and probably giving wrong instructions if the route is recalculated). Probably a longer (eg 10 m distance, not time) average period should be used to determine direction before rotating the map.
  • Buildings are rendered in front of landuses, causing buildings not rendered in residential areas.
  • No usage of multipolygons


Gosmore makes extensive use of sorted arrays, integers and fixed point numbers. See the current file format [4]

The source code has a low complexity (measured by Halstead Metric or SLOC), reducing the number of bugs.

Why isn't there an OpenMoko, Java, Nokia, iPhone, OpenTom or Palm port ?


  • the WinCE installed base is huge and growing at more than 1 million per month.
  • the WinCE Core that gosmore requires is cheap [5]. Expect to find WinCE based GPSs (new or secondhand) at an online auction site near you at rock bottom prices. Many of the house brand GPSs are WinCE based. All that's needed is a way to unlock the device [6] [7]
  • the Win32 API has been stable for more than a decade now and we don't need the messy parts like WinSock and OverlappedIO.
  • No one has written it yet. Patches welcome :-)