Colouring elevations

With elevations and extended elevations, it is possible for passages to be stacked in front of each other (the same as they may appear below each other in a plan survey).

For plans, colouring is as simple as asking Therion to colour scraps by altitude (as long as you chose your scrap locations wisely). For elevations, there is no equivalent. Some may choose to leave elevation views uncoloured. Some may choose to use a single foreground colour for elevations:

color map-fg [100 100 70]

Alternatively, colour could be ignored, and you could use map offsets to shift passages out of the way of each other - but that's not what this page is here for!

Still others may prefer to simply colour by scrap:

color map-fg scrap

This approach may leave the viewer wondering if the colours have any special meaning, especially as they seem to change in random places - wherever scraps change. In addition, the random colouring may end up with overlapping scraps being given the same colour. You can also manually colour each map using its color attribute, though this quickly becomes unmaintainable if you need to change colours later (such as when a new passage is found that requires you to adjust all the surrounding colours).

However, it is possible to make an equivalent of “color map-fg altitude” for elevations, although it must be done somewhat manually. This has been the most effective approach in personal cases, and should work very well for many surveys.

Colouring by plane

Firstly, for each survey, decide which scraps belong in which “plane” - scraps in the foreground, behind the foreground, behind that, behind that, and the background. Consider the final survey, and the number of “planes” you might want to have throughout the whole survey. 7 is a good number, but you can increase or decrease, depending on the requirements for your cave. It helps to have a master “main plane” idea - an important slice through the cave where the major passages might be (though it really doesn't matter exactly which passages end up in it, it's just where you will start counting). Consider whether you want passages at different levels to use the same colour bands as the passages directly below them, or whether each level of passages should be coloured independently of the passages in the level below it.

Create a “map” for those scraps that will be in your main plane, eg. “mainplaneME270”. Put in any scraps that will be in that plane, using “break” as needed to put the relevant scraps in the right order, front to back, within that plane. Now create another “map” for the stuff in the first plane in front of it, eg. “foreplane1SE270”. Put all relevant scraps into that map. Then create maps and increase the number for each plane after that. Eg. “foreplane2SE270”, “foreplane3SE270”. Now do the same for each plane behind the main plane, eg. “backplane1SE270”, “backplane2SE270”, “backplane3SE270”. For each plane, choose a map name that will not conflict with any other map names for other projections - this is why MapElevation270degrees (“ME270”) is used in each map name here. Depending on how the passages in your cave are arranged, it is possible that a subsurvey may have no scraps within a certain plane. If not, then simply ignore that map - it does not need to be created.

map foreplane3ME270 -projection [elevation 270]
  wiggleSE270
endmap
map foreplane2ME270 -projection [elevation 270]
  overarchSE270
endmap
map foreplane1ME270 -projection [elevation 270]
  pitpassageSE270
endmap
map mainplaneME270 -projection [elevation 270]
  entranceSE270
  boulderrun270
  break
  boulderloopSE270
endmap
map backplane1ME270 -projection [elevation 270]
  deadendSE270
endmap
#map backplane2ME270 -projection [elevation 270]
#endmap
#map backplane3ME270 -projection [elevation 270]
#endmap

(You can then, if you would like, also have a combined map that links all of these plane maps together for this survey - it is unlikely that you will need a coloured elevation for a cave consisting of only one survey file though, so the separate plane maps are much more useful as we step up the survey hierarchy. If you do choose to use a combined map for one survey, use “break” between each map name, to force them to be rendered with the correct transparencies. This combined map is only useful if you ever wanted to render this survey separately, for some reason. It is not used for colouring the overall survey unless there is only one survey file involved.)

Create similar plane maps for every other survey that you want to appear in your final survey.

Parent surveys

Step up through each parent survey that links the child surveys. At each step in the hierarchy, create a similar set of maps, but this time including the maps from the child surveys. So “mainplaneME270” might include “mainplaneME270@childsurvey1” and “mainplaneME270@childsurvey2” - assuming that they are in the same plane as each other. It does help to have names that match each other (they will not conflict with child surveys, since the names are tied to each survey), but there may be some reason that this might not be possible for you, such as a new passage which needs a new plane, and it being too much effort to rename all the planes in all other surveys. (Again, at each stage you can also optionally create a combined map that links these maps, but that would not used for the final survey.)

map foreplane3ME270 -projection [elevation 270]
  foreplane3ME270@dryseries
endmap
map foreplane2ME270 -projection [elevation 270]
  foreplane2ME270@dryseries
  foreplane2ME270@frozenjoint
endmap
map foreplane1ME270 -projection [elevation 270]
  foreplane1ME270@dryseries
  foreplane1ME270@frozenjoint
  foreplane1ME270@lakes
endmap
map mainplaneME270 -projection [elevation 270]
  mainplaneME270@dryseries
  mainplaneME270@lakes
  mainplaneME270@escapeway
endmap
map backplane1ME270 -projection [elevation 270]
  backplane1ME270@lakes
  backplane1ME270@escapeway
endmap
map backplane2ME270 -projection [elevation 270]
  backplane2ME270@escapeway
endmap
map backplane3ME270 -projection [elevation 270]
  backplane3ME270@escapeway
endmap

Once you reach the top level of your survey, create the final set of plane maps. Include all plane maps for the child surveys, as before. Now create the overall survey map. Give it a useful name, set its projection as needed. Then include all of the plane maps within the survey, separated by “break”. When you render the map without any colouring, it should now display correctly, with the scraps in all surveys and subsurveys, layered in the right order.

map projectedsystemME270 -projection [elevation 270]
  foreplane3ME270
  break
  foreplane2ME270
  break
  foreplane1ME270
  break
  mainplaneME270
  break
  backplane1ME270
  break
  backplane2ME270
  break
  backplane3ME270
endmap

Colouring the maps

When you ask Therion to colour by map in your thconfig's layout, it will now display all the submaps in random colours:

color map-fg map

This is not currently useful. However, you can use a lookup in your thconfig to control which maps get which colours.

lookup map:elevation270 -title "Colour key"
  foreplane3ME270@mysurvey [100 40 40] "Front"
  foreplane2ME270@mysurvey [100 70 0] " "
  foreplane1ME270@mysurvey [100 100 0] " "
  mainplaneME270@mysurvey [60 90 60] " "
  backplane1ME270@mysurvey [0 100 100] " "
  backplane2ME270@mysurvey [40 40 100] " "
  backplane3ME270@mysurvey [70 0 100] "Back"
endlookup

By selecting the maps that are within the top-most survey, all scraps within them will get their selected colours, resulting in a rainbow colouring of the planes for the entire survey. Having all of the colours controlled by a single file like this makes it much easier to make adjustments later if needed.