Posted on 21 February 2012 by Thomas Schöps

Since the release of the alpha version of OpenOrienteering Mapper some progress was made, so it is time again to present the latest advances. One thing I’m particularly happy about is that various developers already contributed patches to the program. Most notably Pete Curtis joined the project and has been doing great work on file import/export. This of course includes the most requested feature, conversion to and from ocd files (currently, version 7/8 only). You can see a work-in-progress screenshot of the ocd import here:

Other than that, work is going on to implement the essential map edit operations. Since the release of the first alpha version, the following features have been added:

  • Writing and editing text objects

  • Adding / Removing points from paths with the edit tool

  • The rotate tool

  • The path connect tool

And, of course, a lot of bugs have been fixed. The release of the next alpha version is planned when ocd import (and maybe export) are working well.

Back to top

Posted on 10 February 2012 by Thomas Schöps

What is OpenOrienteering Mapper? OpenOrienteering Mapper is an open source cartography program which is specially aimed at drawing orienteering maps. It is intended as a free alternative to the current standard program for this task, OCAD. Its main advantages compared to it are:

  • Open Source: the program is completely free and I will never demand money for it. Every programmer can improve it.

  • Cross-platform: the program currently works on Windows, Mac OS X and Linux. An Android version is planned.

Status I am happy to announce the release of the first alpha version today. This version is primarily intended for interested developers and adventurous users who like to try new stuff and give feedback. Though it would be possible to draw most parts of an orienteering map with this alpha version, many comfort functions are missing and the program has not been tested extensively, so I do not recommend to start any mapping projects with it yet.

Download

  • Updated on Feb. 13th: added Mac port, which was kindly provided by Russell Porter
  • System requirements: Windows (XP or newer), Mac OS X or Linux (compile yourself, needs cmake and a recent Qt)
  • Usage hints: there is no need to install anything, just start the contained executable. The map can be moved by dragging the mouse with the middle button (mouse wheel) held down and zoomed by using the mouse wheel. The rest should be more or less clear or “OCAD-like”. Loading ocd files is not supported yet, but it is planned.

Binaries for Windows: Mapper-alpha1.zip

Binaries for Mac OS X: Mapper-alpha1-mac.zip

Source for Windows and Linux: Mapper-alpha1-src.tar.gz

Screenshots

(Download map file, sample 600 dpi image exportsample pdf export)

Current feature overview

  • Definition of all symbol types relevant for orienteering maps: point, line, area, text and combined symbols

  • Loading and georeferencing of raster image and gpx track templates

  • Basic drawing and editing tools for points and paths (lines, areas and combined symbols) with live preview

  • Map printing, direct PDF and raster image export

  • Comes with ISOM 2000 foot-o symbol set (except overprinting symbols)

Plans The next goal will be to reach a state where the program can be recommended for mapping projects. I will probably release updated alpha versions from time to time. As soon as this is done, I plan to attempt the Android port, which should get an adapted user interface and make use of digital compasses and GPS devices.

You can find a detailed roadmap here. There is also a lengthy design document which describes some parts of the planned user interface of the desktop version.

Contributing If you like the project, you are welcome to contribute to it. Up to now, I worked on the project alone, but there is a lot to do and I’d appreciate any help. You do not need to be a programmer to help! Here are some ideas:

If you are not a programmer …

  • Try the alpha version and give feedback. Report any bugs you find to the bug tracker. Please make sure that the bug you report does not exist already. Currently the tracker contains all known bugs and the features planned for the first milestone.

  • Complete the symbol sets that come with the program. Currently there is only a (big) part of the ISOM 2000 symbol set. Suggestions are to complete this set, have a look at its color priorities and possibly suggest enhancements, to build the ISSOM 2007 sprint symbol set, or to build a school-o symbol set.

  • Write general documentation, “tips of the day”, or the in-application help.

  • Spread the word!

If you are a programmer …

The program is implemented in C++ using Qt. You can get the latest source from the git repository like this:

 git clone git://git.code.sf.net/p/oorienteering/code oo-mapper

Again, some ideas:

  • Pick any item from the bug tracker.

  • Evaluate the Necessitas (Qt on Android) project, design and implement a mobile user interface for Android.

  • Or anything else that you find useful ;-)

In any case, be sure to send me an e-mail or leave a comment here in case you want to contribute!


If you want to stay updated on new developments, I recommend to check back here regularly or to read the RSS feed.

Back to top

Posted on 05 February 2012 by Thomas Schöps

