File: svxhowto.htm

package info (click to toggle)
survex 1.4.17-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 14,268 kB
  • sloc: ansic: 21,446; cpp: 18,495; sh: 5,401; javascript: 831; perl: 755; makefile: 610; python: 83; xml: 35
file content (441 lines) | stat: -rw-r--r-- 21,233 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
<!DOCTYPE html>

<html lang="en" data-content_root="./">
  <head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />

    <title>.svx Cookbook &#8212; Survex 1.4.17 documentation</title>
    <link rel="stylesheet" type="text/css" href="_static/pygments.css?v=d1102ebc" />
    <link rel="stylesheet" type="text/css" href="_static/alabaster.css?v=12dfc556" />
    <script src="_static/documentation_options.js?v=91e0adf2"></script>
    <script src="_static/doctools.js?v=9bcbadda"></script>
    <script src="_static/sphinx_highlight.js?v=dc90522c"></script>
    <link rel="index" title="Index" href="genindex.htm" />
    <link rel="search" title="Search" href="search.htm" />
    <link rel="next" title="General: How do I?" href="genhowto.htm" />
    <link rel="prev" title="Survex data files" href="datafile.htm" />
   
  <link rel="stylesheet" href="_static/custom.css" type="text/css" />
  

  
  

  </head><body>
  

    <div class="document">
      <div class="documentwrapper">
        <div class="bodywrapper">
          

          <div class="body" role="main">
            
  <section id="svx-cookbook">
<h1><code class="docutils literal notranslate"><span class="pre">.svx</span></code> Cookbook<a class="headerlink" href="#svx-cookbook" title="Link to this heading">¶</a></h1>
<p>Here is some example Survex data (a very small cave numbered
1623/163):</p>
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>2 1 26.60 222  17.5
2 3 10.85 014   7
2 4  7.89 254 -11
4 5  2.98  - DOWN
5 6  9.29 271 -28.5
</pre></div>
</div>
<p>You can vary the data ordering. The default is:</p>
<blockquote>
<div><p>from-station to-station tape compass clino</p>
</div></blockquote>
<p>This data demonstrates a number of useful features of Survex:</p>
<p>Legs can be measured either way round, which allows the use of
techniques like “leap-frogging” (which is where legs alternate
forwards and backwards).</p>
<p>Also notice that there is a spur in the survey (2 to 3). You do not
need to specify this specially.</p>
<p>Survex places few restrictions on station naming (see “Survey Station
Names” in the previous section), so you can number the stations as
they were in the original survey notes. Although not apparent from
this example, there is no requirement for each leg to connect to an
existing station. Survex can accept data in any order, and will check
for connectedness once all the data has been read in.</p>
<p>Each survey is also likely to have other information associated with
it, such as instrument calibrations, etc. This has been omitted from
this example to keep things simple.</p>
<p>Most caves will take more than just one survey trip to map. Commonly
the numbering in each survey will begin at 1, so we need to be able
to tell apart stations with the same number in different surveys.</p>
<p>To accomplish this, Survex has a very flexible system of hierarchical
prefixes. All you need do is give each survey a unique name or
number, and enter the data like so:</p>
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>*begin 163
*export 1
2 1 26.60 222  17.5
2 3 10.85 014   7
2 4  7.89 254 -11
4 5  2.98  - DOWN
5 6  9.29 271 -28.5
*end 163
</pre></div>
</div>
<p>Survex will name the stations by attaching the current prefix. In
this case, the stations will be named 163.1, 163.2, etc.</p>
<p>We have a convention with the CUCC Austria data that the entrance
survey station of a cave is named P&lt;cave number&gt;, P163 in this case.
We can accomplish this like so:</p>
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>*equate P163 163.1
*entrance P163
*begin 163
*export 1
2 1 26.60 222  17.5
2 3 10.85 014   7
2 4  7.89 254 -11
4 5  2.98  - DOWN
5 6  9.29 271 -28.5
*end 163
</pre></div>
</div>
<section id="join-surveys-together">
<h2>Join surveys together<a class="headerlink" href="#join-surveys-together" title="Link to this heading">¶</a></h2>
<p>Once you have more than one survey you need to specify how they
link together.  To do this use <code class="docutils literal notranslate"><span class="pre">*export</span></code> to make the stations to be
joined accessible in the enclosing survey, then <code class="docutils literal notranslate"><span class="pre">*equate</span></code> in the
enclosing survey to join them together.  For example:</p>
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>; CUCC convention is that p&lt;number&gt; is the entrance station
; for cave &lt;number&gt;.
*entrance p157
*equate p157 157.0

