---
name: "g.transform"
section: "1grass"
platform: "linux"
package: "grass-doc"
version: "6.4.4-1"
release: "Debian 8 (Jessie)"
platforms: ["linux"]
url: "https://new.carta.tech/g.transform"
---

# g.transform(1grass)

Computes a coordinate transformation based on the control points.

## NAME

**g.transform**  - Computes a coordinate transformation based on the control points.

## KEYWORDS

general, transformation, GCP

## SYNOPSIS

**g.transform**\
 **g.transform help**\
 **g.transform** \[-**srx**\] **group**=*name* **order**=*integer*  \[**format**=*string*\[,*string*,...\]\]   \[**coords**=*name*\]   \[--**verbose**\]  \[--**quiet**\]

### Flags:

- **-s**

  Display summary information

- **-r**

  Reverse transform of coords file or coeff. dump\
   Target east,north coordinates to local x,y

- **-x**

  Display transform matrix coefficients

- **--verbose**

  Verbose module output

- **--quiet**

  Quiet module output

### Parameters:

- **group**=*name*

  Name of input imagery group

- **order**=*integer*

  Rectification polynomial order\
   Options: *1-3*

- **format**=*string\[,string*,...\]

  Output format\
   Options: *idx,src,dst,fwd,rev,fxy,rxy,fd,rd*\
   Default: *fd,rd*\
   **idx**: point index\
   **src**: source coordinates\
   **dst**: destination coordinates\
   **fwd**: forward coordinates (destination)\
   **rev**: reverse coordinates (source)\
   **fxy**: forward coordinates difference (destination)\
   **rxy**: reverse coordinates difference (source)\
   **fd**: forward error (destination)\
   **rd**: reverse error (source)

- **coords**=*name*

  File containing coordinates to transform ("-" to read from stdin)\
   Local x,y coordinates to target east,north

## DESCRIPTION

*g.transform* is an utility to compute transformation based upon GCPs and output error measurements.

## NOTES

For coordinates given with the **coords** file option or fed from stdin, the input format is "x y" with one coordinate pair per line.

The transformations are:

order=1:\
\
 `    e = [E0 E1][1].[1]`\
\
 `        [E2  0][e] [n]`\

`    n = [N0 N1][1].[1]`\
\
 `        [N2  0][e] [n]`\
 order=2:\
\
\
 `    e = [E0 E1 E3][1 ] [1 ]`\
\
 `        [E2 E4  0][e ].[n ]`\
\
 `        [E5  0  0][e&sup2;] [n&sup2;]`\

`    n = [N0 N1 N3][1 ] [1 ]`\
\
 `        [N2 N4  0][e ].[n ]`\
\
 `        [N5  0  0][e&sup2;] [n&sup2;]`\
 order=3:\
\
\
 `    e = [E0 E1 E3 E6][1 ] [1 ]`\
\
 `        [E2 E4 E7  0][e ].[n ]`\
\
 `        [E5 E8  0  0][e&sup2;] [n&sup2;]`\
\
 `        [E9  0  0  0][e&sup3;] [n&sup3;]`\

`    n = [N0 N1 N3 N6][1 ] [1 ]`\
\
 `        [N2 N4 N7  0][e ].[n ]`\
\
 `        [N5 N8  0  0][e&sup2;] [n&sup2;]`\
\
 `        [N9  0  0  0][e&sup3;] [n&sup3;]`\
 \["." = dot-product, (AE).N = N'EA.\]

In other words, order=1 and order=2 are equivalent to order=3 with the higher coefficients equal to zero.

## SEE ALSO

*i.rectify*

## AUTHORS

Brian J. Buckley\
 Glynn Clements\
 Hamish Bowman

*Last changed: $Date: 2011-11-08 12:29:50 +0100 (Tue, 08 Nov 2011) $*

Full index

© 2003-2014 GRASS Development Team
