This file is indexed.

/usr/share/doc/gmt/html/man/splitxyz.html is in gmt-doc 4.5.12-1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  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
<!-- Creator     : groff version 1.22.2 -->
<!-- CreationDate: Thu Feb 27 18:14:05 2014 -->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta name="generator" content="groff -Thtml, see www.gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<meta name="Content-Style" content="text/css">
<style type="text/css">
       p       { margin-top: 0; margin-bottom: 0; vertical-align: top }
       pre     { margin-top: 0; margin-bottom: 0; vertical-align: top }
       table   { margin-top: 0; margin-bottom: 0; vertical-align: top }
       h1      { text-align: center }
</style>
<title>SPLITXYZ</title>

</head>
<body bgcolor="#ffffff">

<h1 align="center">SPLITXYZ</h1>

<a href="#NAME">NAME</a><br>
<a href="#SYNOPSIS">SYNOPSIS</a><br>
<a href="#DESCRIPTION">DESCRIPTION</a><br>
<a href="#OPTIONS">OPTIONS</a><br>
<a href="#ASCII FORMAT PRECISION">ASCII FORMAT PRECISION</a><br>
<a href="#EXAMPLES">EXAMPLES</a><br>
<a href="#SEE ALSO">SEE ALSO</a><br>

<hr>


<h2>NAME
<a name="NAME"></a>
</h2>


<p style="margin-left:11%; margin-top: 1em">splitxyz
&minus; filter to divide (x,y,z[,distance,heading]) data
into (x,y,z) track segments.</p>

<h2>SYNOPSIS
<a name="SYNOPSIS"></a>
</h2>



<p style="margin-left:11%; margin-top: 1em"><b>splitxyz</b>
[ <i>xyz[dh]file</i> ] <b>&minus;C</b><i>course_change</i> [
<b>&minus;A</b><i>azimuth</i>/<i>tolerance</i> ] [
<b>&minus;D</b><i>minimum_distance</i> ] [
<b>&minus;F</b><i>xy_filter</i>/<i>z_filter</i> ] [
<b>&minus;G</b><i>gap_distance</i> ] [
<b>&minus;H</b>[<b>i</b>][<i>nrec</i>] ] [ <b>&minus;M</b> ]
[ <b>&minus;N</b><i>namestem</i> ] [
<b>&minus;Q</b><i>flags</i> ] [ <b>&minus;S</b> ] [
<b>&minus;V</b> ] [ <b>&minus;Z</b> ] [
<b>&minus;:</b>[<b>i</b>|<b>o</b>] ] [
<b>&minus;b</b>[<b>i</b>|<b>o</b>][<b>s</b>|<b>S</b>|<b>d</b>|<b>D</b>[<i>ncol</i>]|<b>c</b>[<i>var1</i><b>/</b><i>...</i>]]
] [ <b>&minus;f</b>[<b>i</b>|<b>o</b>]<i>colinfo</i> ]</p>

<h2>DESCRIPTION
<a name="DESCRIPTION"></a>
</h2>



<p style="margin-left:11%; margin-top: 1em"><b>splitxyz</b>
reads a series of (x,y[,z]) records [or optionally
(x,y,z,d,h); see <b>&minus;S</b> option] from standard input
[or <i>xyz[dh]file</i>] and splits this into separate lists
of (x,y[,z]) series, such that each series has a nearly
constant azimuth through the x,y plane. There are options to
choose only those series which have a certain orientation,
to set a minimum length for series, and to high&minus; or
low&minus;pass filter the z values and/or the x,y values.
<b>splitxyz</b> is a useful filter between data extraction
and <b><A HREF="pswiggle.html">pswiggle</A></b> plotting, and can also be used to divide
a large x,y,z dataset into segments. The output is always in
the ASCII format; input may be ASCII or binary (see
<b>&minus;b</b>). <i><br>
xyz[dh]file(s)</i></p>