*begin 157

*export 157.0 ; tag bolt

*begin entpitch
*team &quot;Olly Betts&quot; Notes
*team &quot;Jenny Black&quot; Insts
*date 2012.08.05
*data normal from to tape compass clino
*export 0 5

1    0       3.226   202     -05
1    2       1.505   080     -13
1    3       2.605   030     +25
3    4       8.53    335     +80
4    5       7.499   060     +24

*end entpitch

*equate entpitch.5 pt2.1

*begin pt2
*team &quot;Olly Betts&quot; Notes
*team &quot;Jenny Black&quot; Insts
*date 2012.08.29
*export 1

1    2       5.361   054     -54
2    3       4.271   190     +00
2    4       4.634   138     +04

*end pt2

*end 157
</pre></div>
</div>
</section>
<section id="surface-survey-data">
<h2>Surface survey data<a class="headerlink" href="#surface-survey-data" title="Link to this heading">¶</a></h2>
<p>Say you have 2 underground surveys and 2 surface ones with a single
fixed reference point.  You want to mark the surface surveys so that
their length isn’t included in length statistics, and so that Aven
knows to display them differently.  To do this you mark surface
data with the “surface” flag - this is set with <code class="docutils literal notranslate"><span class="pre">*flags</span> <span class="pre">surface</span></code>
like so:</p>
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>; fixed reference point
*fix fix_a 12345 56789 1234

; surface data (enclosed in *begin ... *end to stop the *flags command
; from &quot;leaking&quot; out)
*begin
*flags surface
*include surface1
*include surface2
*end

; underground data
*include cave1
*include cave2
</pre></div>
</div>
<p>You might also have a single survey which starts on the surface and heads into
a cave.  This can be easily handled too - here’s an example which goes in one
entrance, through the cave, and out of another entrance:</p>
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>*begin BtoC
*title &quot;161b to 161c&quot;
*date 1990.08.06 ; trip 1990-161c-3 in 1990 logbook

*begin
*flags surface
02    01      3.09   249    -08.5
02    03      4.13   252.5  -26
*end

04    03      6.00   020    +37
04    05      3.07   329    -31
06    05      2.67   203    -40.5
06    07      2.20   014    +04
07    08      2.98   032    +04
08    09      2.73   063.5  +21
09    10     12.35   059    +15

*begin
*flags surface
11    10      4.20   221.5  -11.5
11    12      5.05   215    +03.5
11    13      6.14   205    +12.5
13    14     15.40   221    -14
*end

