I just spent far too long trying to get automatic calculation of magnetic declination to work, and I'm posting my findings so that others don't make the same mistake, and so that therion (an already great piece of software) can be improved accordingly. I've found that... Specifying the fixed coordinate before the coordinate system causes therion to silently fail to apply declination. In other words, this is wrong: date 2007.06.31 fix A0 626333 4320333 2620 cs UTM17 Specifying the coordinate system before the fixed coordinate causes therion to properly calculate magnetic declination. This is correct: date 2007.06.31 cs UTM17 fix A0 626333 4320333 2620 Therion 0.5.1 does this completely silently, with no notification that declination has been applied at all. Therion 0.5.0 prints the following (rather confusing) message in therion.log: output coordinate system: EPSG:32617 meridian convergence (deg): -0.9190 geomag declinations (deg): 2007.1.1 -8.9944 2008.1.1 -9.0224 My recommendations are that therion should: - Ignore the order of 'cs' and 'fix', apply declination as long as both are included - Explicitly state that declination has or has not been applied, regardless of configuration, so users are aware of this - Emit a warning if partially or incorrectly configured for magnetic declination calculation Thanks very much! Dave Riggs Morgantown, WV -- David A. Riggs <david.a.riggs@gmail.com>
Quoting "David A. Riggs" <david.a.riggs@gmail.com>:
Specifying the fixed coordinate before the coordinate system causes therion to silently fail to apply declination. In other words, this is wrong:
date 2007.06.31 fix A0 626333 4320333 2620 cs UTM17
Specifying the coordinate system before the fixed coordinate causes therion to properly calculate magnetic declination. This is correct:
date 2007.06.31 cs UTM17 fix A0 626333 4320333 2620
It is exactly like this. CS should be specified before coordinates in given system are used. You are right, it is nowhere stated in the thbook, we will try to write it there explicitly, to avoid confusions. Thanks for pointing out.
Therion 0.5.1 does this completely silently, with no notification that declination has been applied at all. Therion 0.5.0 prints the following (rather confusing) message in therion.log:
output coordinate system: EPSG:32617 meridian convergence (deg): -0.9190 geomag declinations (deg): 2007.1.1 -8.9944 2008.1.1 -9.0224
This is very strange - we did not touched this code. I am not sure about 0.5.1, but latest snapshot that I have, generates this output.
My recommendations are that therion should:
- Ignore the order of 'cs' and 'fix', apply declination as long as both are included
Well, this is a little bit problem. CS is handled same way for all commands, including centerline. Sometimes it is needed to switch coordinate system within single command (example from our experience: if we have a surface and usually 3D grind is in one CS and bitmap in another). But even in centerline it has happen to us. But one think we can do - generate a warning, if there is CS specification in centerline, but stations are fixed before it.
- Explicitly state that declination has or has not been applied, regardless of configuration, so users are aware of this
This should be the case - if it is not - it is a bug and needs to be fixed. Could you please try latest snapshot, if it is still the case?
- Emit a warning if partially or incorrectly configured for magnetic declination calculation
I will put it into TODO list. Thanks for pointing out. Regards, S.
participants (2)
-
David A. Riggs -
Stacho Mudrak