<p style="margin-left:22%;">3 (but see <b>&minus;Z</b>) [or
5] column ASCII file [or binary, see <b>&minus;b</b>]
holding (x,y,z[,d,h]) data values. To use (x,y,z,d,h) input,
sorted so that d is non-decreasing, specify the
<b>&minus;S</b> option; default expects (x,y,z) only. If no
file is specified, <b>splitxyz</b> will read from standard
input.</p>

<table width="100%" border="0" rules="none" frame="void"
       cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="11%"></td>
<td width="3%">


<p><b>&minus;C</b></p></td>
<td width="8%"></td>
<td width="78%">


<p>Terminate a segment when a course change exceeding
<i>course_change</i> degrees of heading is detected.</p></td></tr>
</table>

<h2>OPTIONS
<a name="OPTIONS"></a>
</h2>


<table width="100%" border="0" rules="none" frame="void"
       cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="11%"></td>
<td width="4%">


<p style="margin-top: 1em"><b>&minus;A</b></p></td>
<td width="7%"></td>
<td width="78%">


<p style="margin-top: 1em">Write out only those segments
which are within +/- <i>tolerance</i> degrees of
<i>azimuth</i> in heading, measured clockwise from North, [0
- 360]. [Default writes all acceptable segments, regardless
of orientation].</p></td></tr>
<tr valign="top" align="left">
<td width="11%"></td>
<td width="4%">


<p><b>&minus;D</b></p></td>
<td width="7%"></td>
<td width="78%">


<p>Do not write a segment out unless it is at least
<i>minimum_distance</i> units long [0]</p></td></tr>
<tr valign="top" align="left">
<td width="11%"></td>
<td width="4%">


<p><b>&minus;F</b></p></td>
<td width="7%"></td>
<td width="78%">


<p>Filter the z values and/or the x,y values, assuming
these are functions of d coordinate. <i>xy_filter</i> and
<i>z_filter</i> are filter widths in distance units. If a
filter width is zero, the filtering is not performed. The
absolute value of the width is the full width of a
cosine&minus;arch low&minus;pass filter. If the width is
positive, the data are low&minus;pass filtered; if negative,
the data are high&minus;pass filtered by subtracting the
low&minus;pass value from the observed value. If
<i>z_filter</i> is non&minus;zero, the entire series of
input z values is filtered before any segmentation is
performed, so that the only edge effects in the filtering
will happen at the beginning and end of the complete data
stream. If <i>xy_filter</i> is non&minus;zero, the data is
first divided into segments and then the x,y values of each
segment are filtered separately. This may introduce edge
effects at the ends of each segment, but prevents a
low&minus;pass x,y filter from rounding off the corners of
track segments. [Default = no filtering].</p></td></tr>
<tr valign="top" align="left">
<td width="11%"></td>
<td width="4%">


<p><b>&minus;G</b></p></td>
<td width="7%"></td>
<td width="78%">


<p>Do not let a segment have a gap exceeding
<i>gap_distance</i>; instead, split it into two segments.
[Default ignores gaps].</p></td></tr>
<tr valign="top" align="left">
<td width="11%"></td>
<td width="4%">


<p><b>&minus;H</b></p></td>
<td width="7%"></td>
<td width="78%">


<p>Input file(s) has header record(s). If used, the default
number of header records is <b><A HREF="gmtdefaults.html#N_HEADER_RECS">N_HEADER_RECS</A></b>. Use
<b>&minus;Hi</b> if only input data should have header
records [Default will write out header records if the input
data have them]. Blank lines and lines starting with # are
always skipped. Not used with binary data.</p></td></tr>
<tr valign="top" align="left">
<td width="11%"></td>
<td width="4%">


<p><b>&minus;M</b></p></td>
<td width="7%"></td>
<td width="78%">


<p>Use Map units. Then x,y are in degrees of longitude,
latitude, distances are in kilometers, and angles are
azimuths. [Default: distances are cartesian in same units as
x,y and angles are counter-clockwise from horizontal].</p></td></tr>
<tr valign="top" align="left">
<td width="11%"></td>
<td width="4%">


<p><b>&minus;N</b></p></td>
<td width="7%"></td>
<td width="78%">