In the meantime I built the ISOM 2000 foot-o symbol set in OpenOrienteering Mapper, except the overprinting symbols, because there is no course setting support planned for the near future (I recommend Purple Pen for that task). All of the symbols should display correctly, apart from any mistakes. Working with the program to create the symbol set allowed me to find and fix a lot of bugs and usability problems.

In addition to that, it is now possible to draw point and path objects on the map and there is a basic edit tool to adjust their control points. All of the tools show a neat live preview of the objects that are drawn. You will soon be able to try it yourself easily because I plan to release a first preview version for Windows the next days (well, I think that I should at least try to counteract the announcement of the OCAD 11 beta a bit ;-) ). There are only a few things missing that I want to add beforehand. For now, here are two screenshots:

Back to top

Posted on 30 January 2012 by Thomas Schöps

Initial support for line symbols is now finished. In theory, all types of lines described in the orienteering map standards should be supported. On the other hand, there are still some possible setting combinations which do not give sensible results. Here are a few screenshots showing different possibilities:

One thing to note about the line symbols is that the orienteering map standards just specify ‘ideal’ lengths for the dashes and breaks of the line types. There are no recommendations for how to handle the case where these ideal lengths do not add up to fill a line exactly. The simplest way would be to use the ideal dash and break lengths and just cut the line off where it ends. This will look bad at one line end in the most cases, so a solution which scales the dashes and/or breaks to fit into the line should be preferred.

OpenOrienteering Mapper currently does it like this:

  • Only dashes are scaled, the breaks are always of the same (ideal) length.

  • When a dashed line segment is created, to determine the number of dashes to show, first the dash counts for the two ideal line lengths which are closest to its actual length are calculated. From this, the deviation of the ideal length of the dashes themselves when scaled into the real line is calculated for the two possibilities and the number of dashes where this deviation is smaller is chosen. In other words, when determining the number of dashes for a line, the program tries to minimize the deviation from the ideal dash length.

  • Special case: if the length of the segment in question is smaller than the length of the ideal segment with two dashes (or dash groups) minus the maximum amount of deviation from the ideal dash length (calculated from the point where the dash (group) count switches from two to three) for every dash, the line is considered too short for dashes and displayed as a continuous line.

This seems to look okay in most cases (as can be seen in the screenshots above). But in the case where multiple dashes are grouped together (with the intent of having a different break length inside groups than outside), the length of the line it takes until the dashes show up feels rather long, as can be seen here:

This of course assumes that the system works correctly, which I am not completely sure about ;-) It would be possible to specify an arbitrarily lower limit for the dashes of lines with dash groups. But that is the problem I see with it: it would be arbitrary.

Does this system sound reasonable? Do you have any ideas for improving it? Feel free to leave a comment.

Back to top

Posted on 21 January 2012 by Thomas Schöps

Recently, I’ve made some good progress on the symbol types, so it’s again time to present the newest features here. The current status is that all planned symbol types except lines are now more or less finished, this means points, areas, texts and ‘combined’ symbols. It does not mean that it is possible to draw objects with these symbol types on the map yet - the drawing tools will be another big piece of work - but it is now possible to define the various symbols having these symbol types, so it is almost possible to start building the IS(S)OM symbol sets.

Because a picture says more than a thousand words, here is a screenshot of the area symbol editor:

It shows a test symbol with black background and various fill patterns consisting of line symbols and rows of point symbols. The upper left part of the window contains the general symbol settings, in the lower left part the area settings can be adjusted. The preview in the middle shows the area symbol at the top and all point symbols which appear in its fill patterns at the bottom. These point symbols can be edited with the point symbol editor on the right.

Next is the text symbol settings window:

I couldn’t resist ;-) Apart from that, the settings contain the standard font settings one would expect.

The last ones are the combined symbols:

This symbol type allows to combine two or more line or area symbols into a new one. For example, with this a building outline and a building area filling could be combined into a single ‘building’ symbol which makes it more convenient to use.

And finally, there is now also a symbol browser where the defined symbols can be selected:

The tooltip shows the symbol number, its name in bold and after F1 has been pressed the symbol description is blended in at the bottom. In contrast to OCAD, the symbol icons used here are not separate raster images, instead they are generated directly from the symbol properties which makes them scalable and removes some effort from defining symbols. If it should turn out that this leads to too indistinguishable icons, some settings for them could be introduced.

That’s it for now. My plan for the next developments looks like this: first, I want to finish the line symbols and some basic drawing tools, so objects can be placed on the map. Then, I want to create a first preview build of the program for Windows which makes it easier for you to try it out and give feedback. Let’s see how long this will take. Bezier curves in combination with dashed lines having dashed border lines whose dashes need to be synchronized on both sides could be really painful ;-)

Back to top