<div dir="ltr"><div class="gmail_extra">A new version (20140412) of my Cave Converter tool is now available. It converts between various cave survey file formats. Enables users of DistoX devices to get their existing data into PocketTopo, and their new survey data out of PocketTopo and into Survex format. Plus enables migrating survey data from one program to another.</div>
<div class="gmail_extra"><br></div><div class="gmail_extra">Help and the download link can be found on the Cave Converter home page. Source code is available under a GNU GPLv3 license.</div><div class="gmail_extra"><a href="http://wscc.darkgem.com/caveconverter/">http://wscc.darkgem.com/caveconverter/</a></div>
<div class="gmail_extra"><br></div><div class="gmail_extra">A summary of the changes in this release:</div><div class="gmail_extra">- Adopted JScience.org libraries for handling measurements, and implemented length measurements </div>
<div class="gmail_extra"> as unitised lengths rather than plain decimal values.</div><div class="gmail_extra">- Added support for reading Compass format survey data files.</div><div class="gmail_extra">- Added substitution of illegal characters in series and station names to Survex format output.</div>
<div class="gmail_extra"> Compass files allow various punctuation characters in series and station names, which are not</div><div class="gmail_extra"> allowed in Survex format data files. These will be substituted by an underscore character followed</div>
<div class="gmail_extra"> by a two letter code indicating the character which was substituted (e.g. '!' becomes '_ex').</div><div class="gmail_extra">- Added additional command line options: </div><div class="gmail_extra">
- splays/nosplays: Survex writer and Toporobot writer now have option to not output splays.</div><div class="gmail_extra"> - lrud: Option to generate LRUD data from splays (can be used on any conversion).</div><div class="gmail_extra">
- Added rounding of LRUD values to 2 decimal places in the Survex file writer.</div><div class="gmail_extra">- Changed LRUD generation to better select the best splay for each dimension, and to calculate </div><div class="gmail_extra">
the distance for the LRUD dimensions based on the angle of the splay to the passage direction</div><div class="gmail_extra"> instead of using the total length of the splay. The splay selected when there is a choice is now</div>
<div class="gmail_extra"> the splay giving the biggest dimension in the direction of the LRUD measurement rather than using</div><div class="gmail_extra"> the splay closest to the compass bearing of the passage dimension measurement direction. Passage </div>
<div class="gmail_extra"> direction is now calculated from the average bearing of the forward leg and the previous leg </div><div class="gmail_extra"> arriving at the station. When more than two legs join at a station then the previous leg will be</div>
<div class="gmail_extra"> the one with the closest bearing to the bearing of the onward leg.</div><div class="gmail_extra">- Splays fired as back shots are now excluded from LRUD generation.</div><div class="gmail_extra">
- Splays are no longer removed from the output when used to generate LRUD dimensions.</div><div class="gmail_extra">- The Survex writer now groups passage data from LRUD dimensions into blocks of readings corresponding</div>
<div class="gmail_extra"> to the survey legs in the file (previously one block of passage data was output per series with all</div><div class="gmail_extra"> stations listed with no respect for their connectivity).</div>
<div class="gmail_extra">- Added duplicate and surface flags to leg class, and added reading of flags to Survex parser and writing </div><div class="gmail_extra"> them to Survex writer.</div><div class="gmail_extra">- Made the logging output less verbose, and fixed the survey summary details log output to include inner series.</div>
<div class="gmail_extra"><br></div><div class="gmail_extra">Bugs fixed:</div><div class="gmail_extra">- Fixed case sensitivity bug in Toborobot file generation which left series unlinked if series or</div><div class="gmail_extra">
station names did not have identical case.</div><div class="gmail_extra">- Fixed bug in PocketTopo parser which repeated the station name given to the 'to' station for a splay</div><div class="gmail_extra"> leg when the splays were not all located together in the survey.</div>
<div class="gmail_extra">- Fixed bug where compass calibration was used instead of declination calibration in PocketTopo parser, </div><div class="gmail_extra"> Survex parser and Survex writer.</div><div class="gmail_extra">
- Added date reading to Survex parser.</div><div class="gmail_extra">- Fixed bug in utility function to calculate the average of a set of compass bearings (thanks to Peter Kellaway</div><div class="gmail_extra"> for pointing me to a much more robust and elegant solution). This bug does not affect the use of the function</div>
<div class="gmail_extra"> in previous versions (where it was only used to convert PocketTopo triple leg readings into one average leg)</div><div class="gmail_extra"> but it did show up in the new LRUD generation code when calculating the average bearing of two legs either</div>
<div class="gmail_extra"> side of a station when the passage went round a sharp bend.</div><div class="gmail_extra">- Fixed bug in Toporobot Writer which caused passage dimensions data to be output on the wrong station</div>
<div class="gmail_extra"> (LRUD values for the 'from' station of each leg were being put on the 'to' station of each leg).</div><div class="gmail_extra">- PocketTopo file reader no longer reorders the splay legs for each station (something which used to happen</div>
<div class="gmail_extra"> due to the old code which sorted splays into groups for L,R,U,D measurements in this reader).</div><div class="gmail_extra"><br></div><div class="gmail_extra">Bug reports and requests to support other formats always welcomed.</div>
<div class="gmail_extra"><br></div><div class="gmail_extra">Enjoy!</div><div class="gmail_extra"><br></div><div class="gmail_extra">Footleg</div></div>