<p>Create Named output files, writing each segment to a
separate file in the working directory named
<i>namestem</i>.profile<i>#</i>, where <i>#</i> increases
consecutively from 1. [Default writes entire output to
stdout, separating segments by sub-headings that start with
&gt; marks].</p></td></tr>
<tr valign="top" align="left">
<td width="11%"></td>
<td width="4%">


<p><b>&minus;Q</b></p></td>
<td width="7%"></td>
<td width="78%">


<p>Specify your desired output using any combination of
<i>xyzdh</i>, in any order. Do not space between the
letters. Use lower case. The output will be ASCII (or
binary, see <b>&minus;bo</b>) columns of values
corresponding to <i>xyzdh</i> [Default is
<b>&minus;Q</b><i>xyzdh</i> (<b>&minus;Q</b><i>xydh</i> if
<b>&minus;Z</b> is set)].</p></td></tr>
<tr valign="top" align="left">
<td width="11%"></td>
<td width="4%">


<p><b>&minus;S</b></p></td>
<td width="7%"></td>
<td width="78%">


<p>d and h is supplied. In this case, input contains
x,y,z,d,h. [Default expects (x,y,z) input, and d,h are
computed from delta x, delta y, according to <b>&minus;M</b>
option]</p> </td></tr>
<tr valign="top" align="left">
<td width="11%"></td>
<td width="4%">


<p><b>&minus;V</b></p></td>
<td width="7%"></td>
<td width="78%">


<p>Selects verbose mode, which will send progress reports
to stderr [Default runs &quot;silently&quot;].</p></td></tr>
<tr valign="top" align="left">
<td width="11%"></td>
<td width="4%">


<p><b>&minus;Z</b></p></td>
<td width="7%"></td>
<td width="78%">


<p>Data have x,y only (no z-column).</p></td></tr>
<tr valign="top" align="left">
<td width="11%"></td>
<td width="4%">


<p><b>&minus;:</b></p></td>
<td width="7%"></td>
<td width="78%">


<p>Toggles between (longitude,latitude) and
(latitude,longitude) input and/or output. [Default is
(longitude,latitude)]. Append <b>i</b> to select input only
or <b>o</b> to select output only. [Default affects
both].</p> </td></tr>
<tr valign="top" align="left">
<td width="11%"></td>
<td width="4%">


<p><b>&minus;bi</b></p></td>
<td width="7%"></td>
<td width="78%">


<p>Selects binary input. Append <b>s</b> for single
precision [Default is <b>d</b> (double)]. Uppercase <b>S</b>
or <b>D</b> will force byte-swapping. Optionally, append
<i>ncol</i>, the number of columns in your binary input file
if it exceeds the columns needed by the program. Or append
<b>c</b> if the input file is netCDF. Optionally, append
<i>var1</i><b>/</b><i>var2</i><b>/</b><i>...</i> to specify
the variables to be read. [Default is 2, 3, or 5 input
columns as set by <b>&minus;S</b>, <b>&minus;Z</b>].</p></td></tr>
<tr valign="top" align="left">
<td width="11%"></td>
<td width="4%">


<p><b>&minus;bo</b></p></td>
<td width="7%"></td>
<td width="78%">


<p>Selects binary output. Append <b>s</b> for single
precision [Default is <b>d</b> (double)]. Uppercase <b>S</b>
or <b>D</b> will force byte-swapping. Optionally, append
<i>ncol</i>, the number of desired columns in your binary
output file. [Default is 1-5 output columns as set by
<b>&minus;Q</b>].</p> </td></tr>
<tr valign="top" align="left">
<td width="11%"></td>
<td width="4%">


<p><b>&minus;f</b></p></td>
<td width="7%"></td>
<td width="78%">


