Bug in prefix hierarchy handling?

David Loeffler dl267@hermes.cam.ac.uk
Fri, 16 Jan 2004 15:22:02 +0000 (GMT)


On Fri, 16 Jan 2004, Cooper, Ben wrote:

> Interesting - but it's not you - the files are OK.
> Notice also that the .err file has it right, but the .3d representation on
> screen is confused.  Problem with caverot?

I think it's a cavern error, as the incorrect naming is common to aven,
3dtopos (inspecting the .pos file in a text editor), caverot (if you say
so) and xcaverot. So I deduce the .3d file itself is at fault.

> I've noticed that the problem comes and goes depending on whether or not a
> loop exists in the survey data.  If you break the two loops, the problem
> goes away.  To see what I mean, comment out the two lines that join the two
> loops, as follows:
>
> In file 204.svx, comment out the equate of insignificant2.6 and
> micturation.8 as follows:
> ;*equate trunk.insignificant2.6 domes.micturation.8
>
> In file trunk/insignificant2.svx, rename second occurrence of station 0 to
> station 8, and add *equate, and then comment out the *equate to break the
> loop, as follows:
> 7	8	5.04	327	-48.5
> ;*equate 8 0
>
> It is then very easy to experiment in connecting or disconnecting these two
> loops.  With either loop connected, the strange trunk.trunk.trunk problem
> appears, but with both loops broken, the naming is as expected.  You can
> also visually see the loop closure error - very large (c. 30m) between
> insignificant2.6 and domes.micturation.8!

The huge loop closure error is in fact a mistake of mine - I started with
an error somewhere in 7km of survey, and gradually hacked it down by first
deleting irrelevant bits and then replacing traverses with single long
legs. I probably typoed while doing the latter - our surveying isn't quite
that bad!

Anyway, I had a further fiddle along the lines you suggested, and the
problem still occurs for the following 5-station toy survey:

*begin 204

  *begin midlevel

    *export 110_bidet_b.2

    *begin 110_bidet_b
      *export 2
      1	2 1.00 0 0
    *end 110_bidet_b

  *end midlevel

  *begin trunk

    *export nopainnogain.2

    *begin nopainnogain
      *export 1 2
      1 2 1 90 0
    *end nopainnogain

    *begin insignificant2
      *export 0
      0 1 1 300 0
      1 2 1 180 0
      2 0 1 60 0
    *end insignificant2

    *equate nopainnogain.1 insignificant2.0

  *end trunk

  *equate midlevel.110_bidet_b.2 trunk.nopainnogain.2

*end 204