GPS Routes & Training Logs  Hnutí za přímou demokracii, člen evropské sítě NETWORK FOR DIRECT DEMOCRACY
Hnutí za přímou demokracii, člen evropské sítě NETWORK FOR DIRECT DEMOCRACY
  Přihlášení / Registrovat
ne 28.květen 2023, 19:04
Jazykové verze
Vyberte si jazykové rozhraní:

Czech English
· MC Navi
· Domů
· Akce
· Ankety
· Banners
· Co je jinde
· Content
· Diskuzní fóra
· Downloady
· Galerie
· Kontakt
· Novinky
· Profil uživatele
· Statistika
· Top
· Trasy
· Tréninkové logy
· Témata
· Vyhledávání
květen 2023
GPS Routes & Training Logs
GPS Routes & Training Logs
Kdo je přítomen
Právě je 25 návštěvník(ů) a 0 uživatel(ů) online.

Jste anonymní uživatel. Můžete se zdarma registrovat kliknutím zde
MC Navi
Free GPS navigation for car and outdoor with OpenStreetMap maps

MC Navi is GPS navigation system aimed at portable devices like Neo Freerunner using OpenStreetMap as map source. It uses Enlightenment Foundation Libraries (EFL) for graphic GUI, so it is fast and light. In future it may be ported to other devices.


The software uses OpenStreetMap (OSM) as source for maps licensed under Creative Commons Attribution-ShareAlike 2.0 license. From OSM wiki: OpenStreetMap creates and provides free geographic data such as street maps to anyone who wants them. The project was started because most maps you think of as free actually have legal or technical restrictions on their use, holding back people from using them in creative, productive, or unexpected ways. In other words: everyone can make the map better and everyone can use it. Any changes in infrastructure can be carried to map very quickly, the new map can be used immediately. So you do not need to wait months for map update from commercial subjects. Also you alone can make the changes, so if you find any bugs in map nearby, you can fix it. And it is very desirable! Extend the map in your neighborhood and help others traveling to you. And they will help you. That's the philosophy of OSM.

MC Navi is also free, released under GPL v3 license. But if you find it useful and want to support the author, please donate some money. It is up to you the amount you choose, solely the price of beer in your country will be nice. Negligible amount for you, very helpful for author. Also if you want support and some improvements, it will be very motivated. It is easy, just click on the donate button.


MC Navi is (will be) GPS navigation software for usage in trucks, cars and outdoors with bicycles and foot. It uses different parameters for different vehicles, so it gives different optimized results for all of them.

Currently not all planned features are implemented, but it quite usable.


You can download source code and compile by yourself or download binary packages from here. For Debian GNU/Linux users there is apt repository. Add this line to your /etc/apt/sources.list:

deb sid main

And download and add public sign key.

apt-key add PublicKey

Then install package mcnavi-osm2mcmap on your main computer (AMD64 or i386) and mcnavi on Neo Freerunner.

apt-get install mcnavi-osm2mcm
apt-get install mcnavi

Create maps

There are two programs. First is osm2mcm for creating the map for MC Navi. It converts OSM XML data to internal binary format for better speed and less space. Use it as follows:

  -mo file.mcm   output map to file
  -bt <0|1>      boundary type to save to boundary file
  -bo file.mcb   output boundary data to file
  -bi file.mcb   input boundary data from file
  -l  file.log   ouput log file
  -p  file.poly  load polygon of area to convert from file,
                 it is not used for cropping, but will be used
                 for sea generation from coastlines
  -v N           verbose log level
                   0 - none
                   1 - error
                   2 - warning
                   3 - info
                   4 - debug
  -rcl           use residential zone for city limit
  -c N           run only convert step N, if not given, all steps are processed
                 can be given more at once, for example -c 1 -c 2
                 must be run in this order!
                 possible values are:
                   0 - skip all convert steps
                   1 - process boundaries
                   2 - process city limit (can be skipped if not needed)
                   3 - process cities
                   4 - process relations
                   5 - process ways
                   6 - process nodes
                   7 - process coastlines
                   8 - process duplicate text
  -h             display this help
Just to explain: Extract one country or download it from here (Geofabrik or Cloudmade recommended). Then extract the map and pass the .osm file to osm2mcm. Because in country extracts are missing some border areas, which are needed to successfully determine addresses, download first the boundary extract for one continent from Cloudmade (sorry - Cloudmade has removed it from download server, we need to find another way) and save the country boundary data:

osm2mcm -bt 0 -bo boundary.mcb map.osm

Then import the boundary data and create the map:

osm2mcm -bi boundary.mcb -mo map.mcm map.osm

For Europe the easiest way is to use pregenerated boundary data from here.

If you want to generate sea using coastlines, you need also clipbounds polygon for your downloaded OSM extract, for maps downloaded from Geofabrik it can be downloaded here. Then add parameter -p to command line like that: osm2mcm -bi boundary.mcb -p map.poly -mo map.mcm map.osm

In new version the converter uses MySQL database to store the data. Previously it loaded all data to memory, so no large maps could be created. The connection to MySQL is done on local host, user and password is "osm", database is osm, so create corresponding schema and user account in MySQL. In future releases it could be possible to change it via command line parameters.

The simplest method is to download map from here or from here (currenly only old version maps, thx to Davide Scaini).


After that you can run MC Navi with the converted map:

mcnavi -m map.mcm

Or just run mcnavi if you copy the map to /usr/share/mcnavi/maps/map.mcm directory (must be named map.mcm). In future it will load all maps in that directory and route between them, but currently it is not implemented.

The usage should be as simple as possible. Some config will be made with text file (see bellow), in GUI only the controls needed for usage, so don't expect complexity of menus like in other navigations. On the other site, MC Navi will be useful for many activities - car navigation, also cycle and outdoor navigation and sport activities.

MC Navi is multithread application, where each task has own thread - GPS runs one, also map render, navigation and GUI.

After successful run the main screen should appear. There is map with two zoom buttons and at bottom information panel. Left is information from GPS, in the middle navigation arrow and distance to next turn and right information about route. It is possible to display 3 menus (in future, actually only 2), clicking at 3 areas on information panel, see the picture:

1 - GPS menu
Meaning of menu items (from top left):
  1. show satellites
  2. move map to bookmark/address
  3. save current position as bookmark
  4. start/stop the chronometer - will measure time and distance, useful for sports activity like running or
  5. exit application
2 - Routing menu
Meaning of menu items (from top left):
  1. switch the vehicle - it is used for routing and for snapping to roads
  2. switch between fastest route with toll roads, fastest or shortest route
  3. switch adding destination or waypoint (waypoints not implemented yet)
  4. show itinerary, clear the route r load and save the route from file
  5. add new destination/waypoint/direction as bookmark or address
  6. add new destination/waypoint/direction from the map
3 - Tracks menu
Meaning of menu items (from top left):
  1. clear the track
  2. load the track and display it on map
  3. start logging of track to GPX format, can decimate points to decrease file size

Some notes to routing. Routing menu has two rows of icons,. First row sets parameters, second makes actions. Routing is done between current position on map and destination. It is possible to set more destinations, second destination routes from previous destination.

After routing to destination, we can adjust the route with waypoints. This is point on map, we want to pass through. This is not the next destination, instead waypoint will be added between start/destination/waypoint and destination/waypoint for nearest route segment. The route will be recomputed to pass the waypoint. This is useful especially for outdoor navigation, if we want to set route on specific roads and positions. After that, the route can be saved for later usage. So you can plan the route at home and use it next day in practice.

Another route point is direction. This is point mark, that we can ride nearby, but is not placed directly on road, so we cannot reach it. Direction mark just gives instruction, that we want go another way.

Routing point is set to bookmark/address or set by hand on map - click-routing. This is useful especially for outdoor - to plan exactly the route with waypoints.

It is possible to configure some parameters in config file located at /usr/share/mcnavi/mcnavi.conf. The description is inside the file. All settings can be overridden with user specific config file located at ~/.mcnavi/mcnavi.conf.

Also it is possible to use bookmarks - this is location where to route. You can add bookmark from within MC Navi, but not to delete bookmarks or reorder them. Also not more than 10 bookmarks is currently accessible. The bookmark file is located at ~/.mcnavi/bookmarks. Every bookmark is on one line in this format:


Latitude and longitude are in millions - that is 50.000 should be written as 50000000


MC Navi is work in progress and is at the beginning of development. It may be unstable and all functionality may not be present although it seems to.

