GRD2XYZ(1) Generic Mapping Tools GRD2XYZ(1)NAME
grd2xyz - Converting grid file(s) to ASCII or binary data
SYNOPSIS
grd2xyz grdfiles [ -E[f][nodata] ] [ -H[i][nrec] ] [ -Nnodata ] [
-Rwest/east/south/north[r] ] [ -S[r] ] [ -V ] [ -W[weight] ] [
-Z[flags] ] [ -bo[s|S|d|D[ncol]|c[var1/...]] ] [ -fcolinfo ]
DESCRIPTION
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 D_FORMAT parameter
in your .gmtdefaults4 file or use --D_FORMAT=value 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) in a number of for‐
mats, see -E or -Z below.
grdfiles
Names of 2-D binary grid files to be converted. (See GRID FILE
FORMATS below.)
OPTIONS-E Output an ESRI ArcInfo ASCII interchange grid format file.
Append f for float output [Default is integer]. Append nodata
which will be used wherever the grid value equals NaN [-9999].
-H Output 1 header record based on information in the first grid
file header. Ignored if binary output is selected. [Default is
no header].
-N Output this z-value where the latter equals NaN [Default writes
NaN].
-R xmin, xmax, ymin, and ymax specify the Region of interest. For
geographic regions, these limits correspond to west, east,
south, and north and you may specify them in decimal degrees or
in [+-]dd:mm[:ss.xxx][W|E|S|N] format. Append r if lower left
and upper right map coordinates are given instead of w/e/s/n.
The two shorthands -Rg and -Rd stand for global domain (0/360
and -180/+180 in longitude respectively, with -90/+90 in lati‐
tude). Alternatively, specify the name of an existing grid file
and the -R settings (and grid spacing, if applicable) are copied
from the grid. For calendar time coordinates you may either
give (a) relative time (relative to the selected TIME_EPOCH and
in the selected TIME_UNIT; append t to -JX|x), or (b) absolute
time of the form [date]T[clock] (append T to -JX|x). At least
one of date and clock must be present; the T is always required.
The date string must be of the form [-]yyyy[-mm[-dd]] (Gregorian
calendar) or yyyy[-Www[-d]] (ISO week calendar), while the clock
string must be of the form hh:mm:ss[.xxx]. The use of delim‐
iters and their type and positions must be exactly as indicated
(however, input, output and plot formats are customizable; see
gmtdefaults). 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.
-S Suppress output for nodes whose z-value equals NaN [Default out‐
puts all nodes]. Append r to reverse the suppression, i.e.,
only output the nodes whose z-value equals NaN.
-V Selects verbose mode, which will send progress reports to stderr
[Default runs "silently"].
-W Write out x,y,z,w, where w is the supplied weight (or 1 if not
supplied) [Default writes x,y,z only].
-Z Write a 1-column ASCII [or binary] table. Output will be orga‐
nized 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 outcoming
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
c signed 1-byte character
u unsigned 1-byte character
h short 2-byte integer
i 4-byte integer
l long (4- or 8-byte) integer [architecture-dependent!]
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 Selects binary output. Append s for single precision [Default
is d (double)]. Uppercase S or D will force byte-swapping.
Optionally, append ncol, the number of desired columns in your
binary output file. [Default is 3]. This option only applies
to xyz output; see -Z for z table output.
-f Special formatting of input and/or output columns (time or geo‐
graphical data). Specify i or o 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 T (abso‐
lute calendar time), t (relative time in chosen TIME_UNIT since
TIME_EPOCH), x (longitude), y (latitude), or f (floating point)
to each column or column range item. Shorthand -f[i|o]g means
-f[i|o]0x,1y (geographic coordinates). See also TIME COORDI‐
NATES below.
ASCII FORMAT PRECISION
The ASCII output formats of numerical data are controlled by parameters
in your .gmtdefaults4 file. Longitude and latitude are formatted
according to OUTPUT_DEGREE_FORMAT, whereas other values are formatted
according to D_FORMAT. 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 preci‐
sion, consider switching to binary output (-bo if available) or specify
more decimals using the D_FORMAT setting.
GRID FILE FORMATS
GMT is able to recognize many of the commonly used grid file formats,
as well as the precision, scale and offset of the values contained in
the grid file. When GMT needs a little help with that, you can add the
suffix =id[/scale/offset[/nan]], where id is a two-letter identifier of
the grid type and precision, and scale and offset are optional scale
factor and offset to be applied to all grid values, and nan is the
value used to indicate missing data. See grdreformat(1) and Section
4.17 of the GMT Technical Reference and Cookbook for more information.
When reading a netCDF file that contains multiple grids, GMT will read,
by default, the first 2-dimensional grid that can find in that file. To
coax GMT into reading another multi-dimensional variable in the grid
file, append ?varname to the file name, where varname is the name of
the variable. Note that you may need to escape the special meaning of ?
in your shell program by putting a backslash in front of it, or by
placing the filename and suffix between quotes or double quotes. See
grdreformat(1) and Section 4.18 of the GMT Technical Reference and
Cookbook for more information, particularly on how to read splices of
3-, 4-, or 5-dimensional grids.
TIME COORDINATES
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. Val‐
ues are then converted to the internal time system specified by
TIME_UNIT and TIME_EPOCH in the .gmtdefaults 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.
EXAMPLES
To edit individual values in the 5' by 5' hawaii_grv.grd file, dump the
.grd to ASCII:
grd2xyz hawaii_grv.grd > hawaii_grv.xyz
To write a single precision binary file without the x,y positions from
the file raw_data.grd file, using scanline orientation, run
grd2xyz raw_data.grd -ZTLf > hawaii_grv.b
SEE ALSOgmtdefaults(1), GMT(1), grdedit(1), xyz2grd(1)GMT 4.5.14 1 Nov 2015 GRD2XYZ(1)