<p>Special formatting of input and/or output columns (time
or geographical data). Specify <b>i</b> or <b>o</b> to make
this apply only to input or output [Default applies to
both]. Give one or more columns (or column ranges) separated
by commas. Append <b>T</b> (absolute calendar time),
<b>t</b> (relative time in chosen <b><A HREF="gmtdefaults.html#TIME_UNIT">TIME_UNIT</A></b> since
<b><A HREF="gmtdefaults.html#TIME_EPOCH">TIME_EPOCH</A></b>), <b>x</b> (longitude), <b>y</b>
(latitude), or <b>f</b> (floating point) to each column or
column range item. Shorthand
<b>&minus;f</b>[<b>i</b>|<b>o</b>]<b>g</b> means
<b>&minus;f</b>[<b>i</b>|<b>o</b>]0<b>x</b>,1<b>y</b>
(geographic coordinates).</p></td></tr>
</table>

<h2>ASCII FORMAT PRECISION
<a name="ASCII FORMAT PRECISION"></a>
</h2>


<p style="margin-left:11%; margin-top: 1em">The ASCII
output formats of numerical data are controlled by
parameters in your .gmtdefaults4 file. Longitude and
latitude are formatted according to
<b><A HREF="gmtdefaults.html#OUTPUT_DEGREE_FORMAT">OUTPUT_DEGREE_FORMAT</A></b>, whereas other values are
formatted according to <b><A HREF="gmtdefaults.html#D_FORMAT">D_FORMAT</A></b>. Be aware that the
format in effect can lead to loss of precision in the
output, which can lead to various problems downstream. If
you find the output is not written with enough precision,
consider switching to binary output (<b>&minus;bo</b> if
available) or specify more decimals using the
<b><A HREF="gmtdefaults.html#D_FORMAT">D_FORMAT</A></b> setting.</p>

<h2>EXAMPLES
<a name="EXAMPLES"></a>
</h2>


<p style="margin-left:11%; margin-top: 1em">Suppose you
want to make a wiggle plot of magnetic anomalies on segments
oriented approximately east&minus;west from a cruise called
cag71 in the region &minus;R300/315/12/20. You want to use a
100km low&minus;pass filter to smooth the tracks and a 500km
high&minus;pass filter to detrend the magnetic anomalies.
Try this:</p>

<p style="margin-left:11%; margin-top: 1em"><b><A HREF="gmtlist.html">gmtlist</A></b>
cag71 <b>&minus;R</b> 300/315/12/20 <b>&minus;F</b> xyzdh |
<b>splitxyz &minus;A</b> 90/15 <b>&minus;F</b> 100/-500
<b>&minus;M &minus;D</b> 100 <b>&minus;S &minus;V</b> |
<b>pswiggle &minus;R</b> 300/315/12/20 <b>&minus;Jm</b> 0.6
<b>&minus;Ba</b> 5<b>f</b>1:.cag71: <b>&minus;T</b> 1
<b>&minus;W</b> 0.75p <b>&minus;G</b> gray <b>&minus;Z</b>
200 &gt; cag71_wiggles.ps</p>

<p style="margin-left:11%; margin-top: 1em">MGD-77 users:
For this application we recommend that you extract d, h from
<b><A HREF="mgd77list.html">mgd77list</A></b> rather than have <b>splitxyz</b> compute
them separately.</p>

<p style="margin-left:11%; margin-top: 1em">Suppose you
have been given a binary, double-precision file containing
lat, lon, gravity values from a survey, and you want to
split it into profiles named <i>survey</i>.profile<i>#</i>
(when gap exceeds 100 km). Try this:</p>


<p style="margin-left:11%; margin-top: 1em"><b>splitxyz</b>
survey.bin <b>&minus;N</b> survey <b>&minus;V &minus;G</b>
100 <b>&minus;D</b> 100 <b>&minus;: &minus;M
&minus;bi3</b></p>

<h2>SEE ALSO
<a name="SEE ALSO"></a>
</h2>



<p style="margin-left:11%; margin-top: 1em"><b><i><A HREF="GMT.html">GMT</A></i></b>(1),
<i><A HREF="mgd77list.html">mgd77list</A></i>(1), <i><A HREF="pswiggle.html">pswiggle</A></i>(1)</p>
<hr>
</body>
</html>