On 23.4.2008, at 10:32, marco corvi wrote:

maps hierarchies to organize the scraps, and select/unselect to 

specify what to export


Two section regarding organization of data from therion book:

m.

How to enter centreline?

The basic building block is the centreline command. If the cave is larger than a few
meters it's a good idea to split data in more  les and separate centreline data from map
data.
We usually use one *.th  le containing centreline per survey trip. It's handy to start with
an empty template  le as shown bellow, where dots will be replaced with appropriate
texts.
37
encoding ISO8859-1
survey ... -title "..."
centreline
team "..."
team "..."
date ...
units clino compass grad
data normal from to compass clino length
... ... ... ... ...
endcentreline
endsurvey
To create a unique namespace the centreline command is enclosed in survey ... end-
survey command. It's useful when the survey has the same name as the  le which
contains it.38 The points will than be referenced using @ character|see the survey
command description.
For really large caves it's possible to build a hierarchical structure of directories. In such
a case we create one special  le called INDEX.th which includes all other *.th  les from
given directory and contains equate commands to de ne connections between surveys.

How to draw maps?

The most important thing is to devise division of the cave into scraps. Scrap is the basic
building block of the map. It's almost always a bad idea to try to  t each scrap to corresponding
*.th  le with centreline from one survey trip. The reason is that connections
between scraps should be as simple as possible. Scraps in general are independent on
centreline hierarchy so try to forget the survey hierarchy when drawing maps and choose
best scrap joins.
We usually insert maps in the last-but-one level in survey hierarchy.39 Each scrap may
than contain arbitrary part of any survey in the last level of hierarchy. For example,
there is a survey main which contains surveys a, b, c and d. Surveys a { d contain
centreline data from four survey trips and each of them is in a separate  le. There is a
map main_map which contains scraps s1 and s2. If the main_map is located in the main
survey, scrap s1 may cover part of the centreline from survey a, complete survey b and
part of c; s2 will cover part of the a and c surveys and a complete d survey. The survey
stations names will be referenced using @ symbol (e.g. 1@a) in the scraps.40
Scraps are usually stored in *.th2  les. Each  le may contain more scraps. To keep
data well organized, we have some naming conventions: in the  le foo.th2 all scraps are
named foo_si, where i is 1, 2 an so on. Cross-sections are named foo_ci, lines foo_li
etc. This helps a lot with large cave systems: if some scrap is referenced, you immediately
know in which  le it had been de ned.
Similar to *.th  les, there may be one  le INDEX.th2 per directory which includes all
*.th2  les, de nes scrap joins and maps.
When drawing scraps you should check if the outline is properly de ned: all lines creating
the outer border should have -outline out option; all lines surrounding inner pillars -
outline in option. Scrap outlines can't intersect themselves|otherwise the inner side
of the scrap can't be determined. There are two simple tests that scrap outline is correct:
  there is no METAPOST warning \scrap outline intersects itself"
  when you set passage  ll to any color (color map-fg <number> option in layout),
you may see what Therion considers to be inside of the scrap.

38 E.g. survey entrance in the  le entrance.th.

39 Remember that surveys create namespaces, so you may reference only objects in the given survey
and all subsurveys.

40 If you include maps in the top-level survey, you may reference any survey station in any scrap,
which is very flexible. On the other side you have than use longer names in stations references, like
3@dno.katakomby.jmn.dumbier