Provided by: gmt-common_5.2.1+dfsg-3build1_all bug

NAME

       gmtconvert - Convert, Paste, and/or Extract columns from data tables

SYNOPSIS

       gmtconvert  [  table  ] [  ] [ [+lmin][+umax][+i]] [ [template] ] [ [f|l|mstride] ] [  ] [
       [c|n|r|v][refpoint] ] [ [tsr] ] [ [~]selection] [ [~]"search string" | [~]/regexp/[i] ]  [
       ]  [  [level]  ]  [ -a<flags> ] [ -b<binary> ] [ -d<nodata> ] [ -f<flags> ] [ -g<gaps> ] [
       -h<headers> ] [ -i<flags> ] [ -o<flags> ] [ -s<flags> ] [ -:[i|o] ]

       Note: No space is allowed between the option flag and the associated arguments.

DESCRIPTION

       gmtconvert reads  its  standard  input  [or  input  files]  and  writes  out  the  desired
       information to standard output. It can do a combination of nine tasks: (1) convert between
       binary and ASCII  data  tables,  (2)  paste  corresponding  records  from  multiple  files
       horizontally  into  a single file, (3) extract a subset of the available columns, (4) only
       extract segments whose header record matches a text pattern search, (5) only list  segment
       headers  and  no data records, (6) extract first and/or last data record for each segment,
       (7) reverse the order of items on output, (8) output only ranges of segment  numbers,  and
       (9)  output  only  segments whose record count matches criteria.  Input (and hence output)
       may have multiple sub-headers, and ASCII tables may have regular headers as well.

REQUIRED ARGUMENTS

       None

OPTIONAL ARGUMENTS

       table  One or more ASCII (or binary, see -bi[ncols][type]) data table  file(s)  holding  a
              number of data columns. If no tables are given then we read from standard input.

       -A     The  records  from  the  input  files  should  be pasted horizontally, not appended
              vertically [Default]. All files must have the same number of segments and number of
              rows  per segment. Note for binary input, all the files you want to paste must have
              the same number of columns (as set with  -bi);  ASCII  tables  can  have  different
              number of columns.

       -C[+lmin][+umax][+i]
              Only  output  segments  whose number of records matches your given criteria: Append
              +lmin to ensure all segment must have at least min records to be written to  output
              [0],  and  append +umax  to ensure all segments must have at most max records to be
              written [inf].  You may append +i to invert the selection, i.e., only segments with
              record counts outside the given range will be output.

       -D[template]
              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 must contain a C format specifier that can
              format an integer argument (the running segment number across all tables); this  is
              usually  %d  but  could  be  %08d  which  gives  leading  zeros,  etc.  [Default is
              gmtconvert_segment_%d.{txt|bin}, depending on -bo]. Alternatively, give a  template
              with  two  C  format specifiers and we will supply the table number and the segment
              number within the table to build the file name.

       -E[f|l|mstride]
              Only extract the first and last  record  for  each  segment  of  interest  [Default
              extracts  all records]. Optionally, append f or l to only extract the first or last
              record of each segment, respectively.  Alternatively,  append  mstride  to  extract
              only one out of stride records.

       -F[c|n|r|v][refpoint]
              Alter  the  way  points are connected (by specifying a scheme) and data are grouped
              (by specifying a method).  Append one of four  line  connection  schemes:  c:  Form
              continuous  line  segments  for each group [Default].  r: Form line segments from a
              reference point reset for each group.  n: Form networks of  line  segments  between
              all  points  in  each group.  v: Form vector line segments suitable for psxy -Sv+s.
              Optionally, append the one of four segmentation methods to  define  the  group:  a:
              Ignore  all segment headers, i.e., let all points belong to a single group, and set
              group reference point to the very first point of the first file.  f:  Consider  all
              data in each file to be a single separate group and reset the group reference point
              to the first point of each group.  s: Segment headers are honored so  each  segment
              is  a group; the group reference point is reset to the first point of each incoming
              segment [Default].  r: Same as s, but the group reference point is reset after each
              record  to  the previous point (this method is only available with the -Fr scheme).
              Instead of the codes a|f|s|r you may append the coordinates  of  a  refpoint  which
              will serve as a fixed external reference point for all groups.

       -I[tsr]
              Invert  the  order of items, i.e., output the items in reverse order, starting with
              the last and ending up with the first item [Default keeps original  order].  Append
              up  to  three  items that should be reversed: t will reverse the order of tables, s
              will reverse the order of segments within each table, and r will reverse the  order
              of records within each segment [Default].

       -L     Only  output  a listing of all segment header records and no data records (requires
              ASCII data).

       -Q[~]selection
              Only write segments whose number is included in  selection  and  skip  all  others.
              Cannot  be used with -S. The selection syntax is range[,range,...] where each range
              of items is either a single segment number or a range with stepped increments given
              via  start[:step:]:stop  (step  is  optional  and  defaults to 1). A leading ~ will
              invert the selection and write all segments but the ones listed.  Instead of a list
              of ranges, use +ffile to supply a file list with one range per line.

       -S[~]"search string" or -S[~]/regexp/[i]
              Only  output those segments whose header record contains the specified text string.
              To reverse the search, i.e., to output segments whose headers do  not  contain  the
              specified  pattern, use -S~. Should your pattern happen to start with ~ you need to
              escape this character with a backslash [Default output  all  segments].  Cannot  be
              used  with -Q. For matching segments based on aspatial values (via OGR/GMT format),
              give the search string as varname=value and we will compare value against the value
              of  varname  for each segment. Note: If the features are polygons then a match of a
              particular polygon perimeter also means that any associated polygon holes will also
              be  matched.  For  matching  segment  headers  against extended regular expressions
              enclose the expression in slashes. Append i for case-insensitive matching.   For  a
              list  of  such  patterns,  give +ffile with one pattern per line.  To give a single
              pattern starting with +f, escape it with a backslash.

       -T     Suppress the writing of segment headers on output.

       -V[level] (more ...)
              Select verbosity level [c].

       -acol=name[...] (more ...)
              Set aspatial column associations col=name.

       -bi[ncols][t] (more ...)
              Select native binary input.

       -bo[ncols][type] (more ...)
              Select native binary output. [Default is same as input].

       -d[i|o]nodata (more ...)
              Replace input columns that equal nodata with NaN and do the reverse on output.

       -f[i|o]colinfo (more ...)
              Specify data types of input and/or output columns.

       -g[a]x|y|d|X|Y|D|[col]z[+|-]gap[u] (more ...)
              Determine data gaps and line breaks.

       -h[i|o][n][+c][+d][+rremark][+rtitle] (more ...)
              Skip or produce header record(s).

       -icols[l][sscale][ooffset][,...] (more ...)
              Select input columns (0 is first column).

       -ocols[,...] (more ...)
              Select output columns (0 is first column).

       -s[cols][a|r] (more ...)
              Set handling of NaN records.

       -:[i|o] (more ...)
              Swap 1st and 2nd column on input and/or output.

       -^ or just -
              Print a short message about the syntax of the command, then exits (NOTE: on Windows
              use just -).

       -+ or just +
              Print  an  extensive  usage  (help)  message,  including  the  explanation  of  any
              module-specific option (but not the GMT common options), then exits.

       -? or no arguments
              Print a complete usage (help) message, including the explanation of  options,  then
              exits.

       --version
              Print GMT version and exit.

       --show-datadir
              Print full path to GMT share directory and exit.