*end BtoC
</pre></div>
</div>
<p>Note that to avoid needless complication, Survex regards each leg
as being either “surface” or “not surface” - if a leg spans the
boundary you’ll have to call it one or the other.  It’s good
surveying practice to deliberately put a station at the
surface/underground interface (typically the highest closed
contour or drip line) so this generally isn’t an onerous
restriction.</p>
</section>
<section id="reading-order">
<h2>Reading order<a class="headerlink" href="#reading-order" title="Link to this heading">¶</a></h2>
<p>The <code class="docutils literal notranslate"><span class="pre">*data</span></code> command is used to specify the order in which the readings are
given.</p>
</section>
<section id="plumbs">
<h2>Plumbs<a class="headerlink" href="#plumbs" title="Link to this heading">¶</a></h2>
<p>Plumbed legs can be specified by using <code class="docutils literal notranslate"><span class="pre">UP</span></code> or <code class="docutils literal notranslate"><span class="pre">DOWN</span></code> in place of the
clino reading and a dash (or a different specified <code class="docutils literal notranslate"><span class="pre">OMIT</span></code>
character) in place of the compass reading.  This distinguishes
them from legs measured with a compass and clino.  Here’s an
example:</p>
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>1 2 21.54 - UP
3 2 7.36 017 +17
3 4 1.62 091 +08
5 4 10.38 - DOWN
</pre></div>
</div>
<p><code class="docutils literal notranslate"><span class="pre">U</span></code>/<code class="docutils literal notranslate"><span class="pre">D</span></code> or <code class="docutils literal notranslate"><span class="pre">+V</span></code>/<code class="docutils literal notranslate"><span class="pre">-V</span></code> may be used instead of <code class="docutils literal notranslate"><span class="pre">UP</span></code>/<code class="docutils literal notranslate"><span class="pre">DOWN</span></code>; the check
is not case sensitive.</p>
<p>If you prefer to use <code class="docutils literal notranslate"><span class="pre">-90</span></code> and <code class="docutils literal notranslate"><span class="pre">+90</span></code> as “magic” clino readings which are
instead treated as plumbs and don’t get clino corrections applied, etc, then
see <code class="docutils literal notranslate"><span class="pre">*infer</span> <span class="pre">plumbs</span> <span class="pre">on</span></code>.</p>
</section>
<section id="legs-across-static-water">
<h2>Legs across static water<a class="headerlink" href="#legs-across-static-water" title="Link to this heading">¶</a></h2>
<p>Legs surveyed across the surface of a static body of water where no clino
reading is taken (since the surface of the water can be assumed to be flat) can
be indicated by using <code class="docutils literal notranslate"><span class="pre">LEVEL</span></code> in place of a clino reading.  This prevents the
clino correction being applied.  (Note that unlike with plumbed readings, there
isn’t a way to treat a clino reading of <code class="docutils literal notranslate"><span class="pre">0</span></code> as meaning <code class="docutils literal notranslate"><span class="pre">LEVEL</span></code> because
<code class="docutils literal notranslate"><span class="pre">0</span></code> is a completely reasonable actual clino reading.)</p>
<p>Here’s an example:</p>
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>1 2 11.37 190 -12
3 2  7.36 017 LEVEL
3 4  1.62 091 LEVEL
</pre></div>
</div>
</section>
<section id="specify-a-bcra-grade">
<h2>Specify a BCRA grade<a class="headerlink" href="#specify-a-bcra-grade" title="Link to this heading">¶</a></h2>
<p>The <code class="docutils literal notranslate"><span class="pre">*sd</span></code> command can be used to specify the standard deviations of
the various measurements (tape, compass, clino, etc).  Examples
files are supplied which define BCRA Grade 3 and BCRA Grade 5
using a number of <code class="docutils literal notranslate"><span class="pre">*sd</span></code> commands.  You can use these by simply
including them at the relevant point, as follows:</p>
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>*begin somewhere
; This survey is only grade 3
*include grade3
2 1 26.60 222  17.5
2 3 10.85 014   7
; etc
*end somewhere
</pre></div>
</div>
<p>The default values for the standard deviations are those for BCRA grade 5.
Note that it is good practice to keep the <code class="docutils literal notranslate"><span class="pre">*include</span> <span class="pre">grade3</span></code> within <code class="docutils literal notranslate"><span class="pre">*begin</span></code>
and <code class="docutils literal notranslate"><span class="pre">*end</span></code> commands otherwise it will apply to following survey data, which
may not be what you intended.</p>
</section>
<section id="override-accuracy-for-a-leg">
<h2>Override accuracy for a leg<a class="headerlink" href="#override-accuracy-for-a-leg" title="Link to this heading">¶</a></h2>
<p>For example, suppose the tape on the plumbed leg in this survey is
suspected of being less accurate than the rest of the survey
because the length was obtained by measuring the length of the
rope used to rig the pitch.  We can set a higher sd for this one
measurement and use a <code class="docutils literal notranslate"><span class="pre">*begin</span></code>/<code class="docutils literal notranslate"><span class="pre">*end</span></code> block to make sure this
setting only applies to the one leg:</p>
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>2 1 26.60 222  17.5
2 3 10.85 014   7
2 4  7.89 254 -11
*begin
; tape measurement was taken from the rope length
*sd tape 0.5 metres
4 5  34.50 - DOWN
*end
5 6  9.29 271 -28.5
</pre></div>
</div>
</section>
<section id="repeated-readings">
<h2>Repeated Readings<a class="headerlink" href="#repeated-readings" title="Link to this heading">¶</a></h2>
<p>If your survey data contains multiple versions of each leg (for
example, pockettopo produces such data), then provided these are
adjacent to one another, Survex 1.2.17 and later will automatically
average these and treat them as a single leg.</p>
</section>
<section id="radiolocation-data">
<h2>Radiolocation Data<a class="headerlink" href="#radiolocation-data" title="Link to this heading">¶</a></h2>
<p>This is done by using the <code class="docutils literal notranslate"><span class="pre">*sd</span></code> command to specify the appropriate
errors for the radiolocation “survey leg” so that the loop
closure algorithm knows how to distribute errors if it forms part
of a loop.</p>
<p>The best approach for a radiolocation where the underground
station is vertically below the surface station is to represent it
as a plumbed leg, giving suitable SDs for the length and plumb
angle.  The horizontal positioning of this is generally quite
accurate, but the vertical positioning may be much less well
known.  E.g. we have a radiolocation of about 50m depth ±20m and
horizontal accuracy of ±8m.  Over 50m the ±8m is equivalent to
an angle of 9 degrees, so that is the expected plumb error.  20m is
the expected error in the length.  To get the equivalent SD we
assume that 99.74% of readings will be within 3 standard
deviations of the error value.  Thus we divide the expected errors
by 3 to get the SD we should specify:</p>
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>*begin
*sd length 6.67 metres
*sd plumb 3 degrees
surface underground 50 - down
*end
</pre></div>
</div>
<p>We wrap the radiolocation leg in a <code class="docutils literal notranslate"><span class="pre">*begin</span></code>/<code class="docutils literal notranslate"><span class="pre">*end</span></code> block to make
sure that the special *sd settings only apply to this one leg.</p>
<p>For more information on the expected errors from radiolocations
see Compass Points Issue 10, available online at
<a class="reference external" href="https://www.chaos.org.uk/survex/cp/CP10/CPoint10.htm">https://www.chaos.org.uk/survex/cp/CP10/CPoint10.htm</a></p>
</section>
<section id="diving-data">
<h2>Diving Data<a class="headerlink" href="#diving-data" title="Link to this heading">¶</a></h2>
<p>Surveys made underwater using a diver’s depth gauge can be
processed - use the <code class="docutils literal notranslate"><span class="pre">*data</span></code> command with the <code class="docutils literal notranslate"><span class="pre">diving</span></code> style
to specify that the data is of this type.</p>
</section>
<section id="theodolite-data">
<h2>Theodolite data<a class="headerlink" href="#theodolite-data" title="Link to this heading">¶</a></h2>
<p>Theodolite data with turned angles is not yet explicitly catered for, so for
now you will need to convert it into equivalent legs in another style -
<code class="docutils literal notranslate"><span class="pre">normal</span></code> or <code class="docutils literal notranslate"><span class="pre">cylpolar</span></code> styles are likely to be the best choices.</p>
<p>If there is no vertical info in your theodolite data then you
should use the <code class="docutils literal notranslate"><span class="pre">cylpolar</span></code> style and use <code class="docutils literal notranslate"><span class="pre">*sd</span></code> command to specify very
low accuracy (high SD) in the depth so that the points will move
in the vertical plane as required if the end points are fixed or
the survey is part of a loop.</p>
</section>
<section id="change-special-characters">
<h2>Change special characters<a class="headerlink" href="#change-special-characters" title="Link to this heading">¶</a></h2>
<p>See the <code class="docutils literal notranslate"><span class="pre">*set</span></code> command documentation for details, and some examples.</p>
</section>
</section>


          </div>
          
        </div>
      </div>
      <div class="sphinxsidebar" role="navigation" aria-label="Main">
        <div class="sphinxsidebarwrapper">
