OpenOrienteering / mapper

OpenOrienteering Mapper is a software for creating maps for the orienteering sport.
https://www.openorienteering.org/apps/mapper/
GNU General Public License v3.0
396 stars 106 forks source link

Conditional Symbols/Properties #610

Open mlerjen opened 8 years ago

mlerjen commented 8 years ago

I propose the introduction of symbols with conditional parts and/or conditional properties. For example, if a features length is shorter than a defined length or an an area is smaller than a defined number of m2 an additional symbol will shine or a a different property (e.g. color) will be used. issue symbol 01 fig. Conditional symbols (cliff with color property by length, stone and road with conditional symbols by gap)

Additionally there also should be the option to use a contextual condition triggering such a conditional part/property. For example, if another feature is placed closer than x to the feature in questions, a conditional feature will show up.

Conditional parts/properties should be switchable on/off for every symbol and for all symbols for the case that they are used as helper symbols. (a map state and a helper state for each symbol).

Background for this issue: Main idea is to promote proper cartography by visualizing cartographic conflicts live. The other aspect is to combine the regular with its helper symbol to tackle tasks like the following in an efficient way:\ ISOM201X**: 208 Boulderfield ... The maximum center to center distance between neighbouring triangles is 1.2mm. The minimum center to center distance between neighbouring triangles is 0.75mm issue symbol 02

dominikzalewski commented 8 years ago

Excellent idea. Crossed my mind once, as I was reading tips at when the program starts. Hope it finds it way into the trunk in some near future.

dg0yt commented 8 years ago

The implementation of the symbols is quite complex already, and some simple things such as the "orienteering course" are still difficult to achieve. This feature request will add significant complication.

As far as quality checking is the main purpose, I would like to point to: