[Therion] Add Coordinate data back at last level of Survey Hierarchy?

Olly Betts olly at survex.com
Thu Nov 15 00:24:17 CET 2018


On Wed, Nov 14, 2018 at 10:59:44PM +0000, Wookey via Therion wrote:
> On 2018-11-14 20:36 +0000, Olly Betts via Therion wrote:
> > On Wed, Nov 14, 2018 at 07:07:50PM +0000, Andrew Atkinson via Therion wrote:
> > > I've not had time to play with this, since Alistair showed me the problem
> > > on the weekend. The bit that I cannot get my head round is when 3d are
> > > imported with a coordinate system, if a th centreline then connects 2 parts
> > > of the survey from the 3d or an entrance coordinate is specified for the
> > > 3d, how does this change, or can it change the coordinates of the data from
> > > the 3d as the stations from this already has coordinates with little
> > > information about the connections  [I hope that makes sense]
> > 
> > Survex .3d files record the coordinate system the data is in, if one was
> > specified.  This was added in Survex 1.2.14 (released 2014-07-05).
> 
> Right, and that is metadata saying, effectively, 'the numbers in this
> file should be considered to be in a co-ordinate system starting at
> X,Y on the planet, oriented this way'.

That's a bit oversimplified, but gives the right idea.

> > But looking at the therion source code, it appears therion never makes
> > use of this information.  I suspect therion just hasn't been updated for
> > Survex gaining coordinate system support.
> > 
> > You can specify the coordinate system as an option to therion's import
> > command, so for now I guess that's what you have to do.
> 
> Right, but (if I understand this correctly), that option does not
> change the numbers in the file. They must be valid for the cordinate
> system given in the import command. This info effectively says where
> the origin for the co-ordinates in the file are to be interpreted-as
> (and stuff about axis angles).
> So let's say that your survex data was processed in 'local' co-ordinates
> so it just starts from 0,0 in arbitrary 'nowhere' co-ordinates.
> 
> What Alistair wants to do is read that in, but use it with therion
> data that is in real-world co-ordinates (UTM30N).
> 
> The question is, can that be offset by some arbitrary number on
> reading-in so that it appears in the right place in the UTM30
> co-ordinate system? Is a rotation needed too?

I'd interpreted what Alistair had said as meaning he was specifying
the coordinate systems in his Survex data, but re-reading I think
you may be right that his data is currently just in arbitrary "local"
coordinates.

I don't think there's a way to retrofit a coordinate system to
processed data in arbitrary local coordinates.  Theoretically it
could probably be done, though if there are multiple fixed points then
you'd probably have to redo the loop closure to make it fit properly
(because space isn't exactly the same shape in different coordinate
systems - it's not just a translation and a rotation).

> The import -calibrate x y z X Y Z command looks like it should do the
> right thing, so long as the axes are aligned, by shifting from x y z
> to X Y Z. 

Adding on a fixed offset isn't going to correctly map you between most
pairs of coordinate systems though, so in general that's a bodge.  It
may sometimes be good enough given the errors in cave survey
measurements, but it seems simpler to just specify the coordinate
systems and fixed stations in the Survex data with "*cs" and "*fix", and
reprocess (and with current therion, also tell it what coordinate system
you used in "*cs out" in the Survex data).

Cheers,
    Olly



More information about the Therion mailing list