---
name: "xyz2grd"
section: "1"
platform: "linux"
package: "gmt-manpages"
version: "3.4-1"
release: "Debian 3.0 (Woody)"
platforms: ["linux"]
url: "https://new.carta.tech/xyz2grd"
---

# xyz2grd(1)

Converting an ASCII or binary table to grd file format

## NAME

xyz2grd - Converting an ASCII or binary table to grd file format

## SYNOPSIS

**xyz2grd** *xyzfile* **-G***grdfile* **-I***x\_inc*\[**m\|c**\]\[/*y\_inc*\[**m\|c**\]\] **-R***west/east/south/north*\[**r**\] \[ **-A**\[**n\|z**\] \] \[ **-D***xunit/yunit/zunit/scale/offset/title/remark* \] \[ **-F** \] \[ **-H**\[*nrec*\] \] \[ **-L** \] \[ **-N***nodata* \] \[ **-S**\[*zfile*\] \] \[ **-V** \] \[ **-Z**\[*flags*\] \] \[ **-:** \] \[ **-bi**\[**s**\]\[*n*\] \]

## DESCRIPTION

**xyz2grd** reads a z or xyz table and creates a binary grdfile. **xyz2grd** will report if some of the nodes are not filled in with data. Such unconstrained nodes are set to a value specified by the user \[Default is NaN\]. Nodes with more than one value will be set to the average value. As an option (using **-Z**), a 1-column z-table may be read assuming all nodes are present (z-tables can be in organized in a number of formats, see **-Z** below.)

- *\[xy\]zfile*

  ASCII \[or binary\] file holding z or (x,y,z) values. xyz triplets do not have to be sorted (for binary triplets, see **-b**). 1-column z tables must be sorted and the **-Z** must be set).

- **-G**

  *grdfile* is the name of the binary output grdfile.

- **-I**

  *x\_inc* \[and optionally *y\_inc*\] is the grid spacing. Append **m** to indicate minutes or **c** to indicate seconds.

- **-R**

  *west, east, south,* and *north* specify the Region of interest. To specify boundaries in degrees and minutes \[and seconds\], use the dd:mm\[:ss\] format. Append **r** if lower left and upper right map coordinates are given instead of wesn.

## OPTIONS

- **-A**

  Add up multiple values that belong to the same node (same as **-Az**). Append **n** to simply count the number of data points that were assigned to each node. \[Default (no **-A** option) will calculate mean value\]. Ignored if **-Z** is given.

- **-D**

  Give values for *xunit, yunit, zunit, scale, offset, title,* and *remark*. To leave some of these values untouched, specify = as the value.

- **-F**

  Force pixel registration \[Default is grid registration\].

- **-H**

  Input file(s) has Header record(s). Number of header records can be changed by editing your .gmtdefaults file. If used, **GMT** default is 1 header record. Not used with binary data.

- **-L**

  Indicates that the x column contains longitudes, which may differ from the regions in **-R** by \[multiples of\] 360 degrees \[Default assumes no periodicity\].

- **-N**

  No data. Set nodes with no input xyz triplet to this value \[Default is NaN\]. For z-tables, this option is used to replace z-values that equal *nodata* with NaN.

- **-S**

  Swap the byte-order of the input only. No grid file is produced. You must also supply the **-Z** option. The output is written to *zfile* (or stdout if not supplied).

- **-V**

  Selects verbose mode, which will send progress reports to stderr \[Default runs "silently"\].

- **-Z**

  Read a 1-column ASCII \[or binary\] table. This assumes that all the nodes are present and sorted according to specified ordering convention contained in *flags*. If incoming data represents 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 is 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 data are periodic in x but the incoming data do not contain the (redundant) column at x = xmax, append **x**. For data periodic in y without redundant row at y = ymax, append **y**. Append **s***n* to skip the first *n* number of bytes (probably a header). 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\
  \
           **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 input.

- **-:**

  Toggles between (longitude,latitude) and (latitude,longitude) input/output. \[Default is (longitude,latitude)\]. Applies to geographic coordinates only.

- **-bi**

  Selects binary input. Append **s** for single precision \[Default is double\]. Append *n* for the number of columns in the binary file(s). \[Default is 3 input columns\]. This option only applies to xyz input files; see **-Z** for z tables.

## EXAMPLES

To create a grdfile from the ASCII data in hawaii\_grv.xyz, try\

xyz2grd hawaii\_grv.xyz **-D**degree/degree/mGal/1/0/"Hawaiian Gravity"/"GRS-80 Ellipsoid used" **-G**hawaii\_grv\_new.grd **-R**198/208/18/25 **-I**5**m -V**\

To create a grdfile from the raw binary (3-column, single-precision) scanline-oriented data raw.b, try\

xyz2grd raw.b **-D**m/m/m/1/0/=/= **-G**raw.grd **-R**0/100/0/100 **-I**1 **-V -Z -b**3\

To make a grdfile from the raw binary USGS DEM (short integer) scanline-oriented data topo30. on the NGDC global relief Data CD-ROM, with values of -9999 indicate missing data, one must on some machine reverse the byte-order. On such machines (like Sun), try\

xyz2grd topo30. **-D**m/m/m/1/0/=/= **-G**ustopo.grd **-R**234/294/24/50 **-I**30c **-N**-9999 **-V -ZTLhw**\

Say you have received a binary file with 4-byte floating points that were written on a machine of different byte-order than yours. You can swap the byte-order with\

xyz2grd floats.bin **-S**new\_floats.bin **-V -Zf**

## SEE ALSO

*gmt*(l), *grd2xyz*(l), *grdedit*(l)
