Prev Up Top Next Contents

3.5 Joining scraps

When the scraps are drawn in the same map file (and possibly with the same background image) it is possible to start the lines of a scrap where those of the other end, so that there are no problems when they are assembled to compose the cave map.
However scraps are often drawn independently and they must be joined together in the final map. The join command tells therion how to connect the lines of two scraps.
The sytax of the command has two forms: it can take either the names of the scraps or the name of the line points (usually "line:0" for the starting point and "line:end" for the end point). Often the first syntax is good enough,
   join scrap1 scrap2
because therion can figure out how to join the scraps according to the survey stations. This is especially true when the scraps contains few outline lines.
Notice that you can join any line point, not just the endpoints (although it is easier with the latter because you do not have to count the points to get the index). You can also join points of any line, not just "wall" lines [M. Sluka 2006.11.26].
An advice: try to split the cave map in scraps that join where the cave is simple, possibly straight, and with no features. Therefore avoid join at crosspoints, and try to make the joins in the middle of a gallery, in a place where there is no symbol. Above all avoid joins that might split an area symbol (eg, water pool). Unfortunately, cave surveys have the tendency to end at crosspoints, and it happens to draw scraps that end (and therefore must join) at crosspoints.
The following example shows the usage of the join command, and addresses the case of a join at a crosspoint. The cave data are fictional: the centerline is composed of two loops, and there are three scraps: a scrap for each branch of the loops.


Join (map editor)
Fig. 38. Join (map editor)

The above figure shows the map editor with the ".th2" file containing the three scraps. xtherion displays the inactive (ie, not selected) scraps with a yellow color [thbook 29].
To properly join the scraps the survey data file must have the join commands for the endpoints of the lines of the scraps. The join commands are written inside the survey block, but outside the centerline block.
  input test1.th2
  join s1_l1:end s3_l1:end
  join s1_l2:end s2_l2:0
  join s2_l1:0 s3_l2:0
  join s2_l1:end s3_l2:end
  join s2_l2:end s1_l4:end
  join s3_l1:0 s1_l3:0
The outcome of the processing is shown in the figure below. The intermediate steps of the processing are display using the "debug" option of the "layout" ("-layout-debug on"). The position of the scraps after the linear transformation that takes the "station" points as close as possible to the stations of the survey is shown in red. The position after the non-linear transformation that takes the "station" points on the survey stations is shown in blue. This is the map before the joins. The result after the join is shown in black. This is the final map.


Join
Fig. 39. Join

The final map looks good. There is however a mistake. If we color the cave outline (for instance with the layout option "-layout-color mag-fg altitude"), the two regions of the joins have a white triangular hole. Infact therion completes the contour of the outline of each scrap with a segment at both ends. To fill the triangular holes, the scrap outline should extend a little beyond these segments when the scraps are joined together. Unfortunately therion does not do this.
A solution to this problem is to avoid scrap joins at crosspoints of three or more passages. In other words, avoid joins at 'Y' junctions and place them where the cave passage is linear.
Another solution is to add to a scrap a small piece of the cave wall opposite to the scrap end. In this way the junction becomes a 'T' (the scrap with the added piece of wall is the vertical bar, the other two scraps are attached on the opposite sides of it, without joins between them).
A third solution is to add to a scrap a point of type "bedrock", beyond the end, and a (zero-length) line of type "wall" from this point to itself (Ctrl-L and click twice on the point). Finally you must add the id of the point in the list of the join command that links the lines of the other two scraps. Without the "wall" line (even if this has zero length) the triangular hole is not removed. If the line is not of type "wall", you must add the option "-outline out" (or "-outline in") to specify that it belongs to the contour of the scrap. Contours with "-outline in" must not touch the contour with "-outline out".

3.5.1 Joining maps

When the cave project is large you need to split the cave map in smaller maps. You work on these smaller maps joining their scraps, and finally you must put these maps together to form the whole map of the cave.
As is often the case the lines from a scrap extend into the nearby map, and you need to edit them in order to obtain a satisfactory join. Open the two scraps you want to join in two xtherion map editors, so that you can easily edit both of them until you are satisfied with the result.

3.5.2 Marking line points

The line command mark lets you assign keywords to line points. For instance mark N_19 assigns the keyword "N_19" to the previous line point. Then you can use point keywords instead of indices in the join command. For example
  join left_wall@top_passage:N_19 left_wall@bottom_passage:C_2

3.5.3 Splitting a scrap

To split a scrap in two scraps, you can use the xtherion map editor objects control. First insert a new scrap with the "Insert scrap" button, name is properly, and assign a projection to it. The scrap command (and its "endscrap") will be placed at the end of the object list.
Next select in the drop-down list nearby the "MoveTo" button the beginning or the end of the new scrap you just added. Next click with the mouse on the drawing items you want to move to the new scrap, inside the canvas window. The item you click on will be highlighted in red. Click on the "MoveTo" button: the item will be placed either at the beginning or at the end of the new scrap. Repeat for all the items you want to place in the new scrap.
When you move an item, xtherion shifts the selection to another one. If this is another item you want to move to the new scrap, just click the "MoveTo" button. Otherwise you must select the item to move by yourself.
When you are done save the file. If you want to split the scraps into two different files, open it with a text editor (for example xtherion text editor), cut the commands in one scrap block and save (with a suitable filename), then cut the other scrap and save (with another filename). You can also cut the background images that are not necessary for the scrap left in each file.

3.5.4 The examples

Line-point mark option

therion users - Thu May 17 18:43:43 2012
Prev Up Top Next Contents

This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License.