---
name: "r3.out.ascii"
section: "1grass"
platform: "linux"
package: "grass-doc"
version: "8.4.1-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/r3.out.ascii"
---

# r3.out.ascii(1grass)

Converts a 3D raster map layer into a ASCII text file.

## NAME

**r3.out.ascii**  - Converts a 3D raster map layer into a ASCII text file.

## KEYWORDS

raster3d, export, output, voxel, conversion, ASCII

## SYNOPSIS

**r3.out.ascii**\
 **r3.out.ascii --help**\
 **r3.out.ascii** \[-**hrdcm**\] **input**=*string*  \[**output**=*name*\]   \[**precision**=*integer*\]   \[**null\_value**=*string*\]   \[--**overwrite**\]  \[--**help**\]  \[--**verbose**\]  \[--**quiet**\]  \[--**ui**\]

### Flags:

- **-h**

  Suppress printing of header information

- **-r**

  Switch the row order in output from north-\>south to south-\>north

- **-d**

  Switch the depth order in output from bottom-\>top to top-\>bottom

- **-c**

  Print grass6 compatible format. Flags -d and -r are ignored.

- **-m**

  Use 3D raster mask (if exists) with input map

- **--overwrite**

  Allow output files to overwrite existing files

- **--help**

  Print usage summary

- **--verbose**

  Verbose module output

- **--quiet**

  Quiet module output

- **--ui**

  Force launching GUI dialog

### Parameters:

- **input**=*string* **\[required\]**

  3D raster map to be converted to ASCII

- **output**=*name*

  Name for ASCII output file

- **precision**=*integer*

  Number of decimal places for floats\
   Options: *0-20*\
   Default: *8*

- **null\_value**=*string*

  String representing NULL value\
   Default: *\**

## DESCRIPTION

*r3.out.ascii* exports a 3D raster map in ASCII format. The *input* parameter is a valid 3D raster map in the current mapset search path. The *output* parameter is the name of an ASCII file which will be written in the current working directory.

If *output* is not specified then standard output (stdout) is used. The *-h* flag may be used to suppress header information. The module is sensitive to region settings (set with *g.region*).

The *-c* flag will create GRASS 6 *r3.in.ascii* compatible output.

## NOTES

The default format of the exported ASCII file is equivalent to that required by *r3.in.ascii*. In particular, files output by *r3.out.ascii* with header information may be converted back to 3D raster maps with *r3.in.ascii*.

The format of the ASCII file is:\

```
version: "grass7"
order:   "nsbt" or "nstb" or "snbt" or "sntb"
north:   floating point
south:   floating point
east:    floating point
west:    floating point
top:     floating point
bottom:  floating point
rows:    integer
cols:    integer
levels:  integer
```

The **version** and **order** options have been introduced in GRASS 7 in June 2011. The **order** option describes the order of rows and depths in the output. It is possible to create output of different row order using the *-r* flag and output of different depths order using the  *-d* flag. The default order is:

```
west -> east for columns
north -> south for rows
bottom -> top for depths
```

This header is followed by the cell values in *floating point* format organized in rows with constant *col* and *level* coordinate. The rows are organized by constant *level* coordinate. Individual cell values are separated by *space* or *CR*. Cell values are exported as a series of horizontal slices in row-major order. The data starts with the upper left corner (NW) at the bottom of the data set. The values at the following coordinates are exported:\

```
(x, y + rows,     z) (x + 1, y + rows,     z) ... (x + cols, y + rows,     z)
(x, y + rows,     z) (x + 1, y + rows - 1, z) ... (x + cols, y + rows - 1, z)
          .                     .                                .
          .                     .                                .
          .                     .                                .
(x, y,   z + depths) (x + 1, y,   z + depths) ... (x + cols, y,   z + depths)
```

This order is compatible with the *r.in.ascii* row -\> column ordering.

Supported orders are:

- •

  **nsbt**: north -\> south and bottom -\> top ordering which is the default (no flags)

- •

  **snbt**: south -\> north and bottom -\> top ordering using *-r* flag

- •

  **nstb**: north -\> south and top -\> bottom ordering using *-d* flag

- •

  **sntb**: south -\> north and top -\> bottom ordering using *-rd* flag

The internal storage scheme of 3D raster maps is visualized in the following picture:\

| |
| --- |
| *The coordinate system and tile layout of a voxel map in GRASS* |

One level maps can be imported with *r.in.ascii* (2D raster) using the default **nsbt** order and removing the header lines "version", "order", "top", "bottom" and "levels".

## EXAMPLES

We define a small region with 4 columns, 3 rows and 2 depths (4x3x2) and export it using different ordering definitions:\

```
g.region res3=1 t=2 b=0 w=0 e=4 s=0 n=3
r3.mapcalc "simple_example = row() + col() + depth()"
```

Default order:\

```
r3.out.ascii input=simple_example dp=0
version: grass7
order: nsbt
north: 3.000000
south: 0.000000
east: 4.000000
west: 0.000000
top: 2.000000
bottom: 0.000000
rows: 3
cols: 4
levels: 2
3 4 5 6
4 5 6 7
5 6 7 8
4 5 6 7
5 6 7 8
6 7 8 9
```

Inverse row order (-r)\

```
r3.out.ascii input=simple_example dp=0 -r
version: grass7
order: snbt
north: 3.000000
south: 0.000000
east: 4.000000
west: 0.000000
top: 2.000000
bottom: 0.000000
rows: 3
cols: 4
levels: 2
5 6 7 8
4 5 6 7
3 4 5 6
6 7 8 9
5 6 7 8
4 5 6 7
```

Inverse depth order (-d)\

```
r3.out.ascii input=simple_example dp=0 -d
version: grass7
order: nstb
north: 3.000000
south: 0.000000
east: 4.000000
west: 0.000000
top: 2.000000
bottom: 0.000000
rows: 3
cols: 4
levels: 2
4 5 6 7
5 6 7 8
6 7 8 9
3 4 5 6
4 5 6 7
5 6 7 8
```

Inverse row and depth order (-rd)\

```
r3.out.ascii input=simple_example dp=0 -rd
version: grass7
order: sntb
north: 3.000000
south: 0.000000
east: 4.000000
west: 0.000000
top: 2.000000
bottom: 0.000000
rows: 3
cols: 4
levels: 2
6 7 8 9
5 6 7 8
4 5 6 7
5 6 7 8
4 5 6 7
3 4 5 6
```

## SEE ALSO

*r3.in.ascii,* *r.out.ascii,* *g.region*

## AUTHORS

Roman Waupotitsch, Michael Shapiro, Helena Mitasova, Bill Brown, Lubos Mitas, Jaro Hofierka, Sören Gebbert

## SOURCE CODE

Available at: r3.out.ascii source code (history)

Accessed: Monday Feb 24 17:51:08 2025

Main index \| 3D raster index \| Topics index \| Keywords index \| Graphical index \| Full index

© 2003-2025 GRASS Development Team, GRASS GIS 8.4.1 Reference Manual
