<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=us-ascii"><meta name=Generator content="Microsoft Word 15 (filtered medium)"><!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><style><!--
/* Font Definitions */
@font-face
{font-family:Wingdings;
panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0cm;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:#0563C1;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:#954F72;
text-decoration:underline;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
{mso-style-priority:34;
margin-top:0cm;
margin-right:0cm;
margin-bottom:0cm;
margin-left:36.0pt;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri",sans-serif;}
p.msonormal0, li.msonormal0, div.msonormal0
{mso-style-name:msonormal;
mso-margin-top-alt:auto;
margin-right:0cm;
mso-margin-bottom-alt:auto;
margin-left:0cm;
font-size:11.0pt;
font-family:"Calibri",sans-serif;}
span.EmailStyle19
{mso-style-type:personal;
font-family:"Calibri",sans-serif;
color:windowtext;}
span.EmailStyle20
{mso-style-type:personal;
font-family:"Calibri",sans-serif;
color:windowtext;}
span.EmailStyle21
{mso-style-type:personal-compose;
font-family:"Calibri",sans-serif;
color:windowtext;}
.MsoChpDefault
{mso-style-type:export-only;
font-size:10.0pt;}
@page WordSection1
{size:612.0pt 792.0pt;
margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
{page:WordSection1;}
/* List Definitions */
@list l0
{mso-list-id:408042292;
mso-list-template-ids:297421698;}
@list l0:level1
{mso-level-number-format:bullet;
mso-level-text:\F0B7;
mso-level-tab-stop:36.0pt;
mso-level-number-position:left;
text-indent:-18.0pt;
mso-ansi-font-size:10.0pt;
font-family:Symbol;}
@list l0:level2
{mso-level-number-format:bullet;
mso-level-text:\F0B7;
mso-level-tab-stop:72.0pt;
mso-level-number-position:left;
text-indent:-18.0pt;
mso-ansi-font-size:10.0pt;
font-family:Symbol;}
@list l0:level3
{mso-level-number-format:bullet;
mso-level-text:\F0B7;
mso-level-tab-stop:108.0pt;
mso-level-number-position:left;
text-indent:-18.0pt;
mso-ansi-font-size:10.0pt;
font-family:Symbol;}
@list l0:level4
{mso-level-number-format:bullet;
mso-level-text:\F0B7;
mso-level-tab-stop:144.0pt;
mso-level-number-position:left;
text-indent:-18.0pt;
mso-ansi-font-size:10.0pt;
font-family:Symbol;}
@list l0:level5
{mso-level-number-format:bullet;
mso-level-text:\F0B7;
mso-level-tab-stop:180.0pt;
mso-level-number-position:left;
text-indent:-18.0pt;
mso-ansi-font-size:10.0pt;
font-family:Symbol;}
@list l0:level6
{mso-level-number-format:bullet;
mso-level-text:\F0B7;
mso-level-tab-stop:216.0pt;
mso-level-number-position:left;
text-indent:-18.0pt;
mso-ansi-font-size:10.0pt;
font-family:Symbol;}
@list l0:level7
{mso-level-number-format:bullet;
mso-level-text:\F0B7;
mso-level-tab-stop:252.0pt;
mso-level-number-position:left;
text-indent:-18.0pt;
mso-ansi-font-size:10.0pt;
font-family:Symbol;}
@list l0:level8
{mso-level-number-format:bullet;
mso-level-text:\F0B7;
mso-level-tab-stop:288.0pt;
mso-level-number-position:left;
text-indent:-18.0pt;
mso-ansi-font-size:10.0pt;
font-family:Symbol;}
@list l0:level9
{mso-level-number-format:bullet;
mso-level-text:\F0B7;
mso-level-tab-stop:324.0pt;
mso-level-number-position:left;
text-indent:-18.0pt;
mso-ansi-font-size:10.0pt;
font-family:Symbol;}
@list l1
{mso-list-id:663119894;
mso-list-type:hybrid;
mso-list-template-ids:-1405047504 336134145 336134147 336134149 336134145 336134147 336134149 336134145 336134147 336134149;}
@list l1:level1
{mso-level-number-format:bullet;
mso-level-text:\F0B7;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;
font-family:Symbol;}
@list l1:level2
{mso-level-number-format:bullet;
mso-level-text:o;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;
font-family:"Courier New";}
@list l1:level3
{mso-level-number-format:bullet;
mso-level-text:\F0A7;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;
font-family:Wingdings;}
@list l1:level4
{mso-level-number-format:bullet;
mso-level-text:\F0B7;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;
font-family:Symbol;}
@list l1:level5
{mso-level-number-format:bullet;
mso-level-text:o;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;
font-family:"Courier New";}
@list l1:level6
{mso-level-number-format:bullet;
mso-level-text:\F0A7;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;
font-family:Wingdings;}
@list l1:level7
{mso-level-number-format:bullet;
mso-level-text:\F0B7;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;
font-family:Symbol;}
@list l1:level8
{mso-level-number-format:bullet;
mso-level-text:o;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;
font-family:"Courier New";}
@list l1:level9
{mso-level-number-format:bullet;
mso-level-text:\F0A7;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;
font-family:Wingdings;}
ol
{margin-bottom:0cm;}
ul
{margin-bottom:0cm;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-NZ link="#0563C1" vlink="#954F72"><div class=WordSection1><p class=MsoNormal>Further to the recent ‘scrap without stations’ posts…<o:p></o:p></p><p class=MsoNormal>Here is a long and tedious transcript of my investigations to find out how a Therion project with scraps that have no point stations produces an apparently coherent pdf output. I conclude that while many of the outputs are perfectly OK, including the survey centreline, the pdf map output is not to the correct scale and it is perhaps not in the correct geospatial location. I don’t know how or why it works at all.<o:p></o:p></p><p class=MsoNormal>I have not included any specific details of the project, as the data is not mine and it is not in the public domain.<o:p></o:p></p><p class=MsoNormal>All tested with Therion 5.4.4+db62e22 (2019-06-25).<o:p></o:p></p><p class=MsoNormal>Any insights anyone has on this would be appreciated.<o:p></o:p></p><p class=MsoNormal>Bruce<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>The NoScrapStations project scraps are defined without any point stations in the scraps. This is highly unusual, and so interesting to investigate how the scraps get scaled and mapped to the centreline.<o:p></o:p></p><p class=MsoNormal>Originally there was little explicit link between the survey network and the scraps – the survey and th2 files were referenced as separate sources, except that the main th2 file was also referenced in the th file (a double up). Removing the doubled-up reference in the th file (in rev 2.1.1) made no difference.<o:p></o:p></p><p class=MsoNormal>Removing the xvi from th2 makes no difference to the outputs.<o:p></o:p></p><p class=MsoNormal>The exported map kml, model lox (and probably caves.html) did not produce legible output (large Loch bounding box – 200km north-south, or nonsense coordinates). Aven output is fine. The project is georeferenced to lat-long coordinates, and therion.log reports an appropriate UTM output coord system.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Other characteristics of the project include;<o:p></o:p></p><ul style='margin-top:0cm' type=disc><li class=MsoListParagraph style='margin-left:0cm;mso-list:l1 level1 lfo3'>The whole 5km cave was surveyed by hand, and manually entered into Therion as a single survey with 17 closed loops (typical error 2% to 5%, or 5 to 8 std deviations if BCRA5, or 1 to 2 std deviation at BCRA3)<o:p></o:p></li><li class=MsoListParagraph style='margin-left:0cm;mso-list:l1 level1 lfo3'>The whole cave is drawn in a single th2 file over an xvi (for the whole cave); 7 plan scraps and many projection none scraps. OK there is one other th2 file that contains a single scrap and a projection none scrap.<o:p></o:p></li><li class=MsoListParagraph style='margin-left:0cm;mso-list:l1 level1 lfo3'>There is only one scrap specified as projection plan, all the others are undefined (although Therion assumes these to be ‘plan’)<o:p></o:p></li></ul><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Rev 2.1.4 moves th2 files from sources in thconfig-NoScrapStations.thc to be input inside of 'trip' file (NoScrapStations.th) and outside of survey (SAMD-ITF-OS). <o:p></o:p></p><p class=MsoNormal>No apparent changes in any outputs -same issues described above, so the problem seems not to relate to data structure. <o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>These examples (below) as at project rev 3 <o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><b>Export with map12 (whole cave) selected (as per original submission)<o:p></o:p></b></p><p class=MsoNormal>-scraps are joined (despite not all being contiguous in the th2 file)<o:p></o:p></p><p class=MsoNormal>-scrap average distortions zero (maximal 0.1 and 0.2%) from therion.log<o:p></o:p></p><p class=MsoNormal>-debug (all) confirms graphically that scraps are undistorted<o:p></o:p></p><p class=MsoNormal>Perhaps the (selected) map (of the whole cave) is morphed to the centreline (or perhaps to each other), as scrap 108 is joined to the adjacent scraps (scrap 108 is drawn offset from its xvi centreline)? However the combination of examples below tends to disprove this.<o:p></o:p></p><p class=MsoNormal><img width=560 height=355 style='width:5.8333in;height:3.6979in' id="Picture_x0020_2" src="cid:image001.png@01D5819E.A3A19830"><o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><b>Export with no maps or surveys selected<o:p></o:p></b></p><p class=MsoNormal>-scraps are NOT necessarily joined – example is scrap 108 which is drawn offset from the xvi background image.<o:p></o:p></p><p class=MsoNormal>-scrap average distortions zero (maximal 0.1 and 0.2%) from therion.log<o:p></o:p></p><p class=MsoNormal>-debug (all) confirms graphically that scraps are undistorted<o:p></o:p></p><p class=MsoNormal>Default Therion behaviour is that ALL surveys and scraps are selected if none are explicitly selected. Seems like maybe no mapping of one to the other is done in this example, as indicated by the disjointed scrap 108 below.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><img width=539 height=360 style='width:5.6145in;height:3.75in' id="Picture_x0020_1" src="cid:image002.png@01D5819D.88EB0590"><img width=260 height=336 style='width:2.7083in;height:3.5in' id="Picture_x0020_3" src="cid:image005.png@01D5839A.C728A6B0"><o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><b>Export with map of survey (wholecavePLANCL) selected<o:p></o:p></b></p><p class=MsoNormal>- survey seems to match the shape of the scraps<o:p></o:p></p><p class=MsoNormal>- centreline pdf generated at 1:1000 scale (matches scale 1 1000 chosen). Why is this output 1.6 times taller than the scrap-based output examples above? They cannot BOTH be 1:1000!<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Interrogating Aven output tells us that horizontal extent of cave is 2.143 km, therefore a 1000 pdf should be a bit longer than 2.2m long (matches the image below), and a 500 pdf around 4.4m long (matches the image below that).<o:p></o:p></p><p class=MsoNormal><img width=526 height=397 style='width:5.4791in;height:4.1354in' id="Picture_x0020_5" src="cid:image007.png@01D581E9.896AD260"><o:p></o:p></p><p class=MsoNormal>- centreline pdf generated at 1:500 scale (matches scale 1 500 chosen). Note this is more than twice as big as scrap-based outputs, and is near pdf limit of 5m page size.<o:p></o:p></p><p class=MsoNormal><img width=543 height=380 style='width:5.6562in;height:3.9583in' id="Picture_x0020_4" src="cid:image006.png@01D581E8.0D75FE10"><o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Conclude that the scrap-based outputs are being generated at about 1:750 or 1:1500, despite the scale statement requesting 1:500 or 1: 1000. Interesting thing is that the scalebars generated by Therion on the pages show the correct length, only the maps are two thirds of what they should be. <o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><b>Export with map12 (whole cave) and with map of survey (wholecavePLANCL) selected<o:p></o:p></b></p><p class=MsoNormal>- Therion crashes out with an error message “Map is too large for PDF format. Try smaller scale!”<o:p></o:p></p><p class=MsoNormal>- up scale to 1 100,000, and metapost crashes (error 2), I assume divide by zero due to rounding in one of the symbols is the root cause.<o:p></o:p></p><p class=MsoNormal>- The boundary between these two error states is between 1 37000 and 1 40000, I did not find a scale that produced a pdf output.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Conclude, well a guess, Therion is plotting the survey centreline at the correct scale and in the correct location (model kml confirms this), and it is plotting the scraps (that have no point stations) at the wrong scale (a bit small), and in the wrong location (maybe 8,500 km away based on the magnitude of the coordinate list output).<o:p></o:p></p><p class=MsoNormal>The xvi background image used to draw the scraps was produced by Therion, so all of the loops have been ‘pre-closed’. This is consistent with the scraps having zero distortion, while the survey misclosures are large.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>I have yet to try the obvious, and add some point stations to each of the scraps, I presume that once each of the scraps has at least two stations, all will fit into place.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>END<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p></div></body></html>