What is wrong (don't report, I know about it):

  • re-routing is not optimal, should be improved
  • inner polygons are redrawn with background color
  • routing could be faster, needs to improve
  • better handling of route directions

Here is todo list in order of importance:

  1. contours
  2. load more maps at once
  3. optimizations

Any questions? Ask in the forum.


That's all for now. More in future.

Changelog in Debian format:

mcnavi (0.3.4) unstable; urgency=low

  * mcnavi: optimized way drawing, cca 50% speed improvement
  * mcnavi: fixed crash with older libgps

 -- Mike Crash   Sun, 27 Feb 2012 23:26:00 +0100

mcnavi (0.3.3) unstable; urgency=low

  * osm2mcm: fixed bad longitude plane sector assignment (copy and paste bug)
  * osm2mcm: improved sea generation
  * osm2mcm: fixed infinite loop in sea generation in some cases

 -- Mike Crash   Tue, 21 Feb 2012 22:01:00 +0100

mcnavi (0.3.2) unstable; urgency=low

  * common: changed map format
  * common: added support for turn restrictions
  * common: changed plane sectors access
  * common: limited maximum distance between nodes to 1 km
  * mcnavi: fixed hard turns on ramps
  * mcnavi: better handling of routing last step to goal node
  * mcnavi: fixed and improved nodes caching
  * osm2mcm: added support for coastlines
  * osm2mcm: fixed duplicated cities
  * osm2mcm: fixed many minor bugs

 -- Mike Crash   Mon, 9 Jan 2012 21:00:00 +0100

mcnavi (0.3.1) unstable; urgency=low

  * common: new map format, using OSM node ID (support more maps in future),
            removed ways section, separated town names from POIs,
            separate text section, all text in town names, POIs and addresses
            links to it, can show addresses on map, currently removed
            cycle and tourism routes
  * common: new map types can be displayed - address, boundary, icecream,
            powerline, powertower, powerstation, waterpark, stadium,
            swimmingpool, sea, ...
  * osm2mcm: changes in DB schema and conversion to new map format
  * mcnavi: new map format with faster map file reading
  * mcnavi: added loading and saving of routes as modified GPX file
  * mcnavi: added loading of GPX track logs
  * mcnavi: faster routing
  * mcnavi: routing on roundabout junctions

 -- Mike Crash   Fri, 2 Sep 2011 21:00:00 +0100

mcnavi (0.3.0) unstable; urgency=low

  * common: new map format, removed segments section, new nodes section,
            different plane sectors with zoom aka plane size parameter
  * osm2mcm: completely rewritten to use MySQL database instead of memory
  * mcnavi: rewriten reading of maps and all related code

 -- Mike Crash   Wed, 8 Dec 2010 21:00:00 +0100

mcnavi (0.2.14) unstable; urgency=low

  * mcnavi: can delete single items from itinerary
  * mcnavi: can move itinerary list up and down
  * mcnavi: improved turn marking
  * mcnavi: added exit button
  * osm2mcm:

 -- Mike Crash   Wed, 13 Oct 2010 21:00:00 +0100

mcnavi (0.2.13) unstable; urgency=low

  * mcnavi: better rounding in distance (fix for chronometer distance?)
  * mcnavi: new itinerary window

 -- Mike Crash   Mon, 20 Sep 2010 20:40:00 +0100

mcnavi (0.2.12) unstable; urgency=low

  * mcnavi: fixed bad snapping to segments
  * mcnavi: added separate itinerary, faster route lookup
  * mcnavi: experimental "directions" itinerary
  * mcnavi: added "click routing"
  * mcnavi: limited planes for larger zooms (was slowing down rendering)
  * mcnavi: fix for source and destination on the same oneway road
  * mcnavi: fix for wrong routing backwards on first way node
  * mcnavi: draw logged track, no track load yet
  * mcnavi: added track delete button

 -- Mike Crash   Sun, 8 Aug 2010 20:30:00 +0100

mcnavi (0.2.11) unstable; urgency=low

  * added support for toll roads
  * mcnavi: removed toll switch from route menu
  * mcnavi: added toll to route mode
  * mcnavi: added new switch waypoint/destination to route menu
  * mcnavi: replaced route menu items "route from to" and "route to"
            with "stop route" and "route to address"
  * mcnavi: itinerary routing - can set more destinations
  * mcnavi: waypoints not used yet

 -- Mike Crash   Sat, 3 Jul 2010 21:45:00 +0100

mcnavi (0.2.10) unstable; urgency=low

  * added support for orchards (new map needed)
  * mcnavi: fixed crash on invalid speed value (routing on cycle route)
  * mcnavi: fixed routing of car on cycle routes

 -- Mike Crash   Tue, 8 Jun 2010 21:00:00 +0100

mcnavi (0.2.9) unstable; urgency=low

  * osm2mcmap: added link from way to street name
  * mcnavi: draw cycle and tourist ways
  * mcnavi: optimized routing for cycle and MTB
  * mcnavi: show route distance and time after routing
  * mcnavi: fixed computing of route time (only speed of first way used)
  * mcnavi: fixed crash when reached destination
  * mcnavi: draw the street names (new map needed)

 -- Mike Crash   Mon, 7 Jun 2010 20:00:00 +0100

mcnavi (0.2.8) unstable; urgency=low

  * mcnavi: added GPS menu with satellites, move and bookmark icons
  * mcnavi: added move map to position
  * mcnavi: added satellites
  * mcnavi: added finish flag
  * mcnavi: fixed resize of controls
  * mcnavi: disabled rerouting if cannot snap on road

 -- Mike Crash   Sun, 9 May 2010 19:00:00 +0100

mcnavi (0.2.7) unstable; urgency=low

  * osm2mcmap: fixed crash in boundaries if country boundary not found
  * osm2mcmap: fixed crash in pois if name lenght > 127
  * osm2mcmap: extended char conversion to ascii with Polish characters
  * osm2mcmap: use roundabout flag in ways instead of oneway only
               (will be used for navigation on roundabouts in future)
  * osm2mcmap: roundabout defaults to oneway road
  * mcnavi: added bookmarks, read only file ~/.mcnavi/bookmarks
  * mcnavi: moved user config file to ~/.mcnavi/mcnavi.conf

 -- Mike Crash   Sun, 4 Apr 2010 20:52:00 +0100

mcnavi (0.2.6) unstable; urgency=low

  * osm2mcmap: new map format version 2
  * osm2mcmap: added pitch and playground to map features
  * osm2mcmap: import cities first
  * osm2mcmap: allow cities in the same country with the same name and
               rename it by boundary data or nearest larger city
  * mcnavi: check that home position is on the map
  * mcnavi: added chrono and distance meter (good for sports)
  * mcnavi: improved gpx logging
  * mcnavi: using gpsd hook function
  * mcnavi: rerouting will ignore pass if length too short
  * mcnavi: created global config file, and will read ~/.mcnavi.conf also

 -- Mike Crash   Thu, 1 Apr 2010 20:00:00 +0100

mcnavi (0.2.5) unstable; urgency=low

  * mcnavi: added track logging with points decimation
  * mcnavi: added re-routing based on drive direction for cars and trucks
  * mcnavi: use access tags on routing
  * mcnavi: changed visited nodes to turn ways, so routing allowed
            in different directions, prepared for turn restrictions
  * mcnavi: better snapping to route, better consecutiveness (still not perfect)
  * mcnavi: added train vehicle for snapping to rail
  * mcnavi: fixed crash in gui_address if address not found
  * mcnavi: fixed drawing of ways from adjuscent sector

 -- Mike Crash   Sun, 21 Feb 2010 19:42:00 +0100

mcnavi (0.2.4) unstable; urgency=low

  * osm2mcmap: recognize addresses based on boundary data
  * osm2mcmap: added support for boundary relations
  * osm2mcmap: tags are stored dynamicly - less memory usage
  * osm2mcmap: boundaries uses multipolygons
  * osm2mcmap: can save and load boundaries data
  * osm2mcmap: process multipolygon planes
  * mcnavi: added separate thread for gps
  * mcnavi: support new gps version 3 api
  * mcnavi: multipolygon planes are rendered, redraw inner polygon with background color

 -- Mike Crash   Wed, 10 Feb 2010 10:00:00 +0100

mcnavi (0.2.3) unstable; urgency=low

  * navigation to addresses
  * fixed memory cleanup
  * improved navigation marks
  * added bike and walking navigation
  * sorted segments by way type to speed up reading of large zooms
  * changes in map container
  * first public preview

 -- Mike Crash   Sun, 3 Jan 2010 10:00:00 +0100

mcnavi (0.2.2) unstable; urgency=low

  * first version with GPS support
  * car navigation
  * separate thread for navigation
  * navigation marks
  * can navigate to cities
  * changes in map container

 -- Mike Crash   Thu, 30 Nov 2009 10:00:00 +0100

mcnavi (0.2.1) unstable; urgency=low

  * separate thread for map render
  * many optimisations in map convertor osm2mcmap
  * changes in map container

 -- Mike Crash   Tue, 17 Nov 2009 8:00:00 +0100

mcnavi (0.2) unstable; urgency=low

  * new map container, addresses not tested

 -- Mike Crash   Thu, 3 Nov 2009 19:00:00 +0100

mcnavi (0.1) unstable; urgency=low

  * test version with sqlite database

 -- Mike Crash   Sat, 30 May 2009 10:26:35 +0100


Powered by phpBB-nuke. All rights reserved. Stránka generována 0.343 vteřin, 25 SQL dotazů.