<h1 class="logo"><a href="index.htm">Survex</a></h1>








<h3>Navigation</h3>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="intro.htm">Introduction</a></li>
<li class="toctree-l1"><a class="reference internal" href="getstart.htm">Getting Started</a></li>
<li class="toctree-l1"><a class="reference internal" href="cmdline.htm">Survex Programs</a></li>
<li class="toctree-l1"><a class="reference internal" href="datafile.htm">Survex data files</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#"><code class="docutils literal notranslate"><span class="pre">.svx</span></code> Cookbook</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#join-surveys-together">Join surveys together</a></li>
<li class="toctree-l2"><a class="reference internal" href="#surface-survey-data">Surface survey data</a></li>
<li class="toctree-l2"><a class="reference internal" href="#reading-order">Reading order</a></li>
<li class="toctree-l2"><a class="reference internal" href="#plumbs">Plumbs</a></li>
<li class="toctree-l2"><a class="reference internal" href="#legs-across-static-water">Legs across static water</a></li>
<li class="toctree-l2"><a class="reference internal" href="#specify-a-bcra-grade">Specify a BCRA grade</a></li>
<li class="toctree-l2"><a class="reference internal" href="#override-accuracy-for-a-leg">Override accuracy for a leg</a></li>
<li class="toctree-l2"><a class="reference internal" href="#repeated-readings">Repeated Readings</a></li>
<li class="toctree-l2"><a class="reference internal" href="#radiolocation-data">Radiolocation Data</a></li>
<li class="toctree-l2"><a class="reference internal" href="#diving-data">Diving Data</a></li>
<li class="toctree-l2"><a class="reference internal" href="#theodolite-data">Theodolite data</a></li>
<li class="toctree-l2"><a class="reference internal" href="#change-special-characters">Change special characters</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="genhowto.htm">General: How do I?</a></li>
<li class="toctree-l1"><a class="reference internal" href="compass.htm">Larry Fish’s Compass</a></li>
<li class="toctree-l1"><a class="reference internal" href="walls.htm">David McKenzie’s Walls</a></li>
<li class="toctree-l1"><a class="reference internal" href="cmap.htm">Bob Thrun’s CMAP</a></li>
<li class="toctree-l1"><a class="reference internal" href="img.htm">Using the img library</a></li>
<li class="toctree-l1"><a class="reference internal" href="maillist.htm">Mailing List</a></li>
<li class="toctree-l1"><a class="reference internal" href="future.htm">Future Developments</a></li>
</ul>

<div class="relations">
<h3>Related Topics</h3>
<ul>
  <li><a href="index.htm">Documentation overview</a><ul>
      <li>Previous: <a href="datafile.htm" title="previous chapter">Survex data files</a></li>
      <li>Next: <a href="genhowto.htm" title="next chapter">General: How do I?</a></li>
  </ul></li>
</ul>
</div>
<search id="searchbox" style="display: none" role="search">
  <h3 id="searchlabel">Quick search</h3>
    <div class="searchformwrapper">
    <form class="search" action="search.htm" method="get">
      <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
      <input type="submit" value="Go" />
    </form>
    </div>
</search>
<script>document.getElementById('searchbox').style.display = "block"</script>








        </div>
      </div>
      <div class="clearer"></div>
    </div>
    <div class="footer">
      &#169;1998-2025.
      
      |
      Powered by <a href="https://www.sphinx-doc.org/">Sphinx 8.1.3</a>
      &amp; <a href="https://alabaster.readthedocs.io">Alabaster 0.7.16</a>
      
    </div>

    

    
  </body>
</html>