source: git/doc/manual.sgml @ 558779a

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

doc/manual.sgml: Tweak text about Debian packages.

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