grd2xyz - Convert grid file to data table
grd2xyz grid [ -C[f|i] ] [
-Rregion ] [ -V[level] ] [
-W[a|weight] ] [ -Z[flags] ] [
-bobinary ] [ -dnodata ] [ -fflags ] [
-ho[n] ] [ -oflags ] [ -sflags ]
Note: No space is allowed between the option flag and the
associated arguments.
grd2xyz reads one or more binary 2-D grid files and writes
out xyz-triplets in ASCII [or binary] format to standard output. Modify the
precision of the ASCII output format by editing the FORMAT_FLOAT_OUT
parameter in your gmt.conf file or use
--D_FORMAT=format on the command line, or choose binary
output using single or double precision storage. As an option you may output
z-values without the (x,y) coordinates; see -Z below.
- grid
- Names of 2-D binary grid files to be converted. (See GRID FILE FORMATS
below.)
- -C[f|i]
- Replace the x- and y-coordinates on output with the corresponding column
and row numbers. These start at 0 (C-style counting); append f to
start at 1 (Fortran-style counting). Alternatively, append i to
write just the two columns index and z, where index
is the 1-D indexing that GMT uses when referring to grid nodes.
- -Rxmin/xmax/ymin/ymax[+r][+uunit]
(more ...)
- Specify the region of interest. Using the -R option will select a
subsection of the grid. If this subsection exceeds the boundaries of the
grid, only the common region will be output.
- -W[a|weight]
- Write out x,y,z,w, where w is the supplied weight (or
1 if not supplied) [Default writes x,y,z only]. Choose -Wa
to compute weights equal to the area each node represents.
- -Z[flags]
- Write a 1-column ASCII [or binary] table. Output will be organized
according to the specified ordering convention contained in flags.
If data should be written by rows, make flags start with T
(op) if first row is y = ymax or B (ottom) if first row is y =
ymin. Then, append L or R to indicate that first element
should start at left or right end of row. Likewise for column formats:
start with L or R to position first column, and then append
T or B to position first element in a row. For gridline
registered grids: If grid is periodic in x but the written data should not
contain the (redundant) column at x = xmax, append x. For grid
periodic in y, skip writing the redundant row at y = ymax by appending
y. If the byte-order needs to be swapped, append w. Select
one of several data types (all binary except a):
- a ASCII representation of a single item per record
- c int8_t, signed 1-byte character
- u uint8_t, unsigned 1-byte character
- h int16_t, short 2-byte integer
- H uint16_t, unsigned short 2-byte integer
- i int32_t, 4-byte integer
- I uint32_t, unsigned 4-byte integer
- l int64_t, long (8-byte) integer
- L uint64_t, unsigned long (8-byte) integer
- f 4-byte floating point single precision
- d 8-byte floating point double precision
Default format is scanline orientation of ASCII numbers:
-ZTLa. Note that -Z only applies to 1-column output.
- -bo[ncols][type]
(more ...)
- Select native binary output. [Default is 3]. This option only applies to
xyz output; see -Z for z table output.
- -f[i|o]colinfo
(more ...)
- Specify data types of input and/or output columns. See also TIME
COORDINATES below. -h Output 1 header record based on
information in the first grid file header. Ignored if binary output is
selected. [Default is no header].
- -^ or just -
- Print a short message about the syntax of the command, then exits (NOTE:
on Windows just use -).
- -+ 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 all
options, then exits.
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, absolute time is under the control of
FORMAT_DATE_OUT and FORMAT_CLOCK_OUT, whereas general floating point values
are formatted according to FORMAT_FLOAT_OUT. Be aware that the format in
effect can lead to loss of precision in ASCII 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.
By default GMT writes out grid as single precision floats in a
COARDS-complaint netCDF file format. However, GMT is able to produce grid
files in many other commonly used grid file formats and also facilitates so
called "packing" of grids, writing out floating point data as 1-
or 2-byte integers. (more ...)
Time coordinates in netCDF grids, be it the x, y, or z coordinate,
will be recognized as such. The variable's unit attribute is parsed
to determine the unit and epoch of the time coordinate in the grid. Values
are then converted to the internal time system specified by TIME_UNIT and
TIME_EPOCH in the gmt.conf file or on the command line. The default output
is relative time in that time system, or absolute time when using the option
-f0T, -f1T, or -f2T for x, y, or z coordinate,
respectively.
To edit individual values in the 5' by 5' hawaii_grv.nc file, dump
the .nc to ASCII:
gmt grd2xyz hawaii_grv.nc > hawaii_grv.xyz
To write a single precision binary file without the x,y positions
from the file raw_data.nc file, using scanline orientation, run
gmt grd2xyz raw_data.nc -ZTLf > hawaii_grv.b
gmt.conf, gmt, grdedit, grdconvert, xyz2grd
2019, P. Wessel, W. H. F. Smith, R. Scharroo, J. Luis, and F.
Wobbe