source: git/doc/manual.sgml @ 652b73b

RELEASE/1.2debug-cidebug-ci-sanitisersstereowalls-data
Last change on this file since 652b73b was 652b73b, checked in by Olly Betts <olly@…>, 14 years ago

Revert this change, as it appears wxMotif does support wxGLCanvas:
doc/manual.sgml: wxMotif apparently doesn't support wxGLCanvas, which
is required by Aven in 1.1.x, so remove mention of Motif from manual.

git-svn-id: file:///home/survex-svn/survex/trunk@3490 4b37db11-9a0c-4f06-9ece-9ab7cdaee568

  • Property mode set to 100644
File size: 90.6 KB
Line 
1<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [
2 <!-- Define a parameter entity to pull in the standard entities -->
3 <!ENTITY % entities SYSTEM "survex.ent">
4 <!-- Now use the parameter entity -->
5 %entities;
6 <!ENTITY % versionentity SYSTEM "version.ent">
7 %versionentity;
8]>
9
10<!--
11FIXME:
12
133dfile title:
14defaults to a list of the leafnames of the &svx; files specified on the
15command line (with any paths and extensions removed).
16.
17e.g.: cavern entrance.svx \data\2ndpart.svx
18.
19would give a surveytitle of 'entrance 2ndpart'.
20.
21but this may change...
22
23FIXME todo:
24mark-up of Windows Windows NT etc?
25section on "design philosophy"
26
27level sump fudge:
28
29*begin
30*data cartesian from to dx dy dz
31*sd dx dy 100 metres
32*sd dz 0.001 metres
33; upstream - downstream
34nuiping.gowiththeflow.129 dachao.upstream.105 0 0 0 ; last number is drop in height across the sump
35*end
36
37``Quick start'' section
38
39- install (by OS): unpacking, configuration (language, where support files live)
40
41- lead people through entering and processing
42a sample survey.  Take examples from surveying books and real surveys.
43
44
45<Para>The other really important commands apart from *BEGIN, *END, and
46*INCLUDE are *EQUATE and *FIX.
47</Para>
48
49<Para>*EQUATE is used to join surveys together, e.g.
50</Para>
51
52<programlisting>*equate entrance.6 adrian.1</programlisting>
53
54<Para>
55indicates that station 6 of the entrance survey was used as
56the station 1 of the Adrian's Route survey.
57</Para>
58
59<Para>*FIX is for fixing control points - for example:
60</Para>
61
62<programlisting>
63*fix 161.entrance.1    0  0  1780</programlisting>
64
65<Para>fixes the 1st point of the 'entrance' survey at the coordinates
660 (east-west), 0 (north-south), 1780 (altitude).
67</Para>
68
69
70<term>node</term>
71<listitem><para>when talking about the survey network, we talk about an
72<emphasis>n</emphasis>-node to describe the number of connections to
73a station.  So a 1-node is a station with only 1 leg to or from it
74- i.e. The end of a passage or survey. A
752-node is a typical station along a passage with a survey leg coming
76into it, and one going out.  A 3-node is a station with three legs
77joining it, e.g. at a T-junction. And so on.
78</para>
79
80-->
81
82<article Status="draft" id=index>
83 <articleinfo>
84  <Title>&survexsuite; &version; Manual</Title>
85  <AuthorGroup>
86   <Author>
87    <FirstName/Olly/
88    <SurName/Betts/
89    <AuthorBlurb><Para>
90      Olly Betts wrote most of &survexsuite;.
91    </Para></AuthorBlurb>
92    <Affiliation>
93     <Address><Email>&ollyemail;</Email></Address>
94    </Affiliation>
95   </Author>
96   <Author>
97    <SurName/Wookey/
98    <AuthorBlurb><Para>
99      Wookey is a small furry creature.
100    </Para></AuthorBlurb>
101    <Affiliation>
102     <Address><Email>&wookeyemail;</Email></Address>
103    </Affiliation>
104   </Author>
105  </AuthorGroup>
106  <copyright>
107   <year>1998-2010</year>
108   <holder role="mailto:&ollyemail;">Olly Betts</holder>
109  </copyright>
110  <pubdate role="rcs">$Date: 2005-10-17 04:49:04 $</pubdate>
111  <ReleaseInfo>$Id: manual.sgml,v 1.96.2.11 2005-10-17 04:49:04 olly Exp $</ReleaseInfo>
112  <Abstract>
113   <Para>
114    This is the manual for &survexsuite; - an open-source software package for
115    cave surveyors.
116   </Para>
117  </Abstract>
118 </articleinfo>
119
120<Sect1><Title>Introduction</Title>
121<?dbhtml filename="intro.htm">
122
123<Para>
124This section describes what &survexsuite; is, and outlines the scope of this
125manual.
126</Para>
127
128<Sect2><Title>About &survexsuite;</Title>
129
130<Para>&survexsuite; is a multi-platform open-source cave surveying
131package.
132Version 1.1
133currently runs on &unix;, Microsoft Windows 95/NT and
134successors, and Mac OS X.
135We're investigating support for various
136palmtop devices.
137Version 1.0 has fewer features, but also runs of &msdos; and &riscos; machines.
138</Para>
139
140<Para>We are well aware that not everyone has access to super hardware
141- often surveying projects are run on little or no budget and any
142computers used are donated.  We aim to ensure that &survexsuite; is
143feasible to use on low-spec machines.  Obviously it won't be as
144responsive, but we intend it to be usable.
145Please help us to achieve this by giving us some feedback
146if you use &survexsuite; on a slow machine.</Para>
147
148<Para>&survexsuite; is capable of processing extremely complex caves very
149quickly and has a very effective, real-time cave viewer which allows
150you to rotate, zoom, and pan the cave using mouse or keyboard. We have
151tested it extensively using &cucc; and &arge;'s surveys of the caves
152under the Loser Plateau in Austria (over 11,500 survey legs, and over
15366km of underground survey data). This can all be processed in a few
154seconds on a low-end <hardware>Pentium</hardware> machine.
155Survex is also used by many other survey projects around the world,
156including the
157<ulink url="http://www.oucc.org.uk/draenen/draenenmain.htm"
158>Ogof Draenen</ulink> survey, the
159<ulink url="http://www.easegill.org.uk/">Easegill</ulink> resurvey project,
160the <Acronym/OFD/ survey, the
161<!-- url="http://milos2.zoo.ox.ac.uk/~oucc/reports/surveys/surveys.htm" -->
162<ulink url="http://www.oucc.org.uk/reports/surveys/surveys.htm"
163><Acronym/OUCC/ Picos expeditions</ulink>, and the
164<ulink url="http://www.hongmeigui.net/">Hong Meigui China
165expeditions</ulink>. <!-- FIXME more? --></Para>
166
167<Para>&survexsuite; is still actively being worked on.  Version 1.0 was
168complete in some sense, but development continues - initially in reshaping
169Survex into a more integrated GUI package.</Para>
170
171<Para>We encourage feedback from users on important features or problems,
172which will help to direct future development. Contact addresses are at the
173end of this manual.</Para>
174
175</Sect2>
176
177<!--
178<Para>Because &survexsuite; is still being actively developed, this document
179has an unfortunate tendency to lag slightly behind the capabilities of the
180software. The latest version is now available on the web at <ulink
181url="&survexwebsite;">&survexwebsite;</ulink> - check there for latest info.
182</Para>
183-->
184
185<!--
186<Sect2><Title>Other Documentation</Title>
187
188<variablelist>
189<varlistentry>
190<term>NEWS or NEWS.txt</term>
191<listitem><Para>a list of changes of interest to
192&survexsuite; users, broken down by version number.  Consult this file
193when upgrading to find out what has changed since the version you were
194using previously.
195</Para></listitem>
196</varlistentry>
197
198<varlistentry>
199<term>ChangeLog or CHANGES.txt</term>
200<listitem><Para>a much more detailed list of changes, aimed at developers
201rather than end users.
202</Para></listitem>
203</varlistentry>
204
205<varlistentry>
206<term>BUGS or BUGS.txt</term>
207<listitem><Para>a list of known bugs.
208</Para></listitem>
209</varlistentry>
210
211<varlistentry>
212<term>TODO or TODO.txt</term>
213<listitem><Para>planned changes and enhancements.
214</Para></listitem>
215</varlistentry>
216
217FIXME: merge INSTALL* into here, then process separately and textify
218to produce INSTALL*
219
220<varlistentry>
221<term>INSTALL or INSTALL.txt</term>
222<listitem><Para>instructions for installing &survexsuite;.  The
223Microsoft Windows version comes packaged up with an installation wizard,
224so this file doesn't exist there (you just run the package and follow
225the on-screen instructions).
226</Para></listitem>
227</varlistentry>
228</variablelist>
229
230</Sect2>
231-->
232
233<Sect2><Title>About this Manual</Title>
234
235<Para>
236If there's a part of this manual you find hard to understand, please do
237let us know.  We already know Survex well, so it can be hard for us
238to spot areas where the manual doesn't given enough information, or
239doesn't explain things clearly enough to follow when you don't know what's
240going on.  It's helpful is you can suggest a better wording, but don't worry
241if you can't, just explain the problem as precisely as you can.
242</Para>
243
244<Para>
245The master version of this manual is an <acronym>SGML</acronym>
246document written using the <ulink url="http://www.docbook.org/">docbook
247<acronym>DTD</acronym></ulink>,
248and automatically converted to a number of other formats.  If
249you are going to send us <emphasis>major</emphasis> changes, it's much easier
250to include them if you work from this master.  You can get it
251from the source archive (docs/manual.sgml) or from <ulink
252url="http://www.survex.com/docs.html">the Survex website</ulink>.
253</Para>
254
255<Sect3><Title>Terminology</Title>
256
257<Para>Throughout this document we use British terminology for
258surveying.</Para>
259
260<variablelist>
261<varlistentry>
262<term>station</term>
263<listitem><para>a point in the cave that you survey from and/or to
264</para></listitem></varlistentry>
265
266<varlistentry>
267<term>leg</term>
268<listitem><para>a line joining two stations
269</para></listitem></varlistentry>
270
271<varlistentry>
272<term>survey</term>
273<listitem><para>a group of legs surveyed on the same trip
274</para></listitem></varlistentry>
275
276</variablelist>
277
278</Sect3>
279
280</Sect2>
281
282<!-- FIXME: Further sources of info: website, mailing lists, other docs -->
283
284</Sect1>
285
286<Sect1><Title>Getting Started</Title>
287<?dbhtml filename="getstart.htm">
288
289<Para>This section covers how to obtain the software, and how to unpack and
290install it, and how to configure it.</Para>
291
292<Sect2><Title>Obtaining &survexsuite;</Title>
293
294<Para>The latest version is available from the &survexsuite; website:
295<ulink url="&survexwebsite;">&survexwebsite;</ulink>. If you do not
296have internet access or would prefer to get a copy by post, we are
297also happy to send out up-to-date copies on a floppy on receipt of
298a stamped, self-addressed envelope. See the end of this
299document for addresses.</Para>
300
301<Para>
302There's also a CD containing versions of &survexsuite; for every supported
303platform.  You can download an image for this from the website, or we'll
304send you a copy on a CD-R if you send us money to cover the costs.
305</Para>
306
307</Sect2>
308
309<Sect2><Title>Installing &survexsuite;</Title>
310
311<Para>The details of installation depend greatly on what platform you
312are using, so there is a separate section below for each platform.</Para>
313
314<Sect3><Title>&linux;</Title>
315
316<Para>
317We supply pre-compiled versions for x86 &linux; machines in RPM format
318(suitable for Redhat, Mandrake, and some other distributions)
319and dpkg format (suitable for Debian and Debian-derived distributions).
320</Para>
321
322<Para>
323You'll need root access to install these prebuilt packages.
324If you don't have root access you will need to build from source
325(see the next section).
326</Para>
327
328<!-- FIXME Add Gnome file association note for Linux/Unix
329<Para>On Microsoft Windows, &survexsuite; installs with
330suitable file associations so that you can drive it from the GUI.
331On &unix; you need to drive &survexsuite; from a command-line
332prompt (or set some a filemanager or graphics shell).
333</Para>
334-->
335
336<Sect3><Title>Other versions of &unix;</Title>
337
338<Para>For other &unix; versions you'll need to get the source code
339and compile it on your system.  &survexsuite; uses GNU automake
340and autoconf to streamline the compile process, so all you need to do
341is unpack the sources, then simply type <userinput>./configure</userinput>
342followed by <userinput>make</userinput> to build the programs and then
343<userinput>make install</userinput> to install them.</Para>
344
345<Note>
346<Para>
347If you're building to install in your home directory (for example
348if you don't have root access on the machine you wish to install
349&survexsuite; on) configure and build with
350<userinput>./configure --prefix=/home/olly/survex</userinput> then
351<userinput>make</userinput> to build and
352<userinput>make install</userinput> to install.
353</Para>
354</Note>
355
356<Para>
357There's a GUI cave viewer called aven, which needs &wxwidgets; to build,
358which in turn needs GTK+ (or Motif or just X11, but we only regularly
359test with the GTK+ version).
360</Para>
361
362</Sect3>
363
364<Sect3><Title>Microsoft Windows 95/NT and successors</Title>
365
366<Para>
367This version comes packaged with an installation wizard.  Just
368run the downloaded package and it will lead you through the
369installation process.  If installing on MS Windows NT, 2000, or XP
370we recommend you run the installer as administrator (or as a
371user with administrator rights) so that the file associations
372can be set up for all users.
373</Para>
374
375<Para>
376The survey viewer that's part of &survexsuite; is called aven, and uses OpenGL
377for 3d rendering.
378OpenGL comes as standard as of Windows 98, and was included in the
379OSR2 update to Windows 95.  It's also possible that you've installed
380OpenGL with another application already (especially a 3D game like Quake).
381If you can view a survey in aven, all is well.  Otherwise you can
382<ulink url="http://support.microsoft.com/default.aspx?scid=kb;EN-US;q154877
383">download OpenGL drivers from Microsoft's website</ulink> (or here's
384a <ulink url="http://download.microsoft.com/download/win95upg/info/1/W95/EN-US/Opengl95.exe">direct link to the file you actually need</ulink>).
385</Para>
386
387<Para>
388If you find that 3D rendering is sometimes very slow (e.g. one user reported
389very slow performance when running full screen, while running in a window
390was fine) then try installing the OpenGL driver supplied by the manufacturer
391of your graphics card rather than the driver Microsoft supply.
392</Para>
393
394<Para>
395The installer creates a Survex group in the Programs sub-menu of the
396Start menu containing the following items:
397</Para>
398
399<ItemizedList>
400
401<ListItem><Para>Aven</Para></ListItem>
402
403<ListItem><Para>Documentation</Para></ListItem>
404
405<ListItem><Para>Uninstall Survex</Para></ListItem>
406
407</ItemizedList>
408
409<Para>
410Icons are installed for &svx;, &x3d;, &err;, and &pos; files, and also for
411Compass Plot files (<filename>.plt</filename> and <filename>.plf</filename>)
412(which Survex can read). <!-- FIXME XYZ -->
413Double-clicking on a &svx; file loads it for editing.  To process it to
414produce a &x3d; file, right click and choose "Process" from the menu.
415Double-clicking the resultant &x3d; file views it in aven.
416All the &survexsuite; file types can be right clicked on to give a menu of
417possible actions. 
418</Para>
419
420<VariableList>
421<VarListEntry><Term>&svx;</Term>
422<ListItem>
423  <VariableList>
424  <VarListEntry><Term>Open</Term>
425  <ListItem><Para>
426  Load file into SvxEdit
427  </Para></ListItem>
428  </VarListEntry>
429  <VarListEntry><Term>Process</Term>
430  <ListItem><Para>
431  Process file with cavern to produce &x3d; file (and &err; file)
432  </Para></ListItem>
433  </VarListEntry>
434  </VariableList>
435</ListItem>
436</VarListEntry>
437   
438<VarListEntry><Term>&x3d;</Term>
439<ListItem>
440  <VariableList>
441  <VarListEntry><Term>Open</Term>
442  <ListItem><Para>
443  Load file into Aven
444  </Para></ListItem>
445  </VarListEntry>
446  <VarListEntry><Term>Print</Term>
447  <ListItem><Para>
448  Send to the printer
449  </Para></ListItem>
450  </VarListEntry>
451  <VarListEntry><Term>Extend</Term>
452  <ListItem><Para>
453  Produce extended elevation
454  </Para></ListItem>
455  </VarListEntry>
456  <VarListEntry><Term>Convert to DXF</Term>
457  <ListItem><Para>
458  Convert to a DXF file (suitable for importing into many CAD packages)
459  </Para></ListItem>
460  </VarListEntry>
461  <VarListEntry><Term>Convert for hand plotting</Term>
462  <ListItem><Para>
463  Produce a &pos; file listing all the stations and their coordinates
464  </Para></ListItem>
465  </VarListEntry>
466  </VariableList>
467</ListItem>
468
469<VarListEntry><Term>&err;</Term>
470<ListItem>
471  <VariableList>
472  <VarListEntry><Term>Open</Term>
473  <ListItem><Para>
474  Load file into Notepad
475  </Para></ListItem>
476  </VarListEntry>
477  <VarListEntry><Term>Sort by Error</Term>
478  <ListItem><Para>
479  Sort &err; file by the error in each traverse
480  </Para></ListItem>
481  </VarListEntry>
482  <VarListEntry><Term>Sort by Horizontal Error</Term>
483  <ListItem><Para>
484  Sort &err; file by the horizontal error in each traverse
485  </Para></ListItem>
486  </VarListEntry>
487  <VarListEntry><Term>Sort by Vertical Error</Term>
488  <ListItem><Para>
489  Sort &err; file by the vertical error in each traverse
490  </Para></ListItem>
491  </VarListEntry>
492  <VarListEntry><Term>Sort by Percentage Error</Term>
493  <ListItem><Para>
494  Sort &err; file by the percentage error in each traverse
495  </Para></ListItem>
496  </VarListEntry>
497  <VarListEntry><Term>Sort by Error per Leg</Term>
498  <ListItem><Para>
499  Sort &err; file by the error per leg in each traverse
500  </Para></ListItem>
501  </VarListEntry>
502  </VariableList>
503</ListItem>
504</VarListEntry>
505</VariableList>
506
507</Sect3>
508
509</Sect2>
510
511<Sect2><Title>Configuration</Title>
512
513<Sect3><Title>Selecting Your Preferred Language</Title>
514
515<Para>Survex has extensive internationalisation capabilities.  The
516language used for messages from Survex and most of the library calls
517it uses can be changed.  By default this is picked up from the
518language the operating system is set to use (from "Regional Settings"
519in Control Panel on Microsoft Windows, from the
520<systemitem>LANG</systemitem> environment variable on &unix;
521If no setting
522is found, or &survexsuite; hasn't been translated into the
523requested language, UK English is used.</Para>
524
525<Para>
526However you may want to override the language manually -
527for example if Survex isn't available in your native language
528you'll want to choose the supported language you understand best.
529</Para>
530
531<Para>
532To do this, you set the
533<systemitem>SURVEXLANG</systemitem> environment variable.  Here's a list
534of the codes currently supported:</Para>
535
536<informaltable frame="all">
537<tgroup cols="2">
538<thead>
539<row><entry/Code/<entry/Language/</row>
540</thead>
541<tbody>
542<row><entry/en/<entry/International English/</row>
543<row><entry/en_US/<entry/US English/</row>
544<row><entry/ca/<entry/Catalan/</row>
545<row><entry/de/<entry/German/</row>
546<row><entry/de_CH/<entry/Swiss German/</row>
547<row><entry/de_DE/<entry/German German/</row>
548<row><entry/es/<entry/Spanish/</row>
549<row><entry/fr/<entry/French/</row>
550<row><entry/it/<entry/Italian/</row>
551<row><entry/pt/<entry/Portuguese/</row>
552<row><entry/pt_BR/<entry/Brazillian Portuguese/</row>
553<row><entry/sk/<entry/Slovak/</row>
554</tbody>
555</tgroup>
556</informaltable>
557
558<Para>Here are examples of how to set this environment variable to give
559messages in French (language code fr):</Para>
560
561<VariableList>
562 <VarListEntry><Term>Microsoft Windows</Term>
563   <ListItem><Para>
564For MS Windows 95 and 98 (and probably ME), you'll need to add a line
565containing <command>SET SURVEXLANG=fr</command> to your
566<filename>AUTOEXEC.BAT</filename> script.  You need to
567reboot for the change to take effect.
568</Para>
569
570<Para>For MS Windows NT4, 2000, and XP, you should proceed as follows
571(this description is written from MS Windows 2000 - it should be similar on
572NT4 and XP): Open the Start Menu, navigate to the Settings sub-menu, and
573open Control Panel.  Open System (picture of a computer) and click on the
574Advanced tab.  Choose `Environmental Variables', and create a new one: name
575<systemitem>SURVEXLANG</systemitem>, value <systemitem>fr</systemitem>.
576Click OK and the new value should be effective immediately.
577   </Para></ListItem>
578 </VarListEntry>
579 <VarListEntry><Term>&unix; - csh/tcsh</Term>
580   <ListItem><Para><userinput>setenv SURVEXLANG fr</userinput></Para></ListItem>
581 </VarListEntry>
582 <VarListEntry><Term>&unix; - sh/bash</Term>
583   <ListItem><Para><userinput>SURVEXLANG=fr ; export SURVEXLANG</userinput></Para></ListItem>
584 </VarListEntry>
585</VariableList>
586
587<Para>If &survexsuite; isn't available in your language, you could
588help out by providing a translation.  The initial translation is
589likely to be about a day's work; after that translations for
590new or changed messages are occasionally required.  Contact us for details
591if you're interested.</Para>
592
593</Sect3>
594
595<Sect3><Title>Configuring the Printer Drivers</Title>
596
597<Para>
598Printing is now built into aven.
599The print.ini configuration file still exists, but is only
600useful if you want to configure the colours used if you
601have a colour printer.
602</Para>
603
604<refentry id="print.ini">
605&man.print.ini;
606</refentry>
607
608</Sect3>
609
610</Sect2>
611
612</Sect1>
613
614<!-- FIXME
615
616type in .svx file
617
618run cavern (through aven)
619
620run aven
621
622how to print/export etc
623
624-->
625
626<!-- FIXME perhaps move this after data files section? -->
627<Sect1><Title>Survex Programs</Title>
628<?dbhtml filename="cmdline.htm">
629
630<Sect2><Title>Standard Options</Title>
631
632<Para>All &survexsuite; programs respond to the following command line options:
633</Para>
634
635<VariableList>
636
637<VarListEntry><Term>--help</Term><listitem><Para>
638display option summary and exit
639</Para></listitem></VarListEntry>
640
641<VarListEntry><Term>--version</Term><listitem><Para>
642output version information and exit
643</Para></listitem></VarListEntry>
644
645</VariableList>
646
647</Sect2>
648
649<Sect2><Title>Short and Long Options</Title>
650
651<Para>
652Options have two forms: short (a dash followed by a single letter e.g.
653<command/cavern -p/) and long (two dashes followed by one or more words e.g.
654<command/cavern --percentage/).  The long form is generally easier to
655remember, while the short form is quicker to type.  Options are often
656available in both forms.
657</Para>
658
659<Note><Para>Command line options are case sensitive, so "-B" and "-b"
660are different (this didn't used to be the case before Survex 0.90).  Case
661sensitivity doubles the number of available short options (and is also the
662norm on &unix;).
663</Para></Note>
664</Sect2>
665
666<Sect2><Title>Filenames on the Command Line</Title>
667
668<Para>Filenames with spaces can be processed (provided your operating system
669supports them - &unix; does, and so do recent versions of Microsoft
670Windows).  You need to enclose the filename in quotes like so:
671<userinput>cavern "Spider Cave"</userinput>
672</Para>
673
674<Para>A file specified on the command line of any of the &survexsuite; suite
675of programs will be looked for as specified.  If it is not found, then the
676file is looked for with the appropriate extension appended.  So
677<userinput>cavern survey</userinput> will look first for
678<filename>survey</filename>, then for <filename>survey.svx</filename>.
679</Para>
680
681</Sect2>
682
683<Sect2><title>Command Reference</title>
684
685<refentry id="cavern">
686<?dbhtml filename="cavern.htm">
687&man.cavern;
688</refentry>
689<refentry id="svxedit">
690<?dbhtml filename="svxedit.htm">
691&man.svxedit;
692</refentry>
693<refentry id="aven">
694<?dbhtml filename="aven.htm">
695&man.aven;
696</refentry>
697<refentry id="x3dtopos">
698<?dbhtml filename="3dtopos.htm">
699&man.3dtopos;
700</refentry>
701<refentry id="cad3d">
702<?dbhtml filename="cad3d.htm">
703&man.cad3d;
704</refentry>
705<refentry id="diffpos">
706<?dbhtml filename="diffpos.htm">
707&man.diffpos;
708</refentry>
709<refentry id="extend">
710<?dbhtml filename="extend.htm">
711&man.extend;
712</refentry>
713<refentry id="sorterr">
714<?dbhtml filename="sorterr.htm">
715&man.sorterr;
716</refentry>
717
718</Sect2>
719
720</Sect1>
721
722<Sect1><Title>&survexsuite; data files</Title>
723<?dbhtml filename="datafile.htm">
724
725<Para>Survey data is entered in the form of text files. You can use any
726text editor you like for this, so long as it has the capability of
727writing a plain ASCII text file. The data format is very flexible;
728unlike some other cave surveying software, Survex does not require
729survey legs to be rearranged to suit the computer, and the ordering
730of instrument readings on each line is fully specifiable.  So you can enter
731your data much as it appears on the survey notes, which is important
732in reducing the opportunities for transcription errors.
733</Para>
734
735<Para>
736Also all the special characters are user-definable - for example,
737the separators can be spaces and tabs, or commas (e.g. when exporting from a
738spreadsheet), etc; the decimal point can be a slash (for clarity), a comma
739(as used in continental Europe), or anything else you care to choose.
740This flexibility
741means that it should be possible to read in data from almost any sort of
742survey data file without much work.
743</Para>
744
745<Para>&survexsuite; places no restrictions on you in terms of the ordering
746of survey legs. You can enter or process data in any order and &survexsuite; will
747read it all in before determining how it is connected. You can also use the
748hierarchical naming so that you do not need to worry about using the same
749station name twice.
750</Para>
751
752<!-- FIXME don't encourage separate processing -->
753<Para>The usual arrangement is to have one file which lists all the others
754that are included (e.g., <filename/161.svx/). Then
755<command/cavern 161/ will process all your data. To just process a
756section use the filename for that section, e.g. <command/cavern dtime/
757will process the dreamtime file/section of Kaninchenh&ouml;hle.  To
758help you out, if all legs in a survey are connected to one another
759but the survey has no fixed points, cavern
760will 'invent' a fixed point and print a warning message to this
761effect.
762</Para>
763
764<Para>
765It is up to you what data you put in which files.  You
766can have one file per trip, or per area of the cave, or just one
767file for the whole cave if you like.
768On a large survey project it makes sense to group related surveys in the
769same file or directory.
770</Para>
771<!-- FIXME: wook sez:
772
773 Point out in documentation that file structure and survey structure don't
774 have to be the same.  And in particular that folder/directory names can be
775 different.
776
777Which is partly covered above, though the last bit isn't...
778-->
779
780<!-- FIXME "Anatomy of a Survey" section -->
781<Sect2><Title>Readings</Title>
782
783<Para>Blank lines (i.e. lines consisting solely of BLANK characters)
784are ignored. The last line in the file need not be terminated by
785an end of line character. All fields on a line must be separated
786by at least one BLANK character. An OMIT character
787(default '-') indicates that a field is unused. If the field is
788not optional, then an error is given.
789</Para>
790
791</Sect2>
792
793<Sect2><Title>Survey Station Names</Title>
794
795<Para>&survexsuite; has a powerful system for naming stations.  It
796uses a hierarchy of survey names, similar to the nested folders
797your computer stores files in.
798So point 6 in the entrance survey of Kaninchenh&ouml;hle
799(cave number 161) is referred to as: 161.entrance.6
800</Para>
801
802<Para>This seems a natural way to refer to station names.  It also
803means that it is very easy to include more levels, for example if you
804want to plot all the caves in the area you just list them all in
805another file, specifying a new prefix.  So to group 3 nearby caves
806on the Loser Plateau you would use a file like
807this:
808</Para>
809
810<programlisting>
811*begin Loser
812*include 161
813*include 2YrGest
814*include 145
815*end Loser</programlisting>
816
817<Para>
818The entrance series point mentioned above would now be referred
819to as: Loser.161.entrance.6
820</Para>
821
822<!--
823<Para>This may seem a tad complex but is really very natural once you
824get the hang of it.
825</Para>
826-->
827<Para>You do not have to use this system at all, and can just give all
828stations unique identifiers if you like:
829</Para>
830
831<Para>1, 2, 3, 4, 5, ... 1381, 1382
832</Para>
833
834<Para>or
835</Para>
836
837<Para>AA06, AA07, P34, ZZ6, etc.
838</Para>
839
840<!-- FIXME:
841<Para>However you'll loose the ability to handle subsurveys if you do.
842</Para>
843-->
844
845<Para>Station and survey names may contain any alphanumeric characters and
846additionally any characters in NAMES (default `_' and `-'). Alphabetic
847characters may be forced to upper or lower case by using the *case
848command. Station names may be any length - if you want to only treat
849the first few characters as significant you can get cavern to truncate
850the names using the *truncate command.
851</Para>
852
853</Sect2>
854
855<Sect2><Title>Numeric fields</Title>
856
857<Para>[&lt;MINUS&gt;|&lt;PLUS&gt;] &lt;integer part&gt; [ &lt;DECIMAL&gt;
858[ &lt;decimal fraction&gt; ] ]
859</Para>
860
861<Para>
862or [&lt;MINUS&gt;|&lt;PLUS&gt;] &lt;DECIMAL&gt; &lt;dec fraction&gt;
863</Para>
864
865<Para><!-- FIXME: put informal description first -->
866i.e. optional PLUS or MINUS sign in front, with
867optional DECIMAL character (default '.'), which may be
868embedded, leading or trailing. No spaces are allowed between the
869various elements.
870</Para>
871
872<Para>
873All of these are valid examples: +47, 23, -22, +4.5, 1.3, -0.7, +.15, .4,
874-.05
875</Para>
876
877</Sect2>
878
879<Sect2><Title>Accuracy</Title>
880
881<Para>Accuracy assessments may be provided or defaulted for any survey
882leg. These determine the distribution of loop closure errors over the
883legs in the loop. See *SD for more information.
884</Para>
885
886</Sect2>
887
888<!--
889<Sect2><Title>Survey Coordinate Range</Title>
890
891<Para>
892If we store distances to nearest 10um (0.01mm) in 4 bytes, this
893gives a range of ~20 km. This method is currently not used, but
894has several advantages (data storage space [double uses 8 bytes
895- with my C compiler], speed (unless your FP chip works in parallel
896with your CPU [e.g. the new Acorn FPU for the ARM], and numerical
897accuracy [compared to using floats at least]) and so may be adopted
898in future). Nearest 0.1mm gives -200 km, which is enough for most
899people, but may mean rounding errors become significant.
900</Para>
901
902<Para>
903I will have to do some sums...
904</Para>
905
906</Sect2>
907
908-->
909
910<Sect2><Title>Cavern Commands</Title>
911
912<Para>Commands in &svx; files are introduced by an asterisk
913(by default - this can be changed using the <command/set/ command).
914</Para>
915
916<Para>The commands are documented in a common format:
917</Para>
918
919<!-- FIXME: make this a RefGroup (or whatever that's called) of RefEntry-s? -->
920<itemizedlist>
921<listitem><para>Command Name</para></listitem>
922<listitem><para>Syntax</para></listitem>
923<listitem><para>Example</para></listitem>
924<listitem><para>Validity</para></listitem>
925<!-- FIXME
926anywhere, in a block, at start of a block, after a begin (for *end)
927-->
928<listitem><para>Description</para></listitem>
929<listitem><para>Caveats</para></listitem>
930<listitem><para>See Also</para></listitem>
931<!-- FIXME
932"Usefulness" - or status maybe?
933deprecated, esoteric (*set), useful, vital
934-->
935</itemizedlist>
936
937<Sect3><Title>BEGIN</Title>
938
939<VariableList>
940
941<VarListEntry><Term>Syntax</Term>
942
943<listitem><Para>*begin [&lt;survey&gt;]</Para></listitem>
944
945</VarListEntry>
946
947<VarListEntry><Term>Example</Term>
948
949<listitem>
950<Para>
951<programlisting>
952*begin littlebit
9531 2 10.23 106 -02
9542 3  1.56 092 +10
955*end littlebit</programlisting>
956
957<programlisting>
958; length of leg across shaft estimated
959*begin
960*sd tape 2 metres
9619 10 6.   031 -07
962*end</programlisting>
963</Para>
964</listitem>
965
966</VarListEntry>
967
968<VarListEntry><Term>Description</Term>
969
970<listitem><Para>*begin stores the current values of the current settings
971such as instrument calibration, data format, and so on.
972These stored values are restored after the corresponding *end.
973If a survey name is given, this is used inside the *begin/*end block,
974and the corresponding *end should have the same survey name.
975*begin/*end blocks may be nested to indefinite depth.
976</Para></listitem>
977
978</VarListEntry>
979
980<!-- <VarListEntry><Term>Caveats </Term> </VarListEntry> -->
981
982<VarListEntry><Term>See Also</Term>
983
984<listitem><Para>*end, *prefix</Para></listitem>
985
986</VarListEntry>
987
988</VariableList>
989
990</Sect3>
991
992<Sect3><Title>CALIBRATE</Title>
993
994<VariableList>
995
996<VarListEntry><Term>Syntax</Term>
997
998<listitem>
999<Para>*calibrate &lt;quantity list&gt; &lt;zero error&gt; [&lt;scale&gt;]
1000</Para>
1001<Para>*calibrate default
1002</Para>
1003</listitem>
1004
1005</VarListEntry>
1006
1007<VarListEntry><Term>Example</Term>
1008
1009<listitem>
1010<Para>
1011<programlisting>
1012*calibrate tape +0.3
1013</programlisting>
1014</Para>
1015</listitem>
1016
1017</VarListEntry>
1018
1019<VarListEntry><Term>Description</Term>
1020
1021<listitem>
1022
1023<Para>
1024*calibrate is used to specify instrument calibrations.
1025</Para>
1026
1027<Para>
1028&lt;quantity&gt; is one of TAPE|COMPASS|CLINO|COUNTER|DEPTH|DECLINATION|X|Y|Z
1029</Para>
1030
1031<Para>
1032Several quantities can be given in &lt;quantity list&gt;
1033</Para>
1034
1035<Para>
1036Value = ( Reading - ZeroError ) * Scale    (Scale defaults to 1.0)
1037</Para>
1038
1039<Para>
1040You need to be careful about the sign of the ZeroError. The value of
1041ZeroError is what the the instrument would read when measuring a
1042reading which should be zero.  So for example, if your tape measure
1043has the end missing, and you are using the 30cm mark to take all
1044measurements from, then a zero distance would be measured as 30cm and
1045you would correct this with:
1046</Para>
1047
1048<programlisting>*CALIBRATE tape +0.3</programlisting>
1049
1050<Para>If you tape was too long, starting at -20cm (it does happen!)
1051then you can correct it with:
1052</Para>
1053
1054<programlisting>*CALIBRATE tape -0.2</programlisting>
1055
1056<Para>Note: ZeroError is irrelevant for Topofil counters and depth
1057gauges since pairs of readings are subtracted.
1058</Para>
1059
1060<Para>
1061The magnetic deviation varies from year to year and it is often
1062desirable to keep the compass zero error and the magnetic deviation
1063separate. cavern calculates the true bearing as follows:
1064</Para>
1065
1066<Para>
1067(magnetic bearing) = ((reading)-(compass zero err)) * (compass
1068scale factor)
1069</Para>
1070
1071<Para>
1072(true bearing) = ((bearing)-(declination zero err))
1073</Para>
1074
1075<Para>
1076The scale factor for DECLINATION must be 1.0, otherwise an error
1077is given. <!-- FIXME: practical example for declination -->
1078</Para>
1079
1080<Para>
1081The default is all quantities calibrated to scale factor 1.0,
1082zero error 0.0
1083</Para>
1084
1085</listitem>
1086
1087</VarListEntry>
1088
1089<!-- <VarListEntry><Term>Caveats </Term> </VarListEntry> -->
1090
1091<VarListEntry><Term>See Also</Term>
1092
1093<listitem><Para>*units</Para></listitem>
1094
1095</VarListEntry>
1096
1097</VariableList>
1098
1099</Sect3>
1100
1101<Sect3><Title>CASE</Title>
1102
1103<VariableList>
1104
1105<VarListEntry><Term>Syntax</Term>
1106
1107<listitem><para>*case preserve|toupper|tolower</para></listitem>
1108
1109</VarListEntry>
1110
1111<VarListEntry><Term>Example</Term>
1112
1113<listitem>
1114<Para>
1115<programlisting>
1116*begin bobsbit
1117; Bob insists on using case sensitive station names
1118*case preserve
11191 2   10.23 106 -02
11202 2a   1.56 092 +10
11212 2A   3.12 034 +02
11222 3    8.64 239 -01
1123*end bobsbit</programlisting>
1124</Para>
1125</listitem>
1126
1127</VarListEntry>
1128
1129<VarListEntry><Term>Description</Term>
1130
1131<listitem><Para>*case determines how the case of letters in survey names is
1132handled.  By default all names are forced to lower case (which gives a case
1133insensitive match, but you can tell cavern to force to upper case, or leave
1134the case as is (in which case '2a' and '2A' will be regarded as different).
1135</Para></listitem>
1136
1137</VarListEntry>
1138
1139<!-- <VarListEntry><Term>Caveats </Term> </VarListEntry> -->
1140
1141<!-- <VarListEntry><Term>See Also</Term>
1142
1143<listitem><Para>*end, *prefix</Para></listitem>
1144
1145</VarListEntry>
1146-->
1147
1148</VariableList>
1149
1150<!-- FIXME - work this text in here or elsewhere
1151
1152What I mean (though failed to express very well) is that a dataset without
1153this information isn't the same dataset (in general anyway).  For example:
1154
1155A1 a2 10.32 140 -05
1156a2 a3  4.91 041 -01
1157a1 a3  7.01 206  02
1158
1159is either a traverse of 3 legs or a (probably badly misclosed) loop.  If
1160these names are on the original survey notes, the surveyors ought to say
1161whether "A1" is the same as "a1" (although the usual case for using this
1162feature is probably for importing data from elsewhere).  Similarly for
1163truncation.  Whether a clino of +/-90 degrees (or +/-100 grad, etc) is
1164interpreted as a plumb is something that should have been noted in the cave
1165(unless it's implicit because it's standard practice for a survey project).
1166
1167It's a similar issue to calibration data in many ways.  You can argue it's
1168not part of "the survey", but without it the survey won't be the same shape,
1169and it's not useful to process the same survey with different settings for
1170compass calibration or name case sensitivity.
1171
1172>Clearly that is unhelpfully strict, but it is
1173>important to be semantically clear about what is 'data' and what is 'commands
1174>or meta-data' which describe what to do with/how to interpret that data.
1175
1176Think of the lines starting with a "*" as "command or meta-data".
1177
1178>The most-correct solution to this is (I believe) Martin Heller's idea about
1179>including 'rules' in the datastream, but that's too big a subject for right
1180>now.
1181>
1182>The reason '-C' was made into a command-line option, was that it made very
1183>little sense to change it part way though a dataset. What exactly happens if
1184>you suddenly tell cavern to become case-sensitive halfway through a run?
1185
1186-C has always had 3 settings - "leave case alone", "force to lower", and
1187"force to upper".  It doesn't really mean "case sensitivity" but rather
1188something like "case processing".  So you can usefully change it during a
1189run.  So if my dataset treats "NoTableChamber" (so named because it was
1190lacking in furniture) as different from "NotableChamber" (which was notable
1191for other reasons) I can process it with a dataset from someone else which
1192needs to be treated as case insensitive like so:
1193
1194*begin my_cave
1195*include my_dataset
1196*end my_cave
1197
1198*equate my_cave.NoTableChamber.14 your_cave.linkpassage.13
1199
1200*begin your_cave
1201*case tolower
1202*include your_dataset
1203*end your_cave
1204
1205You may be thinking of -U<n>, which used to mean "only compare the first n
1206characters of station names", but that doesn't allow arbitrary datasets to
1207be processed together.
1208
1209So we changed it to mean "truncate station names to n characters", and
1210allowed it to be changed at any point, rather than being set once for the
1211whole run.
1212
1213-->
1214
1215</Sect3>
1216
1217<Sect3><Title>COPYRIGHT</Title>
1218
1219<VariableList>
1220
1221<VarListEntry><Term>Syntax</Term>
1222
1223<listitem><Para>*copyright &lt;date&gt; &lt;text&gt;</Para></listitem>
1224
1225</VarListEntry>
1226
1227<VarListEntry><Term>Example</Term>
1228
1229<listitem>
1230<Para>
1231<programlisting>
1232*begin littlebit
1233*copyright 1983 CUCC
12341 2 10.23 106 -02
12352 3  1.56 092 +10
1236*end littlebit</programlisting>
1237</Para>
1238</listitem>
1239
1240</VarListEntry>
1241
1242<VarListEntry><Term>Validity</Term>
1243
1244<listitem><Para>valid at the start of a *begin/*end block.
1245</Para></listitem>
1246
1247</VarListEntry>
1248
1249<VarListEntry><Term>Description</Term>
1250
1251<listitem><Para>*copyright allow the copyright information to be
1252stored in a way that can be automatically collated.
1253</Para></listitem>
1254
1255</VarListEntry>
1256
1257<!-- <VarListEntry><Term>Caveats </Term> </VarListEntry> -->
1258
1259<VarListEntry><Term>See Also</Term>
1260
1261<listitem><Para>*begin</Para></listitem>
1262
1263</VarListEntry>
1264
1265</VariableList>
1266
1267</Sect3>
1268
1269<Sect3><Title>DATA</Title>
1270
1271<VariableList>
1272
1273<VarListEntry><Term>Syntax</Term>
1274
1275<listitem><Para>*data &lt;style&gt; &lt;ordering&gt;</Para></listitem>
1276<!-- BACKCOMPASS BACKCLINO -->
1277</VarListEntry>
1278
1279<VarListEntry><Term>Example</Term>
1280
1281<listitem>
1282<Para>
1283<programlisting>
1284*data normal from to compass tape clino</programlisting>
1285</Para>
1286
1287<Para>
1288<programlisting>
1289*data normal station ignoreall newline compass tape clino</programlisting>
1290</Para>
1291</listitem>
1292
1293</VarListEntry>
1294
1295<VarListEntry><Term>Description</Term>
1296
1297<listitem><Para>
1298&lt;style&gt; = DEFAULT|NORMAL|DIVING|CARTESIAN|TOPOFIL|CYLPOLAR|NOSURVEY|PASSAGE
1299</Para>
1300
1301<Para>
1302&lt;ordering&gt; = ordered list of instruments - which are valid depends on the
1303style.
1304</Para>
1305
1306<Para>
1307In Survex 1.0.2 and later, TOPOFIL is simply a synonym for NORMAL, left in to
1308allow older data to be processed without modification.  Use the name NORMAL
1309by preference.
1310</Para>
1311
1312<Para>
1313There are two variants of each style - interleaved and non-interleaved.
1314Non-interleaved is "one line per leg", interleaved has a line for the data
1315shared between two legs (e.g. STATION=FROM/TO, DEPTH=FROMDEPTH/TODEPTH,
1316COUNT=FROMCOUNT/TOCOUNT).  Note that not all interleavable readings have to
1317be interleaved - for example:
1318
1319<programlisting>
1320*data diving station newline fromdepth compass tape todepth</programlisting>
1321
1322In addition, interleaved data can have a DIRECTION reading, which can be "F"
1323for a foresight or "B" for a backsight.
1324</Para>
1325
1326<Para>
1327In NORMAL, DIVING, and CYLPOLAR data styles, TAPE may be replaced by
1328FROMCOUNT/TOCOUNT (or COUNT in interleaved data) to allow processing of surveys
1329performed with a Topofil instead of a tape.
1330</Para>
1331
1332<VariableList>
1333
1334<VarListEntry><Term>DEFAULT</Term>
1335<listitem><Para>Select the default data style and ordering (NORMAL style, ordering: from to tape compass clino).</Para></listitem>
1336</VarListEntry>
1337
1338<VarListEntry><Term>NORMAL</Term>
1339<listitem><Para>The usual tape/compass/clino centreline survey.
1340For non-interleaved data the allowed readings are:
1341FROM TO TAPE COMPASS CLINO BACKCOMPASS BACKCLINO;
1342for interleaved data the allowed readings are:
1343STATION DIRECTION TAPE COMPASS CLINO BACKCOMPASS BACKCLINO.
1344The CLINO/BACKCLINO reading is not required - if it's not given, the vertical
1345standard deviation is taken to be proportional to the tape measurement.
1346Alternatively, individual clino readings can be given as OMIT (default "-")
1347which allows for data where only some clino readings are missing.
1348E.g.:
1349
1350<programlisting>
1351*data normal from to compass clino tape
13521 2 172 -03 12.61</programlisting>
1353
1354<programlisting>
1355*data normal station newline direction tape compass clino
13561
1357 F 12.61 172 -03
13582</programlisting>
1359
1360<programlisting>
1361*data normal from to compass clino fromcount tocount
13621 2 172 -03 11532 11873</programlisting>
1363
1364<programlisting>
1365*data normal station count newline direction compass clino
13661 11532
1367 F 172 -03
13682 11873</programlisting>
1369 
1370</Para></listitem>
1371</VarListEntry>
1372
1373<VarListEntry><Term>DIVING</Term>
1374<listitem><Para>
1375An underwater survey where the vertical information is from a diver's depth
1376gauge.  This style can also be also used for an above water where the alititude
1377is measured with an altimeter.  DEPTH is defined as the altitude (Z) so
1378increases upwards by default.  So for a diver's depth guage, you'll need to
1379use *CALIBRATE with a negative scale factor (e.g. *calibrate depth 0 -1).
1380</Para>
1381
1382<Para>For non-interleaved data the allowed readings are:
1383FROM TO TAPE COMPASS BACKCOMPASS FROMDEPTH TODEPTH DEPTHCHANGE (the vertical
1384can be given as readings at each station, (FROMDEPTH/TODEPTH) or as a change
1385along the leg (DEPTHCHANGE)).</Para>
1386
1387<Para>For interleaved data the allowed readings are:
1388STATION DIRECTION TAPE COMPASS BACKCOMPASS DEPTH DEPTHCHANGE.
1389(the vertical change can be given as a reading at the station (DEPTH) or as a change along the leg (DEPTHCHANGE)).
1390
1391<programlisting>
1392*data diving from to tape compass fromdepth todepth
13931 2 14.7 250 -20.7 -22.4</programlisting>
1394
1395<programlisting>
1396*data diving station depth newline tape compass
13971 -20.7
1398 14.7 250
13992 -22.4</programlisting>
1400
1401<programlisting>
1402*data diving from to tape compass depthchange
14031 2 14.7 250 -1.7</programlisting>
1404</Para>
1405</listitem>
1406</VarListEntry>
1407
1408<VarListEntry><Term>CARTESIAN</Term>
1409<listitem><Para>
1410Cartesian data style allows you to specify the (x,y,z) changes between
1411stations.  It's useful for digitising surveys where the original survey
1412data has been lost and all that's available is a drawn up version.
1413
1414<programlisting>
1415*data cartesian from to northing easting altitude
14161 2 16.1 20.4 8.7</programlisting>
1417
1418<programlisting>
1419*data cartesian station newline northing easting altitude
14201
1421 16.1 20.4 8.7
14222</programlisting>
1423
1424<!--FIXME: dx dy dz-->
1425</Para>
1426
1427<Note><Para>
1428Cartesian data are relative to <emphasis>true</emphasis> North not
1429<emphasis>magnetic</emphasis> North (i.e. they are unaffected by
1430<command>*calibrate declination</command>).
1431</Para></Note>
1432</VarListEntry>
1433
1434<VarListEntry><Term>CYLPOLAR</Term>
1435<listitem><Para>
1436A CYLPOLAR style survey is very similar to a diving survey, except that the tape
1437is always measured horizontally rather than along the slope of the leg.
1438
1439<programlisting>
1440*data cypolar from to tape compass fromdepth todepth
14411 2 9.45 311 -13.3 -19.0</programlisting>
1442
1443<programlisting>
1444*data cylpolar station depth newline tape compass
14451 -13.3
1446 9.45 311
14472 -19.0</programlisting>
1448
1449<programlisting>
1450*data cylpolar from to tape compass depthchange
14511 2 9.45 311 -5.7</programlisting>
1452</Para></listitem>
1453</VarListEntry>
1454
1455<VarListEntry><Term>NOSURVEY</Term>
1456<listitem><Para>
1457A NOSURVEY survey doesn't have any measurements - it merely indicates that
1458there is line of sight between the pairs of stations.
1459
1460<programlisting>
1461*data nosurvey from to
14621 7
14635 7
14649 11</programlisting>
1465
1466<programlisting>
1467*data nosurvey station
14681
14697
14705
1471
1472*data nosurvey station
14739
147411</programlisting>
1475</Para></listitem>
1476</VarListEntry>
1477
1478<VarListEntry><Term>PASSAGE</Term>
1479<listitem><Para>
1480This survey style defines a 3D "tube" modelling a passage in the cave.
1481The tube uses the survey stations listed in the order listed.  It's
1482permitted to use survey stations which aren't directly linked by
1483the centre-line survey.  This can be useful - sometimes the centreline
1484will step sideways or up/down to allow a better sight for the next
1485leg and you can ignore the extra station.  You can also define tubes
1486along unsurveyed passages, akin to "nosurvey" legs in the centreline
1487data.</Para>
1488
1489<Para>This means that you need to split off side passages into seperate
1490tubes, and hence separate sections of passage data, starting with
1491a new *data command.</Para>
1492
1493<Para>
1494Simple example of how to use this data style (note the use of ignoreall
1495to allow a free-form text description to be given):
1496
1497<programlisting>
1498*data passage station left right up down ignoreall
14991  0.1 2.3 8.0 1.4  Sticking out point on left wall
15002  0.0 1.9 9.0 0.5  Point on left wall
15013  1.0 0.7 9.0 0.8  Highest point of boulder
1502</programlisting>
1503</Para>
1504</VarListEntry>
1505</VariableList>
1506
1507<Para>
1508IGNORE skips a field (it may be used any number of times),
1509and IGNOREALL may be used last to ignore the rest of the data line.
1510</Para>
1511
1512<Para>
1513LENGTH is a synonym for TAPE; BEARING for COMPASS; GRADIENT for CLINO; COUNT for COUNTER.<!--FIXME : others?-->
1514</Para>
1515
1516<Para>
1517The units of each quantity may be set with the UNITS command.
1518</Para>
1519
1520<!-- FIXME: plumbed diving legs -->
1521
1522<!--FIXME:
1523<Para>
1524Uses for CYLPOLAR:
1525Perhaps a Grade 3 survey, or when surveying with a level and stick (?)
1526[note - UBSS use it for the old County Clare data]
1527</Para>
1528-->
1529
1530</listitem>
1531
1532</VarListEntry>
1533
1534</VariableList>
1535
1536</Sect3>
1537
1538<Sect3><Title>DATE</Title>
1539<VariableList>
1540
1541<VarListEntry><Term>Syntax</Term>
1542
1543<listitem><Para>*date &lt;year&gt;[.&lt;month&gt;[.&lt;day&gt;]][-&lt;year&gt;[.&lt;month&gt;[.&lt;day&gt;]]]</Para></listitem>
1544
1545</VarListEntry>
1546
1547<VarListEntry><Term>Example</Term>
1548
1549<listitem>
1550<Para>
1551<programlisting>
1552*date 2001</programlisting>
1553
1554<programlisting>
1555*date 2000.10</programlisting>
1556
1557<programlisting>
1558*date 1987.07.27</programlisting>
1559
1560<programlisting>
1561*date 1985.08.12-1985.08.13</programlisting>
1562</Para>
1563</listitem>
1564
1565</VarListEntry>
1566
1567<VarListEntry><Term>Validity</Term>
1568
1569<listitem><Para>valid at the start of a *begin/*end block.
1570</Para></listitem>
1571
1572</VarListEntry>
1573
1574<VarListEntry><Term>Description</Term>
1575
1576<listitem><Para>
1577*date specifies the date that the survey was done.  A range of dates
1578can be specified (useful for overnight or multi-day surveying trips).
1579</Para></listitem>
1580
1581</VarListEntry>
1582
1583<!-- <VarListEntry><Term>Caveats </Term> </VarListEntry> -->
1584
1585<VarListEntry><Term>See Also</Term>
1586
1587<listitem><Para>*begin, *instrument, *team</Para></listitem>
1588
1589</VarListEntry>
1590
1591</VariableList>
1592
1593</Sect3>
1594
1595<Sect3><Title>DEFAULT</Title>
1596
1597<VariableList>
1598
1599<VarListEntry><Term>Syntax</Term>
1600
1601<listitem><Para>*default &lt;settings list&gt;|all</Para></listitem>
1602
1603</VarListEntry>
1604
1605<VarListEntry><Term>Description</Term>
1606
1607<listitem><Para>
1608The valid settings are CALIBRATE, DATA, and UNITS.
1609</Para>
1610
1611<Para>
1612*default restores defaults for given settings.  This command is deprecated -
1613you should instead use: *calibrate default, *data default, *units default.
1614</Para></listitem>
1615
1616</VarListEntry>
1617
1618<VarListEntry><Term>See Also</Term>
1619
1620<listitem><Para>*calibrate, *data, *units</Para></listitem>
1621
1622</VarListEntry>
1623
1624</VariableList>
1625
1626</Sect3>
1627
1628<Sect3><Title>END</Title>
1629
1630<VariableList>
1631
1632<VarListEntry><Term>Syntax</Term>
1633
1634<listitem><Para>*end [&lt;survey&gt;]</Para></listitem>
1635
1636</VarListEntry>
1637
1638<VarListEntry><Term>Validity</Term>
1639
1640<listitem><Para>valid for closing a block started by *begin in the same file.
1641</Para></listitem>
1642
1643</VarListEntry>
1644
1645<VarListEntry><Term>Description</Term>
1646
1647<listitem><Para>
1648Closes a block started by *begin.
1649</Para></listitem>
1650
1651</VarListEntry>
1652
1653<!-- <VarListEntry><Term>Caveats </Term> </VarListEntry> -->
1654
1655<VarListEntry><Term>See Also</Term>
1656
1657<listitem><Para>*begin</Para></listitem>
1658
1659</VarListEntry>
1660
1661</VariableList>
1662
1663</Sect3>
1664
1665<Sect3><Title>ENTRANCE</Title>
1666
1667<VariableList>
1668
1669<VarListEntry><Term>Syntax</Term>
1670
1671<listitem><Para>*entrance &lt;station&gt;</Para></listitem>
1672
1673</VarListEntry>
1674
1675<VarListEntry><Term>Example</Term>
1676
1677<listitem>
1678<Para>
1679<programlisting>
1680*entrance P163</programlisting>
1681</Para>
1682</listitem>
1683
1684</VarListEntry>
1685
1686<VarListEntry><Term>Description</Term>
1687
1688<listitem><Para>
1689*entrance sets the <emphasis>entrance</emphasis> flag for a station.
1690This information is used by aven to allow entrances to be highlighted.
1691</Para>
1692
1693<!-- FIXME:
1694(could be inferred from surface/ug join, but better to specify because
1695of caves with no surf svy (or no underground survey)
1696and also situations in which multiple surveys leave through an entrance)
1697-->
1698</listitem>
1699
1700</VarListEntry>
1701
1702<!-- <VarListEntry><Term>Caveats </Term> </VarListEntry> -->
1703
1704<!-- <VarListEntry><Term>See Also</Term>
1705
1706<listitem><Para></Para></listitem>
1707
1708</VarListEntry>
1709-->
1710
1711</VariableList>
1712
1713</Sect3>
1714
1715<Sect3><Title>EQUATE</Title>
1716
1717<VariableList>
1718
1719<VarListEntry><Term>Syntax</Term>
1720
1721<listitem><Para>*equate &lt;station&gt; &lt;station&gt;...</Para></listitem>
1722
1723</VarListEntry>
1724
1725<VarListEntry><Term>Example</Term>
1726
1727<listitem>
1728<Para>
1729<programlisting>
1730*equate chosspot.1 triassic.27</programlisting>
1731</Para>
1732</listitem>
1733
1734</VarListEntry>
1735
1736<VarListEntry><Term>Description</Term>
1737
1738<listitem><Para>
1739*equate specifies that the station names in the list refer to the
1740same physical survey station. An error is given if there is only one station
1741listed.
1742</Para>
1743
1744<!-- FIXME:
1745<Para>
1746I think this is preferable to using:
1747</Para>
1748
1749<programlisting> a b 0.00   0   0</programlisting>
1750
1751<Para>
1752as EQUATE does not add in an extra position error. It is also clearer than
1753substituting in the original name wherever passages are linked. If you
1754disagree, you can always use one of the other methods!
1755</Para>
1756-->
1757</listitem>
1758
1759</VarListEntry>
1760
1761<!-- <VarListEntry><Term>Caveats </Term> </VarListEntry> -->
1762
1763<VarListEntry><Term>See Also</Term>
1764
1765<listitem><Para>*infer equates</Para></listitem>
1766
1767</VarListEntry>
1768
1769</VariableList>
1770
1771</Sect3>
1772
1773<Sect3><Title>EXPORT</Title>
1774
1775<VariableList>
1776
1777<VarListEntry><Term>Syntax</Term>
1778
1779<listitem><Para>*export &lt;station&gt;...</Para></listitem>
1780
1781</VarListEntry>
1782
1783<VarListEntry><Term>Example</Term>
1784
1785<!-- FIXME better example -->
1786<listitem>
1787<Para>
1788<programlisting>
1789*export 1 6 17</programlisting>
1790</Para>
1791</listitem>
1792
1793</VarListEntry>
1794
1795<VarListEntry><Term>Validity</Term>
1796
1797<listitem><Para>valid at the start of a *begin/*end block.
1798</Para></listitem>
1799
1800</VarListEntry>
1801
1802<VarListEntry><Term>Description</Term>
1803
1804<listitem><Para>
1805*export marks the stations named as referable to from the enclosing
1806survey.  To be able to refer to a station from a survey several levels
1807above, it must be exported from each enclosing survey.
1808</Para>
1809
1810<!-- FIXME:
1811<Para>
1812I think this is preferable to using:
1813</Para>
1814
1815<programlisting> a b 0.00   0   0</programlisting>
1816
1817<Para>
1818as EQUATE does not add in an extra position error. It is also clearer than
1819substituting in the original name wherever passages are linked. If you
1820disagree, you can always use one of the other methods!
1821</Para>
1822-->
1823</listitem>
1824
1825</VarListEntry>
1826
1827<!-- <VarListEntry><Term>Caveats </Term> </VarListEntry> -->
1828
1829<VarListEntry><Term>See Also</Term>
1830
1831<listitem><Para>*begin, *infer exports</Para></listitem>
1832
1833</VarListEntry>
1834
1835</VariableList>
1836
1837</Sect3>
1838
1839<Sect3><Title>FIX</Title>
1840
1841<VariableList>
1842
1843<VarListEntry><Term>Syntax</Term>
1844
1845<listitem><Para>*fix &lt;station&gt; [reference]
1846 [ &lt;x&gt; &lt;y&gt; &lt;z&gt;
1847   [ &lt;x std err&gt; &lt;y std err&gt; &lt;z std err&gt;
1848     [ &lt;cov(x,y)&gt; &lt;cov(y,z)&gt; &lt;cov(z,x)&gt; ] ] ]
1849</Para></listitem>
1850
1851</VarListEntry>
1852
1853<VarListEntry><Term>Example</Term>
1854
1855<listitem>
1856<Para>
1857<programlisting>
1858*fix entrance.0 32768 86723 1760</programlisting>
1859
1860<programlisting>
1861*fix KT114_96 reference 36670.37 83317.43 1903.97</programlisting>
1862</Para>
1863</listitem>
1864
1865</VarListEntry>
1866
1867<VarListEntry><Term>Description</Term>
1868
1869<listitem>
1870<Para>
1871*fix fixes the position of &lt;station&gt; at the given coordinates.
1872If the position is omitted it defaults to (0,0,0). <!-- which allows
1873sub-sections of a large survey to be easily processed separately.
1874 FIXME - don't want to encourage people to do this really -->
1875The standard errors default to zero (fix station exactly). cavern will
1876give an error if you attempt to fix the same survey station twice
1877at different coordinates, or a warning if you fix it twice with matching
1878coordinates.
1879</Para>
1880
1881<Para>
1882You can also specify just one standard error (in which case it is assumed
1883equal in X, Y, and Z) or two (in which case the first is taken as the
1884standard error in X and Y, and the second as the standard error in Z).
1885</Para>
1886
1887<Para>
1888If you have covariances for the fix, you can also specify these - the
1889order is cov(x,y) cov(y,z) cov(z,x).
1890</Para>
1891
1892<Para>
1893You can fix as many stations as you like - just use a *fix command for each
1894one.  Cavern will check that all stations are connected to
1895at least one fixed point so that co-ordinates can be calculated for all
1896stations.
1897</Para>
1898
1899<Para>
1900By default cavern will warn about stations which have been FIX-ed but
1901not used otherwise.  This is unhelpful if you want to include a
1902standard file of benchmarks, some of which won't be used.
1903In this sort of situation, specify "REFERENCE" after the station name
1904in the FIX command to suppress this warning for a particular station.
1905</Para>
1906
1907<Note><Para>
1908X is Easting, Y is Northing, and Z is altitude.  This convention was chosen
1909since on a map, the horizontal (X) axis is usually East, and the vertical
1910axis (Y) North.  The choice of altitude (rather than depth) for Z is taken
1911from surface maps, and makes for less confusion when dealing with cave
1912systems with more than one entrance.  It also gives a right-handed
1913set of axes.
1914</Para></Note>
1915
1916</VarListEntry>
1917
1918<!-- <VarListEntry><Term>Caveats </Term> </VarListEntry> -->
1919
1920<!-- <VarListEntry><Term>See Also</Term>
1921
1922<listitem><Para></Para></listitem>
1923
1924</VarListEntry>
1925-->
1926
1927</VariableList>
1928
1929</Sect3>
1930
1931<!--
1932<Sect3><Title></Title>
1933
1934<VariableList>
1935
1936<VarListEntry><Term>Syntax</Term>
1937
1938<listitem><Para>*</Para></listitem>
1939
1940</VarListEntry>
1941
1942<VarListEntry><Term>Example</Term>
1943
1944<listitem>
1945<Para>
1946<programlisting>
1947*</programlisting>
1948</Para>
1949</listitem>
1950
1951</VarListEntry>
1952
1953<VarListEntry><Term>Description</Term>
1954
1955<listitem><Para>
1956</Para></listitem>
1957
1958</VarListEntry>
1959
1960<VarListEntry><Term>Caveats </Term> </VarListEntry>
1961
1962<VarListEntry><Term>See Also</Term>
1963
1964<listitem><Para></Para></listitem>
1965
1966</VarListEntry>
1967
1968</VariableList>
1969
1970</Sect3>
1971-->
1972
1973<Sect3><Title>FLAGS</Title>
1974
1975<VariableList>
1976
1977<VarListEntry><Term>Syntax</Term>
1978
1979<listitem><Para>*flags &lt;flags&gt;</Para></listitem>
1980
1981</VarListEntry>
1982
1983<VarListEntry><Term>Example</Term>
1984
1985<listitem>
1986<Para>
1987<programlisting>
1988*flags duplicate not surface</programlisting>
1989</Para>
1990</listitem>
1991
1992</VarListEntry>
1993
1994<VarListEntry><Term>Description</Term>
1995
1996<listitem><Para>
1997*flags updates the current flag settings.
1998Flags not mentioned retain their previous state.  Valid flags
1999are DUPLICATE, SPLAY, and SURFACE, and a flag may be preceded with NOT to
2000turn it off.
2001</Para>
2002
2003<Para>
2004Survey legs marked SURFACE are hidden from plots by default, and not
2005included in cave survey length calculations.  Survey legs marked as
2006DUPLICATE or SPLAY are also not included in cave survey length
2007calculations; legs marked SPLAY are ignored by the extend program.
2008DUPLICATE is intended for the case when if you have two different
2009surveys along the same section of passage (for example to tie two
2010surveys into a permanent survey station); SPLAY is intended for
2011cases such as radial legs in a large chamber.
2012</Para>
2013</listitem>
2014
2015</VarListEntry>
2016
2017<VarListEntry><Term>See Also</Term>
2018
2019<listitem><Para>*begin</Para></listitem>
2020
2021</VarListEntry>
2022
2023</VariableList>
2024
2025</Sect3>
2026
2027<Sect3><Title>INCLUDE</Title>
2028
2029<VariableList>
2030
2031<VarListEntry><Term>Syntax</Term>
2032
2033<listitem><Para>*include &lt;filename&gt;</Para></listitem>
2034
2035</VarListEntry>
2036
2037<VarListEntry><Term>Example</Term>
2038
2039<listitem>
2040<Para>
2041<programlisting>
2042*include mission</programlisting>
2043
2044<programlisting>
2045*include "the pits"</programlisting>
2046</Para>
2047</listitem>
2048
2049</VarListEntry>
2050
2051<VarListEntry><Term>Description</Term>
2052
2053<listitem><Para>
2054*include processes &lt;filename&gt; as if it were inserted at this
2055place in the current file. (i.e. The current settings are carried
2056into &lt;filename&gt;, and any alterations to settings in &lt;filename&gt;
2057will be carried back again).  There's one exception to this (for
2058obscure historical reasons) which is that the survey prefix is
2059restored upon return to the original file.  Since *begin and *end
2060nesting cannot cross files, this can only make a difference if you
2061use the deprecated *prefix command.
2062</Para>
2063
2064<Para>If &lt;filename&gt; contains spaces, it must be enclosed in quotes.
2065</Para>
2066
2067<Para>An included file which does not have a complete path
2068is resolved relative to the directory which the parent file is in
2069(just as relative HTML links do).  Cavern will try adding a &svx;
2070extension, and will also try translating "\" to "/".
2071And as a last
2072resort, it will try a lower case version of the filename (so if you
2073use Unix and someone sends you a DOS/Windows dataset with mismatched
2074case, unzip it with "unzip -L" and unix cavern will process it).
2075</Para>
2076
2077<Para>
2078The depth to which you can nest
2079include files may be limited by the operating system
2080you use.  Usually the limit is fairly high (>30), but if you want to be able to
2081process your dataset with &survexsuite; on any supported platform, it
2082would be prudent not to go overboard with nested include files.
2083</Para>
2084</listitem>
2085</VarListEntry>
2086
2087</VariableList>
2088
2089</Sect3>
2090
2091<Sect3><Title>INFER</Title>
2092
2093<VariableList>
2094
2095<VarListEntry><Term>Syntax</Term>
2096
2097<listitem>
2098<Para>*infer plumbs on|off</Para>
2099
2100<Para>*infer equates on|off</Para>
2101
2102<Para>*infer exports on|off</Para>
2103</listitem>
2104
2105</VarListEntry>
2106
2107<!--
2108<VarListEntry><Term>Example</Term>
2109
2110<listitem>
2111<programlisting>
2112</programlisting>
2113
2114</listitem>
2115
2116</VarListEntry>
2117-->
2118
2119<VarListEntry><Term>Description</Term>
2120
2121<listitem>
2122<Para>"*infer plumbs on" tells cavern to interpret gradients of +/- 90
2123degrees as UP/DOWN (so it
2124will not apply the clino correction to them). This is useful when
2125the data has not been converted to have UP and DOWN in it.
2126</Para>
2127
2128<para>"*infer equates on" tells cavern to interpret a leg with
2129a tape reading of zero as a *equate.  this prevents tape corrections
2130being applied to them.
2131</para>
2132
2133<para>"*infer exports on" is necessary when you have a dataset which is
2134partly annotated with *export.  It tells cavern not to complain about
2135missing *export commands in part of the dataset.  Also stations which
2136were used to join surveys are marked as exported in the 3d file.
2137</para>
2138</listitem>
2139
2140</VarListEntry>
2141
2142<!-- <VarListEntry><Term>Caveats </Term> </VarListEntry> -->
2143
2144<!--
2145<VarListEntry><Term>See Also</Term>
2146
2147<listitem><Para>*end, *prefix</Para></listitem>
2148
2149</VarListEntry>
2150-->
2151
2152</VariableList>
2153
2154</Sect3>
2155
2156<Sect3><Title>INSTRUMENT</Title>
2157
2158<VariableList>
2159
2160<VarListEntry><Term>Syntax</Term>
2161
2162<listitem><Para>*instrument &lt;instrument&gt; &lt;identifier&gt;</Para></listitem>
2163
2164</VarListEntry>
2165
2166<VarListEntry><Term>Example</Term>
2167
2168<listitem>
2169<Para>
2170<programlisting>
2171*instrument compass "CUCC 2"
2172*instrument clino "CUCC 2"
2173*instrument tape "CUCC Fisco Ranger open reel"</programlisting>
2174</Para>
2175</listitem>
2176
2177</VarListEntry>
2178
2179<VarListEntry><Term>Validity</Term>
2180
2181<listitem><Para>valid at the start of a *begin/*end block.
2182</Para></listitem>
2183
2184</VarListEntry>
2185
2186<VarListEntry><Term>Description</Term>
2187
2188<listitem><Para>
2189*instrument specifies the particular instruments used to perform a
2190survey.
2191</Para></listitem>
2192
2193</VarListEntry>
2194
2195<!-- <VarListEntry><Term>Caveats </Term> </VarListEntry> -->
2196
2197<VarListEntry><Term>See Also</Term>
2198
2199<listitem><Para>*begin, *date, *team</Para></listitem>
2200
2201</VarListEntry>
2202
2203</VariableList>
2204
2205</Sect3>
2206
2207<Sect3><Title>PREFIX</Title>
2208
2209<VariableList>
2210
2211<VarListEntry><Term>Syntax</Term>
2212
2213<listitem><Para>*prefix &lt;survey&gt;</Para></listitem>
2214
2215</VarListEntry>
2216
2217<VarListEntry><Term>Example</Term>
2218
2219<listitem>
2220<Para>
2221<programlisting>
2222*prefix flapjack</programlisting>
2223</Para>
2224</listitem>
2225
2226</VarListEntry>
2227
2228<VarListEntry><Term>Description</Term>
2229
2230<listitem><Para>
2231*prefix sets the current survey.
2232</Para></listitem>
2233
2234</VarListEntry>
2235
2236<VarListEntry><Term>Caveats </Term>
2237
2238<listitem><Para>*prefix is deprecated - you should use *begin and *end
2239instead.</Para></listitem>
2240
2241</VarListEntry>
2242
2243<VarListEntry><Term>See Also</Term>
2244
2245<listitem><Para>*begin, *end</Para></listitem>
2246
2247</VarListEntry>
2248
2249</VariableList>
2250
2251</Sect3>
2252
2253<Sect3><Title>REQUIRE</Title>
2254
2255<VariableList>
2256
2257<VarListEntry><Term>Syntax</Term>
2258
2259<listitem><Para>*require &lt;version&gt;</Para></listitem>
2260
2261</VarListEntry>
2262
2263<VarListEntry><Term>Example</Term>
2264
2265<listitem>
2266<Para>
2267<programlisting>
2268*require 0.98</programlisting>
2269</Para>
2270</listitem>
2271
2272</VarListEntry>
2273
2274<VarListEntry><Term>Description</Term>
2275
2276<listitem><Para>
2277*require checks that the version of cavern in use is at least
2278&lt;version&gt; and stops with an error if not.
2279So if your dataset requires a feature
2280introduced in a particular version, you can add a *require command and
2281users will know what version they need to upgrade to, rather than
2282getting an error message and having to guess what the real problem is.
2283</Para></listitem>
2284
2285</VarListEntry>
2286
2287</VariableList>
2288
2289</Sect3>
2290
2291<Sect3><Title>SD</Title>
2292
2293<VariableList>
2294
2295<VarListEntry><Term>Syntax</Term>
2296
2297<listitem><Para>*sd &lt;quantity list&gt; &lt;standard deviation&gt;
2298</Para></listitem>
2299
2300</VarListEntry>
2301
2302<VarListEntry><Term>Example</Term>
2303
2304<listitem>
2305<Para>
2306<programlisting>
2307*sd tape 0.15 metres</programlisting>
2308</Para>
2309</listitem>
2310
2311</VarListEntry>
2312
2313<VarListEntry><Term>Description</Term>
2314
2315<listitem><Para>
2316*sd sets the standard deviation of a measurement.
2317</Para>
2318
2319<Para>
2320&lt;quantity&gt; is one of
2321TAPE|COMPASS|CLINO|COUNTER|DEPTH|DECLINATION|DX|DY|DZ <!-- FIXME:
2322check this list -->
2323</Para>
2324
2325<Para>
2326&lt;standard deviation&gt; must include units and thus is typically
2327"0.05 metres", or "0.02 degrees". See *units below for full list
2328of valid units.
2329</Para>
2330
2331<!-- FIXME mention central limit theorem -->
2332<Para>
2333To utilise this command fully you need to understand what a
2334<emphasis>standard deviation</emphasis> is.
2335It gives a value to the 'spread' of the errors
2336in a measurement. Assuming that these are normally distributed
2337we can say that 95.44% of the actual lengths will fall within two
2338standard deviations of the measured length. i.e. a tape SD of
23390.25 metres means that the actual length of a tape measurement
2340is within + or - 0.5 metres of the recorded value 95.44% of the time.
2341So if the measurement is 7.34m then the actual length is very
2342likely to be between 6.84m and 7.84m. This example corresponds
2343to BCRA grade 3. Note that this is just one interpretation of
2344the BCRA standard, taking the permitted error values as 2SD 95.44%
2345confidence limits. If you want to take the readings as being some
2346other limit (e.g. 1SD = 68.26%) then you will need to change the BCRA3
2347and BCRA5 files accordingly. This issue is explored in more
2348detail in various surveying articles.
2349<!--
23502.565 sd 99%
23512.5   sd 98.76%
23522     sd 95.44%
23531     sd 68.26%
2354.97   sd 66.67%
23551.15  sd 75%
2356-->
2357</Para></listitem>
2358
2359</VarListEntry>
2360
2361<VarListEntry><Term>See Also</Term>
2362
2363<listitem><Para>*units</Para></listitem>
2364
2365</VarListEntry>
2366
2367</VariableList>
2368
2369</Sect3>
2370
2371<Sect3><Title>SET</Title>
2372
2373<VariableList>
2374
2375<VarListEntry><Term>Syntax</Term>
2376
2377<listitem><Para>*set &lt;item&gt; &lt;character list&gt;</Para></listitem>
2378
2379</VarListEntry>
2380
2381<VarListEntry><Term>Example</Term>
2382
2383<listitem>
2384<Para>
2385<programlisting>
2386*set blank x09x20
2387*set decimal ,</programlisting>
2388
2389Note that you need to eliminate comma from being a blank before setting it as
2390a decimal - otherwise the comma in "*set decimal ," is parsed as a blank, and
2391you set decimal to not have any characters representing it.
2392</Para>
2393</listitem>
2394
2395</VarListEntry>
2396
2397<VarListEntry><Term>Description</Term>
2398
2399<listitem><Para>
2400*set sets the specified &lt;item&gt; to the character or characters
2401given in &lt;character list&gt;. The example sets the decimal
2402separator to be a comma.
2403</Para>
2404
2405<Para>
2406xAB means the character with hex value AB. Eg x20 is a space.
2407</Para>
2408
2409<Para>
2410The complete list of items that can be set, the defaults (in
2411brackets), and the meaning of the item, is:
2412</Para>
2413
2414<ItemizedList>
2415
2416<ListItem><Para>
2417BLANK (x09x20,) Separates fields
2418</Para></ListItem>
2419
2420<ListItem><Para>
2421COMMENT (;) Introduces comments
2422</Para></ListItem>
2423
2424<ListItem><Para>
2425DECIMAL (.) Decimal point character
2426</Para></ListItem>
2427
2428<ListItem><Para>
2429EOL (x0Ax0D) End of line character
2430</Para></ListItem>
2431
2432<ListItem><Para>
2433KEYWORD (*) Introduces keywords
2434</Para></ListItem>
2435
2436<ListItem><Para>
2437MINUS (-) Indicates negative number
2438</Para></ListItem>
2439
2440<ListItem><Para>
2441NAMES (_-) Non-alphanumeric chars permitted in station
2442names (letters and numbers are always permitted).
2443</Para></ListItem>
2444
2445<ListItem><Para>
2446OMIT (-) Contents of field omitted (e.g. in plumbed legs)
2447</Para></ListItem>
2448
2449<ListItem><Para>
2450PLUS (+) Indicates positive number
2451</Para></ListItem>
2452
2453<ListItem><Para>
2454ROOT (\) Prefix in force at start of current file (use of ROOT is deprecated)
2455</Para></ListItem>
2456
2457<ListItem><Para>
2458SEPARATOR (.) Level separator in prefix hierarchy
2459</Para></ListItem>
2460
2461<!-- FIXME OPEN ({) and CLOSE (}) -->
2462</ItemizedList>
2463
2464<Para>
2465The special characters may not be alphanumeric.
2466</Para>
2467
2468</listitem>
2469
2470</VarListEntry>
2471
2472</VariableList>
2473
2474</Sect3>
2475
2476<Sect3><Title>SOLVE</Title>
2477
2478<VariableList>
2479
2480<VarListEntry><Term>Syntax</Term>
2481
2482<listitem><Para>*solve</Para></listitem>
2483
2484</VarListEntry>
2485
2486<VarListEntry><Term>Example</Term>
2487
2488<listitem>
2489<Para>
2490<programlisting>
2491*include 1997data
2492*solve
2493*include 1998data
2494</programlisting>
2495</Para>
2496</listitem>
2497
2498</VarListEntry>
2499
2500<VarListEntry><Term>Description</Term>
2501
2502<listitem><Para>
2503Distributes misclosures around any loops in the survey and fixes
2504the positions of all existing stations.  This command is intended
2505for situations where you have some new surveys adding extensions
2506to an already drawn-up survey which you wish to avoid completely
2507redrawing. You can read in the old data, use *SOLVE to fix it, and then
2508read in the new data.  Then old stations will be in the same
2509positions as they are in the existing drawn up survey, even if new loops
2510have been formed by the extensions.
2511</Para></listitem>
2512
2513</VarListEntry>
2514
2515</VariableList>
2516
2517</Sect3>
2518
2519<Sect3><Title>TEAM</Title>
2520
2521<VariableList>
2522
2523<VarListEntry><Term>Syntax</Term>
2524
2525<listitem><Para>*team &lt;person&gt; &lt;role&gt;...</Para></listitem>
2526
2527</VarListEntry>
2528
2529<VarListEntry><Term>Example</Term>
2530
2531<listitem>
2532<Para>
2533<programlisting>
2534*team "Nick Proctor" compass clino tape
2535*team "Anthony Day" notes pictures tape
2536</programlisting>
2537</Para>
2538</listitem>
2539
2540</VarListEntry>
2541
2542<VarListEntry><Term>Validity</Term>
2543
2544<listitem><Para>valid at the start of a *begin/*end block.
2545</Para></listitem>
2546<!-- FIXME valid roles are? -->
2547
2548</VarListEntry>
2549
2550<VarListEntry><Term>Description</Term>
2551
2552<listitem><Para>
2553*team specifies the people involved in a survey and what role they
2554filled during that trip.
2555</Para></listitem>
2556
2557</VarListEntry>
2558
2559<!-- <VarListEntry><Term>Caveats </Term> </VarListEntry> -->
2560
2561<VarListEntry><Term>See Also</Term>
2562
2563<listitem><Para>*begin, *date, *instrument</Para></listitem>
2564
2565</VarListEntry>
2566
2567</VariableList>
2568
2569</Sect3>
2570
2571<Sect3><Title>TITLE</Title>
2572
2573<VariableList>
2574
2575<VarListEntry><Term>Syntax</Term>
2576
2577<listitem><Para>*title &lt;title&gt;</Para></listitem>
2578
2579</VarListEntry>
2580
2581<VarListEntry><Term>Example</Term>
2582
2583<listitem>
2584<programlisting>
2585*title Dreamtime</programlisting>
2586
2587<programlisting>
2588*title "Mission Impossible"</programlisting>
2589</listitem>
2590
2591</VarListEntry>
2592
2593<VarListEntry><Term>Description</Term>
2594
2595<listitem><Para>*title allows you to set the descriptive title for a survey.
2596If the title contains spaces, you need to enclose it in quotes ("").
2597If there is no *title command, the title defaults to the survey name
2598given in the *begin command.
2599</Para>
2600</listitem>
2601
2602</VarListEntry>
2603
2604<!-- <VarListEntry><Term>Caveats </Term> </VarListEntry> -->
2605
2606<!--
2607<VarListEntry><Term>See Also</Term>
2608
2609<listitem><Para>*end, *prefix</Para></listitem>
2610
2611</VarListEntry>
2612-->
2613
2614</VariableList>
2615
2616</Sect3>
2617
2618<Sect3><Title>TRUNCATE</Title>
2619
2620<VariableList>
2621
2622<VarListEntry><Term>Syntax</Term>
2623
2624<listitem><Para>*truncate &lt;length&gt;|off</Para></listitem>
2625
2626</VarListEntry>
2627
2628<!-- FIXME:
2629<VarListEntry><Term>Example</Term>
2630
2631<listitem>
2632<programlisting>
2633</programlisting>
2634
2635</listitem>
2636
2637</VarListEntry>
2638-->
2639
2640<VarListEntry><Term>Description</Term>
2641
2642<listitem><Para>Station names may be of any length in &survexsuite;, but some
2643other (mostly older) cave surveying software only regard the first few
2644characters of a name as significant (e.g. "entran" and "entrance"
2645might be treated as the same).  To facilitate using data imported from
2646such a package &survexsuite; allows you to truncate names to whatever
2647length you want (but by default truncation is off).
2648</Para>
2649
2650<Para>Figures for the number of characters which are significant in various
2651software packages: Compass currently has a limit of 12,
2652CMAP has a limit of 6,
2653<!-- FIXME any limits for other software, winkarst for example? -->
2654Surveyor87/8 used 8.
2655&survexsuite; itself used 8 per prefix
2656level up to version 0.41, and 12 per prefix level up to 0.73 (more recent
2657versions removed this rather archaic restriction).
2658</Para>
2659</listitem>
2660
2661</VarListEntry>
2662
2663<!-- <VarListEntry><Term>Caveats </Term> </VarListEntry> -->
2664
2665<!--
2666<VarListEntry><Term>See Also</Term>
2667
2668<listitem><Para>*end, *prefix</Para></listitem>
2669
2670</VarListEntry>
2671-->
2672
2673</VariableList>
2674
2675</Sect3>
2676
2677<Sect3><Title>UNITS</Title>
2678
2679<VariableList>
2680
2681<VarListEntry><Term>Syntax</Term>
2682
2683<listitem><Para>
2684*units &lt;quantity list&gt; [&lt;factor&gt;] &lt;unit&gt;
2685</Para>
2686<Para>
2687*units default
2688</Para></listitem>
2689
2690</VarListEntry>
2691
2692<VarListEntry><Term>Example</Term>
2693
2694<listitem>
2695<Para>
2696<programlisting>
2697*units tape metres</programlisting>
2698
2699<programlisting>
2700*units compass backcompass clino backclino grads</programlisting>
2701
2702<programlisting>
2703*units dx dy dz 1000 metres ; data given as kilometres</programlisting>
2704</Para>
2705</listitem>
2706
2707</VarListEntry>
2708
2709<VarListEntry><Term>Description</Term>
2710
2711<listitem><Para>
2712&lt;quantity&gt; is one of
2713TAPE|LENGTH|COMPASS|BEARING|CLINO|GRADIENT|COUNTER|DEPTH|DECLINATION|X|Y|Z
2714</Para>
2715
2716<Para>Changes current units of all the quantities listed to [&lt;factor&gt;]
2717&lt;unit&gt;. Note that quantities can be expressed either as
2718the instrument (e.g. COMPASS) or the measurement (e.g. BEARING).
2719</Para>
2720
2721<Para>&lt;factor&gt; allows you to easy specify situations such as measuring
2722distance with a diving line knotted every 10cm (*units distance 0.1 metres).
2723If &lt;factor&gt; is omitted it defaults to 1.0.  If specified, it must be
2724non-zero.
2725</Para>
2726
2727<Para>Valid units for listed quantities are:
2728</Para>
2729
2730<!-- FIXME: are these correct?
2731  and dx,dy,dz -> easting/northing/altitude in preference -->
2732<Para>TAPE, LENGTH, COUNTER, COUNT, DEPTH, dX, dY, dZ <!-- FIXME: , X,Y,Z,-->
2733in YARDS|FEET|METRIC|METRES|METERS
2734</Para>
2735
2736<Para>CLINO, BACKCLINO, GRADIENT, BACKGRADIENT
2737in DEG|DEGREES|GRADS|MILS|PERCENT|PERCENTAGE
2738</Para>
2739
2740<Para>COMPASS, BACKCOMPASS, BEARING, BACKBEARING, DECLINATION
2741in DEG|DEGREES|GRADS|MILS|MINUTES
2742</Para>
2743
2744<Para>(360 degrees = 400 grads (also known as Mils))
2745</Para>
2746
2747<Para>Defaults are: Metres, Degrees, Degrees respectively.
2748</Para></listitem>
2749
2750</VarListEntry>
2751
2752<!-- <VarListEntry><Term>Caveats </Term> </VarListEntry> -->
2753
2754<VarListEntry><Term>See Also</Term>
2755
2756<listitem><Para>*calibrate</Para></listitem>
2757
2758</VarListEntry>
2759
2760</VariableList>
2761
2762</Sect3>
2763
2764</Sect2>
2765
2766</Sect1>
2767
2768<!-- FIXME rename to "Cookbook"? -->
2769<Sect1><Title>Contents of &svx; files: How do I?</Title>
2770<?dbhtml filename="svxhowto.htm">
2771
2772<Para>
2773Here is some example &survexsuite; data (a very small cave numbered 1623/163):
2774</Para>
2775
2776<programlisting>
27772 1 26.60 222  17.5
27782 3 10.85 014   7
27792 4  7.89 254 -11
27804 5  2.98  - DOWN
27815 6  9.29 271 -28.5</programlisting>
2782
2783<Para>
2784You can vary the data ordering.  The default is:
2785</Para>
2786
2787<Para>
2788from-station to-station tape compass clino
2789</Para>
2790
2791<Para>
2792This data demonstrates a number of useful features of &survexsuite;:
2793</Para>
2794
2795<Para>
2796Legs can be measured either way round, which allows the use of
2797techniques like "leap-frogging" (which is where legs
2798alternate forwards and backwards).
2799</Para>
2800
2801<Para>
2802Also notice that there is a spur in the survey (2 to 3).  You
2803do not need to specify this specially.
2804</Para>
2805
2806<Para>
2807&survexsuite; places few restrictions on station naming (see "Survey
2808Station Names" in the previous section), so you can number the stations
2809as they were in the original survey notes.  Although not apparent from
2810this example, there is no requirement for each leg to connect to an
2811existing station.  &survexsuite; can accept data in any order, and will
2812check for connectedness once all the data has been read in.
2813</Para>
2814
2815<Para>
2816Each survey is also likely to have other information associated
2817with it, such as instrument calibrations, etc.  This has been
2818omitted from this example to keep things simple.
2819</Para>
2820
2821<Para>
2822Most caves will take more than just one survey trip to map.  Commonly
2823the numbering in each survey will begin at 1, so we need to be
2824able to tell apart stations with the same number in different
2825surveys.
2826</Para>
2827
2828<Para>
2829To accomplish this, &survexsuite; has a very flexible system of hierarchical
2830prefixes.  All you need do is give each survey a unique name or
2831number, and enter the data like so:
2832</Para>
2833
2834<programlisting>
2835*begin 163
2836*export 1
28372 1 26.60 222  17.5
28382 3 10.85 014   7
28392 4  7.89 254 -11
28404 5  2.98  - DOWN
28415 6  9.29 271 -28.5
2842*end 163</programlisting>
2843
2844<Para>&survexsuite; will name the stations by attaching the current prefix.
2845In this case, the stations will be named 163.1, 163.2, etc.
2846</Para>
2847
2848<Para>We have a convention with the CUCC Austria data that the entrance survey
2849station of a cave is named P&lt;cave number&gt;, P163 in this case. We
2850can accomplish this like so:
2851</Para>
2852
2853<programlisting>
2854*equate P163 163.1
2855*entrance P163
2856*begin 163
2857*export 1
28582 1 26.60 222  17.5
28592 3 10.85 014   7
28602 4  7.89 254 -11
28614 5  2.98  - DOWN
28625 6  9.29 271 -28.5
2863*end 163</programlisting>
2864
2865<Sect2><Title>Specify surface survey data</Title>
2866
2867<Para>
2868Say you have 2 underground surveys and 2 surface ones with 2 fixed reference
2869points.  You want to mark the surface surveys so that their length isn't
2870included in length statistics, and so that Aven knows to display them
2871differently.  To do this you mark surface data with the "surface" flag
2872- this is set with "*flags surface" like so:
2873<Para>
2874
2875<programlisting>
2876; fixed reference points
2877*fix fix_a 12345 56789 1234
2878*fix fix_b 23456 67890 1111                                                     
2879                                                                               
2880; surface data (enclosed in *begin ... *end to stop the *flags command
2881; from "leaking" out)
2882*begin
2883*flags surface
2884*include surface1
2885*include surface2
2886*end                                                                           
2887                                                                               
2888; underground data
2889*include cave1
2890*include cave2</programlisting>
2891
2892<Para>
2893You might also have a survey which starts on the surface and heads into a
2894cave.  This can be easily handled too - here's an example which goes in
2895one entrance, through the cave, and out of another entrance:
2896</Para>
2897
2898<programlisting>
2899*begin BtoC
2900*title "161b to 161c"
2901*date 1990.08.06 ; trip 1990-161c-3 in 1990 logbook
2902
2903*begin
2904*flags surface
290502    01      3.09   249    -08.5
290602    03      4.13   252.5  -26
2907*end
2908
290904    03      6.00   020    +37
291004    05      3.07   329    -31
291106    05      2.67   203    -40.5
291206    07      2.20   014    +04
291307    08      2.98   032    +04
291408    09      2.73   063.5  +21
291509    10     12.35   059    +15
2916
2917*begin
2918*flags surface
291911    10      4.20   221.5  -11.5
292011    12      5.05   215    +03.5
292111    13      6.14   205    +12.5
292213    14     15.40   221    -14
2923*end
2924
2925*end BtoC</programlisting>
2926
2927<Para>
2928Note that to avoid needless complication, Survex regards each leg as
2929being either "surface" or "not surface" - if a leg spans the boundary you'll
2930have to call it one or the other.  It's good surveying practice to
2931deliberately put a station at the surface/underground interface
2932(typically the highest closed contour or drip line) so this generally
2933isn't an onerous restriction.
2934</Para>
2935
2936</Sect2>
2937
2938<Sect2><Title>Specify the ordering and type of data</Title>
2939
2940<Para>The *DATA command is used to specify the data style, and the
2941order in which the readings are given.</Para>
2942
2943</Sect2>
2944
2945<Sect2><Title>Deal with Plumbs or Legs Across Static Water</Title>
2946
2947<!-- FIXME
2948<Para>
2949They can be given
2950as +90, or -90, but as they are not usually measured with the
2951clino, but with a plumb of some sort, then it is useful to distinguish
2952them in this way so that any clino adjustment is not applied to
2953these values.
2954</Para>
2955
2956FIXME: paste in section from mail to list
2957
2958<Para>
2959Note that a similar effect can be achieved by using the "*infer plumbs" command
2960to stop clino corrections being applied to -90 and +90 clino readings.
2961</Para>
2962-->
2963
2964<Para>
2965Plumbed legs should be given using 'UP' or 'DOWN' in place of the
2966clino reading and a dash (or a different specified 'OMIT' character)
2967in place of the compass reading.  This distinguishes
2968them from legs measured with a compass and clino.  Here's an example:
2969</Para>
2970
2971<programlisting>
29721 2 21.54 - UP
29733 2 7.36 017 +17
29743 4 1.62 091 +08
29755 4 10.38 - DOWN</programlisting>
2976
2977<Para>
2978U/D or +V/-V may be used instead of UP/DOWN; the check is not case
2979sensitive.
2980</Para>
2981
2982<Para>
2983Legs surveyed across the surface of a static body of water where no
2984clino reading is taken (since the surface of the water can be assumed
2985to be flat) can be indicated by using LEVEL in place of a clino reading.
2986This prevents the clino correction being applied.  Here's an example:
2987</Para>
2988
2989<programlisting>
29901 2 11.37 190 -12
29913 2  7.36 017 LEVEL
29923 4  1.62 091 LEVEL</programlisting>
2993
2994</Sect2>
2995
2996<Sect2><Title>Specify a BCRA grade</Title>
2997
2998<Para>The *SD command can be used to specify the standard deviations of the
2999various measurements (tape, compass, clino, etc).  Examples files are
3000supplied which define BCRA Grade 3 and BCRA Grade 5 using a number of *sd
3001commands. You can use these by simply including them at the relevant point,
3002as follows:
3003</Para>
3004
3005<programlisting>
3006*begin somewhere
3007; This survey is only grade 3
3008*include grade3
30092 1 26.60 222  17.5
30102 3 10.85 014   7
3011; etc
3012*end somewhere</programlisting>
3013
3014<Para>The default values for the standard deviations are those for
3015BCRA grade 5. Note that it is good practice to keep the *include
3016Grade3 within *Begin and *End commands otherwise it will apply
3017to following survey data, which may not be what you intended.
3018</Para>
3019
3020</Sect2>
3021
3022<Sect2><Title>Specify different accuracy for a leg</Title>
3023
3024<Para>For example, suppose the tape on the plumbed leg in this survey
3025is suspected of being less accurate than the rest of the survey because
3026the length was obtained by measuring the length of the rope used to rig
3027the pitch.  We can set a higher sd for this one measurement and use a
3028*begin/*end block to make sure this setting only applies to the one
3029leg:
3030</Para>
3031
3032<programlisting>
30332 1 26.60 222  17.5
30342 3 10.85 014   7
30352 4  7.89 254 -11
3036*begin
3037; tape measurement was taken from the rope length
3038*sd tape 0.5 metres
30394 5  34.50 - DOWN
3040*end
30415 6  9.29 271 -28.5</programlisting>
3042
3043<!-- FIXME also *calibrate and *instrument? Except rope is measure with the
3044tape... -->
3045</Sect2>
3046
3047<Sect2><Title>Enter Radiolocation Data</Title>
3048
3049<!-- FIXME comments from David Gibson here -->
3050<Para>This is done by using the *SD command to specify the appropriate
3051errors for the radiolocation `survey leg' so that the loop closure
3052algorithm knows how to distribute errors if it forms part of a loop.
3053</Para>
3054
3055<Para>The best approach for a radiolocation where the underground station
3056is vertically below the surface station is to represent it as a
3057plumbed leg, giving suitable SDs for the length and plumb angle. The
3058horizontal positioning of this is generally quite accurate, but the
3059vertical positioning may be much less well known. E.g: we have a
3060radiolocation of about 50m depth +/- 20m and horizontal accuracy of
3061+/- 8m. Over 50m the +/-8m is equivalent to an angle of 9 degrees, so
3062that is the expected plumb error. 20m is the expected error in the
3063length. To get the equivalent SD we assume that 99.74% of readings will
3064be within 3 standard deviations of the error value. Thus we divide the
3065expected errors by 3 to get the SD we should specify:
3066</Para> <!-- 3 SD? or same as BCRA3.SVX, etc -->
3067
3068<programlisting>
3069*begin
3070*sd length 6.67 metres
3071*sd plumb 3 degrees
3072surface underground 50 - down
3073*end</programlisting>
3074
3075<Para>
3076We wrap the radiolocation leg in a *begin/*end block to make
3077sure that the special *sd settings only apply to this one leg.
3078</Para>
3079
3080<Para>For more information on the expected errors from radiolocations
3081see Compass Points Issue 10, available online at
3082<ulink url="http://www.chaos.org.uk/survex/cp/CP10/CPoint10.htm">http://www.chaos.org.uk/survex/cp/CP10/CPoint10.htm</ulink>
3083</Para>
3084
3085</Sect2>
3086
3087<Sect2><Title>Enter Diving Data</Title>
3088
3089<Para>Surveys made underwater using a diver's depth gauge can be
3090processed - use the *Data command to specify that the following data
3091is of this type.
3092</Para>
3093
3094</Sect2>
3095
3096<Sect2><Title>Enter Theodolite data</Title>
3097
3098<Para>
3099Theodolite data with turned angles is not yet explicitly catered
3100for, so for now you will need to convert it into equivalent legs in
3101another style - normal or cylpolar are likely to be the best choices.
3102</Para>
3103
3104<Para>
3105If there is no vertical info in your theodolite data then you should
3106use the cylpolar style and use *sd command to specify very low
3107accuracy (high SD) in the depth so that the points will move in the
3108vertical plane as required if the end points are fixed or the survey
3109is part of a loop.
3110</Para>
3111
3112</Sect2>
3113
3114</Sect1>
3115
3116<Sect1><Title>General: How do I?</Title>
3117<?dbhtml filename="genhowto.htm">
3118
3119<Sect2><Title>Create a new survey</Title>
3120
3121<Para>You simply create a text file containing the relevant survey data,
3122using a text editor, and save it with a suitable name with a &svx;
3123extension. The
3124easiest way is to look at some of the example data and use that
3125as a template. Nearly all surveys will need a bit of basic info
3126as well as the survey data itself: e.g. the date (*date), comments
3127about where, what cave, a name for the survey (using *begin and *end),
3128instrument error corrections etc. Here is a typical survey file:
3129</Para>
3130
3131<Para>All the lines starting with ';' are comments, which are ignored
3132by &survexsuite;. You can also see the use of 'DOWN' for plumbs, and
3133*calibrate tape for dealing with a tape length error (in this case
3134the end of the tape had fallen off so measurements were made from the
313520cm point).</Para>
3136
3137<programlisting>
3138*equate chaos.1 triassic.pt3.8
3139*equate chaos.2 triassic.pt3.9
3140
3141*begin chaos
3142*title "Bottomless Pit of Eternal Chaos to Redemption pitch"
3143*date 1996.07.11
3144*team "Nick Proctor" compass clino tape
3145*team "Anthony Day" notes pictures tape
3146*instrument compass "CUCC 2"
3147*instrument clino "CUCC 2"
3148;Calibration: Cairn-Rock 071 072 071,  -22 -22 -22
3149;       Rock-Cairn 252 251 252,  +21 +21 +21
3150;Calibration at 161d entrance from cairn nr entrance to
3151;prominent rock edge lower down. This is different from
3152;calibration used for thighs survey of 5 July 1996
3153
3154*export 1 2
3155
3156;Tape is 20cm too short
3157*calibrate tape +0.2
3158
31591 2 9.48 208 +08
31602 3 9.30 179 -23
31613 4 2.17 057 +09
31625 4 10.13 263 +78
31635 6 2.10 171 -73
31647 6 7.93 291 +75
3165*begin
3166*calibrate tape 0
31678 7 35.64 262 +86 ;true length measured for this leg
3168*end
31698 9 24.90 - DOWN
317010 9 8.61 031 -43
317110 11 2.53 008 -34
317211 12 2.70 286 -20
317313 12 5.36 135 +23
317414 13 1.52 119 -12
317515 14 2.00 036 +13
317616 15 2.10 103 +12
317717 16 1.40 068 -07
317817 18 1.53 285 -42
317919 18 5.20 057 -36
318019 20 2.41 161 -67
318120 21 27.47 - DOWN
318221 22 9.30 192 -29
3183*end chaos</programlisting>
3184
3185</Sect2>
3186
3187<Sect2><Title>Join surveys together</Title>
3188
3189<Para>Once you have more than one survey you need to specify how they
3190link together. To do this use *export to make the stations to be
3191joined accessible in the enclosing survey, then *equate in the
3192enclosing survey to join them together.
3193<!-- FIXME example -->
3194</Para>
3195
3196</Sect2>
3197
3198<Sect2><Title>Organise my surveys</Title>
3199
3200<Para>This is actually a large subject. There are many ways you can
3201organise your data using &survexsuite;. Take a look at the example dataset
3202for some ideas of ways to go about it.
3203</Para>
3204
3205<Sect3><Title>Fixed Points (Control Points)</Title>
3206
3207<Para>The *fix command is used to specify fixed points (also know as control
3208points).  See the description of this command in the "Cavern Commands"
3209section of this manual.
3210</Para>
3211
3212</Sect3>
3213
3214<Sect3><Title>More than one survey per trip</Title>
3215
3216<Para>Suppose you have two separate bits of surveying which were done on the
3217same trip.  So the calibration details, etc. are the same for both.  But you
3218want to give a different survey name to the two sections.  This is easily
3219achieved like so:
3220</Para>
3221
3222<programlisting>
3223*begin
3224*calibrate compass 1.0
3225*calibrate clino 0.5
3226*begin altroute
3227; first survey
3228*end altroute
3229*begin faraway
3230; second survey
3231*end faraway
3232*end</programlisting>
3233
3234</Sect3>
3235
3236</Sect2>
3237
3238<Sect2><Title>Add surface topology</Title>
3239
3240<!-- FIXME put DEM support in aven -->
3241<Para>We intend to allow import of terrain data in DEM format, and also any
3242other formats in common use.  But at present the simplest approach is to
3243generate a &svx; file with the surface mesh in and display it with the
3244survey data.
3245</Para>
3246
3247<Para>
3248It is possible to generate
3249a mesh or contours overlaying your area by various means.  In the USA,
3250usable resolution data can be obtained for free.  In other countries,
3251it's harder to come by.  Reading heights from the
3252contours on a map is one approach.  It's laborious, but feasible for
3253a small area.
3254</Para>
3255
3256<Para>
3257Details of several methods are given in the BCRA Cave Surveying
3258Group magazine Compass Points issue 11, available online at
3259<ulink url="http://www.chaos.org.uk/survex/cp/CP11/CPoint11.htm#Art_5">http://www.chaos.org.uk/survex/cp/CP11/CPoint11.htm#Art_5</ulink>
3260</Para>
3261
3262<Para>If you're using another program to generate a &svx; file for the surface
3263mesh, it's best to use the NOSURVEY data style.
3264Simply fix all the grid intersections at the correct
3265coordinates and height, and put legs between them using the NOSURVEY style.
3266Here's a grid of 4 squares and 9 intersections:
3267</Para>
3268
3269<programlisting>
3270*fix 00 000 000 1070
3271*fix 01 000 100 1089
3272*fix 02 000 200 1093
3273
3274*fix 10 100 000 1062
3275*fix 11 100 100 1080
3276*fix 12 100 200 1089
3277
3278*fix 20 200 000 1050
3279*fix 21 200 100 1065
3280*fix 22 200 200 1077
3281
3282*data nosurvey station
3283
328400
328501
328602
3287
328810
328911
329012
3291
329220
329321
329422
3295
329600
329710
329820
3299
330001
330111
330221
3303
330402
330512
330622</programlisting>
3307
3308<Para>
3309This is far simpler than trying to create fake tape/compass/clino legs of
3310the right length for each line in the mesh.  It's also very fast to process
3311with cavern.
3312</Para>
3313
3314<Para>SpeleoGen can also help with this process if you want
3315final output in DXF form.  See the 'Related Tools' section of the
3316Survex website for download links.
3317</Para>
3318
3319</Sect2>
3320
3321<Sect2><Title>Overlay a grid</Title>
3322
3323<Para>Aven is able to display a grid, but this functionality isn't currently
3324available in printouts.
3325You can achieve a similar effect for now by creating a &svx; file
3326where the survey legs form a grid.
3327</Para>
3328
3329</Sect2>
3330
3331<Sect2><Title>Import data from other programs</Title>
3332
3333<Para>&survexsuite; supports a number of features to help with importing
3334existing data. You can specify the ordering of items on a line using *Data
3335(see &survexsuite; Keywords above), and you can specify the characters used
3336to mean different things using *Set (see &survexsuite; Keywords above).
3337</Para>
3338
3339<Para>The Ignore and Ignoreall options to the *Data command are often
3340particularly useful, e.g. if you have a dataset with LRUD info or comments
3341on the ends of lines.
3342</Para>
3343
3344<Sect3><Title>Changing Meanings of Characters</Title>
3345
3346<Para>e.g. if you have some data with station names containing the
3347characters '?' and '+' (which are not permitted in a name by default)
3348then the command:
3349</Para>
3350
3351<programlisting>
3352*SET NAMES ?+</programlisting>
3353
3354<Para>
3355specifies that question marks and plus signs are permitted in station names.
3356A-Z, a-z, and 0-9 are always permitted. '_' and '-' are also permitted by
3357default, but aren't in this example.
3358</Para>
3359
3360<Para>If your data uses a comma ',' instead of a decimal point, then
3361you use
3362</Para>
3363
3364<programlisting>
3365*SET DECIMAL ,</programlisting>
3366
3367<Para>to specify that ',' is now the decimal separator instead of '.'.
3368</Para>
3369
3370<!-- FIXME
3371<Para>Note that there are plenty of ways you can use this facility to
3372completely confuse the software, as it may not be able to work out what is
3373going on, or it may simply be ambiguous. It can cope with some ambiguity (e.g.
3374the '-' character is used both for 'MINUS' and for 'OMIT'), but there are
3375limits. If you have a dataset that you can not make &survexsuite;
3376understand, then send it to us, and we will see what can be done.
3377</Para>
3378-->
3379
3380</Sect3>
3381
3382<!--
3383 Nobody seems to have the CfH convertor...
3384 but it's probably no longer useful anyway
3385
3386<Sect3><Title>Other Converters</Title>
3387
3388<Para>We have an Excel 5 macro for converting The Lotus 123 spreadsheets
3389used by the German survey software Cad F&uuml;r H&ouml;hlen into
3390&survexsuite; data files. Other converters may also come to be available.
3391These will normally be available via the
3392<ulink url="&survexwebsite;">&survexsuite; Web pages</ulink>.
3393</Para>
3394
3395</Sect3>
3396-->
3397
3398</Sect2>
3399
3400<Sect2><Title>Export data from &survexsuite;</Title>
3401
3402<Para>See Rosetta Stal in the Related Tools section of the Survex web
3403site.  This is a utility written by Taco van Ieperen and Gary Petrie.
3404Note though that this only supports a subset of the svx format,
3405and only work on Microsoft Windows.  The Survex support is limited
3406and doesn't understand the more recently added commands.</Para>
3407
3408</Sect2>
3409
3410<Sect2><Title>See errors and warnings that have gone off the screen</Title>
3411
3412<Para>When you run &survexsuite; it will process the specified survey data
3413files in order, reporting any warnings and errors.  If there are no
3414errors, the output files are written and various statistics about the
3415survey are displayed. If there are a lot of warnings or errors, they can
3416scroll off the screen and it's not always possible to scroll back to
3417read them.
3418</Para>
3419
3420<Para>The easiest way to see all the text is to use <command>cavern
3421--log</command> to redirect output to a <filename>.log</filename> file,
3422which you can then inspect with a text editor.
3423</Para>
3424
3425<!-- <command/cavern cavename &gt; tmpfile/ -->
3426
3427</Sect2>
3428
3429<Sect2><Title>Create an Extended Elevation</Title>
3430
3431<Para>Use the Extend program. This takes &x3d; files and
3432'flattens' them.  See 'Extend' for details.
3433</Para>
3434
3435</Sect2>
3436
3437</Sect1>
3438
3439<!--
3440<Sect1><Title>Appendices</Title>
3441<?dbhtml filename="appendix.htm">
3442
3443<Para>Files provided
3444</Para>
3445
3446<Para>Command specification
3447</Para>
3448
3449</Sect1>
3450-->
3451<Sect1><Title>Working with Larry Fish's Compass</Title>
3452<?dbhtml filename="compass.htm">
3453
3454<Para>
3455Survex can read Compass survey data - both raw data (.DAT and .MAK
3456files) and processed survey data (.PLT and .PLF files).  You can even
3457use <command>*include compassfile.dat</command> in a &svx; file and
3458it'll work!
3459</Para>
3460
3461<Para>
3462One point to note (this tripped us up!): station names in DAT files are
3463case sensitive and so Survex reads DAT files with the equivalent of
3464<command>*case preserve</command>.  The default in SVX files is
3465<command>*case lower</command>.  So this won't work:
3466
3467<programlisting>
3468*fix CE1 0 0 0
3469*include datfilewhichusesCE1.dat</programlisting>
3470
3471Because the CE1 in the *fix is actually interpreted as ce1.  This is
3472what you have to do:
3473
3474<programlisting>
3475*begin
3476*case preserve
3477*fix CE1 0 0 0
3478*include datfilewhichusesCE1.dat
3479*end</programlisting>
3480</Para>
3481
3482</Sect1>
3483
3484<Sect1><Title>Mailing List</Title>
3485<?dbhtml filename="maillist.htm">
3486
3487<Para>The best way to contact the authors and other Survex users is the
3488Survex mailing list - for details visit:
3489<ulink url="http://survex.com/maillist.html">http://survex.com/maillist.html</ulink>
3490</Para>
3491
3492<Para>We'd be delighted to hear how you get on with &survexsuite; and
3493welcome comments and suggestions for improvements.</Para>
3494
3495<Para>
3496And we'd love you to contribute your skills to help make &survexsuite; even
3497better.  Point out areas of the documentation which could be made clearer, or
3498sections which are missing entirely.  Download test releases, try them out, and
3499let us know if you find problems or have suggestions for improvements.
3500If there's no translation to your language, you could provide one.
3501Or if your a developer, <emphasis>"Say it with code"</emphasis>.  There's
3502plenty to do, so feel free to join in.
3503</Para>
3504
3505</Sect1>
3506
3507<Sect1><Title>Future Developments</Title>
3508<?dbhtml filename="future.htm">
3509
3510<Para>
3511Now that &survexsuite; has reached version 1.0, we are continuing progress
3512towards version 2, in a series of steps, evolving out of
3513Survex 1.0.  The GUI framework is being based on aven, with
3514the printer drivers and other utility programs being pulled in
3515and integrated into the menus.</Para>
3516
3517<Para>Aven is built on &wxwidgets;, which means that it can easily support
3518Unix, Microsoft Windows, and Mac OS X.</Para>
3519
3520<Para>More information on our plans is on the <ulink
3521url="&survexwebsite;">web site</ulink>.
3522</Para>
3523
3524</Sect1>
3525
3526</article>
Note: See TracBrowser for help on using the repository browser.