Interactive Extended Elevations

Michael Lake Mike.Lake@uts.edu.au
Tue, 04 Jul 2000 07:42:21 +1000


Olly Betts wrote:

> Phil Underwood writes:

> >*begin pedant
> >1 2  4.51  217 +05
> >1 2  4.49  216 +04
> >1 2  4.50  218 +05
> >*end pedant
> >
> >How would one refer to the second leg in this file?

This is how one can do this with an XML based format.
I presume that there can't be three 1->2 legs all different
as above? I've renamed the from stations to 2a, 2b and 2c.

<CAVESURVEY>
<SERIES name="pedant">
<STN name="1">This is the big stal in the middle of the
passage"</STN>
<STN name="2a"/>
<STN name="2b"/>
<STN name="2c"/>
<SHOT from="1" to="2a" dist="4.51" azim="217" elev="5"/>
<SHOT from="1" to="2b" dist="4.49" azim="216" elev="4"/>
<SHOT from="1" to="2c" dist="4.50" azim="218" elev="5"/>
</SERIES>
</CAVESURVEY>

To refer to the 2nd leg we use an XPointer (I don't have my
XML book here with me so the syntax may be a littel wrong): 

<LINK xml:link="mysurvey.xml#root().child(all, shot, to,
"2b")"/>

This specifies that we look in the survey file mysurvey.xml
and we go to the root element which is the CAVESURVEY
element. Then we select all the children that are SHOT
elements which have an attribute named "to" with value="2b". 

OK OK it's verbose but you can refer to specific legs or
stations in one or more files very precisely.

> Hmm, tricky.  Would it be acceptable to say that such groups of legs must
> always be broken together?  I can't see how it would be useful to break them
> individually (although it does seem a bit icky to lump them together).

You could also link to groups of elements or shots or
stations by extracting all shots with a particular attribute
(eg all shots that come from station 1 ie with from="1").
XML processing software then can pass this on to the
extended elev processing code.

> >Could you send me a brief explanation of what a node colouring algorithm
> >is? I'm guessing that it probably doesn't actually have much to do with
> >red,green, blue stuff.

> Give each station a flag and set all these flags to false.
<STN name="2a" extendedElevReverse="0"/>

For colouring you set that up in a XSL (extensible style
language) style sheet which I have not yet got around to
understanding. 
 
> For each break point, colour the station on the far side of the break point
> by setting its flag.  Then recursively do the same for each of its unflagged
> neighbours (unless connected only by a broken leg).  If your colouring
> reaches the station on the near side of the break point then you have a
> problem.
> 
> The flags are really just an easy way to stop you from wandering round in
> circles.

This is getting very complicated for me to understand. We
don't do much EE's in Aust.

Mike

-- 
--------------------------------------------------------------------
Michael Lake
University of Technology, Sydney
Email: mailto:Mike.Lake@uts.edu.au Ph: 02 9514 1724 Fx: 02
9514 1628 
URL: http://www.science.uts.edu.au/~michael-lake/
Linux enthusiast, active caver and interested in anything
technical.
--------------------------------------------------------------------