ASCII FORMAT PRECISION

       The  ASCII  output formats of numerical data are controlled by parameters in your gmt.conf
       file. Longitude and latitude are formatted  according  to  FORMAT_GEO_OUT,  whereas  other
       values are formatted according to FORMAT_FLOAT_OUT. 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 (-bo if available) or specify more decimals using the FORMAT_FLOAT_OUT setting.

EXAMPLES

       To convert the binary file test.b (single precision) with 4 columns to ASCII:

              gmt convert test.b -bi4f > test.dat

       To convert the multiple segment ASCII table test.d to a double precision binary file:

              gmt convert test.d -bo > test.b

       You have an ASCII table with 6 columns and you want to plot column 5 versus column 0. Try

              gmt convert table.d -o5,0 | psxy ...

       If the file instead is the binary file results.b which has 9 single-precision  values  per
       record, we extract the last column and columns 4-6 and write ASCII with the command

              gmt convert results.b -o8,4-6 -bi9s | psxy ...

       You  want  to  plot  the 2nd column of a 2-column file left.d versus the first column of a
       file right.d:

              gmt convert left.d right.d -A -o1,2 | psxy ...

       To extract all segments in the file big_file.d whose headers  contain  the  string  "RIDGE
       AXIS", try

              gmt convert big_file.d -S"RIDGE AXIS" > subset.d

       To  invert  the  selection  of segments whose headers begin with "profile " followed by an
       integer number and any letter between "g" and "l", try

              gmt convert -S~"/^profile [0-9]+[g-l]$/"

       To reverse the order of segments in a file without reversing the order of  records  within
       each segment, try

              gmt convert lots_of_segments.txt -Is > last_segment_first.txt

       To extract segments 20 to 40 in steps of 2, plus segment 0 in a file, try

              gmt convert lots_of_segments.txt -Q0,20:2:40 > my_segments.txt

       To extract the attribute ELEVATION from an ogr gmt file like this

              # @VGMT1.0 @GPOINT
              ...
              # @NELEVATION|DISPX|DISPY
              # @Tdouble|double|double
              # FEATURE_DATA
              # @D4.945000|-106500.00000000|-32700.00000000
              -9.36890245902635 39.367156766570389

       do

              gmt convert file.gmt -a2=ELEVATION > xyz.dat

       or just

              gmt convert file.gmt -aELEVATION > xyz.dat

       To connect all points in the file sensors.txt with the specified origin at 23.5/19, try

              gmt convert sensors.txt -F23.5/19 > lines.txt

SEE ALSO

       gmt, gmtinfo, gmtselect

COPYRIGHT

       2015, P. Wessel, W. H. F. Smith, R. Scharroo, J. Luis, and F. Wobbe