This file is indexed.

/usr/share/doc/gmt/html/man/gmtstitch.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
<!-- Creator     : groff version 1.22.2 -->
<!-- CreationDate: Thu Feb 27 18:15:14 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>GMTSTITCH</title>

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

<h1 align="center">GMTSTITCH</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="#BUGS">BUGS</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">gmtstitch
&minus; Join line segments whose end points match within
tolerance</p>

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



<p style="margin-left:11%; margin-top: 1em"><b>gmtstitch</b>
[ <i>infiles</i> ] [ <b>&minus;C</b>[<i>closed</i>] ] [
<b>&minus;D</b>[<i>template</i>] ] [
<b>&minus;H</b>[<b>i</b>][<i>nrec</i>] ] [
<b>&minus;L</b>[<i>linkfile</i>] ] [
<b>&minus;Q</b>[<i>template</i>] ] [
<b>&minus;T</b><i>cutoff</i>[<b>m</b>|<b>c</b>|<b>e</b>|<b>E</b>|<b>k</b>|<b>K</b>][/<i>nn_dist</i>]
] [ <b>&minus;V</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;bo</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;m</b>[<b>i</b>|<b>o</b>][<i>flag</i>] ]</p>

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



<p style="margin-left:11%; margin-top: 1em"><b>gmtstitch</b>
reads one or more data files (which may be multisegment
files; see <b>&minus;m</b>) and examines the coordinates of
the end points of all line segments. If a pair of end points
are identical or closer to each other than the specified
separation tolerance then the two line segments are joined
into a single segment. The process repeats until all the
remaining endpoints no longer pass the tolerance test; the
resulting segments are then written out to standard output.
It it is not clear what the separation tolerance should be
then use <b>&minus;L</b> to get a list of all separation
distances and analyze them to determine a suitable cutoff.
<i><br>
file(s)</i></p>

<p style="margin-left:22%;">One of more data files. If none
are supplied then we read standard input.</p>

<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;C</b></p></td>
<td width="7%"></td>
<td width="78%">


<p style="margin-top: 1em">Write all the closed polygons to
<i>closed</i> [gmtstitch_closed.d] and all other segments as
they are to stdout. No stitching takes place. Use
<b>&minus;T</b><i>cutoff</i> to set a minimum separation
[0], and if <i>cutoff</i> is &gt; 0 then we also close the
polygons on output.</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>For multiple segment data, dump each segment to a
separate output file [Default writes a multiple segment file
to stdout]. Append a format template for the individual file
names; this template <b>must</b> contain a C format
specifier that can format an integer argument (the segment
number); this is usually %d but could be %8.8d which gives
leading zeros, etc. Optionally, it may also contain the
format %c <i>before</i> the integer; this will then be
replaced by C (closed) or O (open) to indicate segment type.
[Default is gmtstitch_segment_%d.d]. Note that segment
headers will be written in either case. For composite
segments, a generic segment header will be written and the
segment headers of individual pieces will be written out as
comments to make it possible to identify where the stitched
pieces came from.</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.</p></td></tr>
<tr valign="top" align="left">
<td width="11%"></td>
<td width="4%">


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


<p>Writes the link information to the specified file
[links.d]. For each segment we write the original segment
id, and for the beginning and end point of the segment we
report the id of the closest segment, whether it is the
beginning (B) or end (E) point that is closest, and the
distance between those points in units determined by
<b>&minus;T</b>.</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>Used with <b>&minus;D</b> to a list file with the names
of the individual output files. Optionally, append a
filename template for the individual file names; this
template <b>may</b> contain a C format specifier that can
format an character (C or O for closed or open,
respectively). [Default is gmtstitch_list.d].</p></td></tr>
<tr valign="top" align="left">
<td width="11%"></td>
<td width="4%">


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


<p>Specifies the separation tolerance in the data
coordinate units [0]. Append <b>m</b> or <b>c</b> for
minutes or seconds, or <b>e</b> or <b>k</b> for meters or km
(implies <b>&minus;fg</b> using use flat Earth
approximation. Use <b>E</b> or <b>K</b> for exact geodesic
distances; however. if the current ELLIPSOID is Sphere then
spherical great circle distances are used. If two lines has
endpoints that are closer than this cutoff they will be
joined. Optionally, append /<i>nn_dist</i> which adds the
requirement that a link will only be made if the second
closest connection exceeds the <i>nn_dist</i>. The latter
distance is assumed to be in the same units as
<i>cutoff</i>.</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;:</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 input columns].</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 same as input].</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>
<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>Multiple segment file(s). Segments are separated by a
special record. For ASCII files the first character must be
<i>flag</i> [Default is &rsquo;&gt;&rsquo;]. For binary
files all fields must be NaN and <b>&minus;b</b> must set
the number of output columns explicitly. By default the
<b>&minus;m</b> setting applies to both input and output.
Use <b>&minus;mi</b> and <b>&minus;mo</b> to give separate
settings to input and output.</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">To combine the
digitized multisegment lines segment_*.d (whose coordinates
are in cm) into as few complete lines as possible, assuming
the end points slop could be up to 0.1 mm, run</p>


<p style="margin-left:11%; margin-top: 1em"><b>gmtstitch</b>
segment_*.d <b>&minus;Tf</b> 0.1 <b>&minus;m</b> &gt;
new_segments.d</p>

<p style="margin-left:11%; margin-top: 1em">To combine the
digitized segments in the multisegment file my_lines.d
(whose coordinates are in lon,lat) into as few complete
lines as possible, assuming the end points slop could be up
to 150 m, and write the complete segments to separate files
called Map_segment_0001.dat, Map_segment_0002.dat, etc.,
run</p>


<p style="margin-left:11%; margin-top: 1em"><b>gmtstitch</b>
my_lines.d <b>&minus;Tf</b> 0.15k <b>&minus;m &minus;D</b>
Map_segment_%4.4d.dat</p>

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


<p style="margin-left:11%; margin-top: 1em">The line
connection does not work if a line only has a single point.
However, gmtstitch will correctly add the point to the
nearest segment. Running gmtstitch again on the new set of
lines will eventually connect all close lines.</p>

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


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