Skip to content

m.transform

Computes a coordinate transformation based on the control points.

m.transform [-srx] group=name order=integer [format=string [,string,...]] [input=name] [--verbose] [--quiet] [--qq] [--ui]

Example:

m.transform group=name order=1

grass.script.run_command("m.transform", group, order=1, format="fd,rd", input=None, flags=None, verbose=False, quiet=False, superquiet=False)

Example:

gs.run_command("m.transform", group="name", order=1)

Parameters

group=name [required]
    Name of input imagery group
order=integer [required]
    Rectification polynomial order
    Allowed values: 1-3
    Default: 1
format=string [,string,...]
    Output format
    Allowed values: 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)
input=name
    File containing coordinates to transform ("-" to read from stdin)
    Local x,y coordinates to target east,north
-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
--help
    Print usage summary
--verbose
    Verbose module output
--quiet
    Quiet module output
--qq
    Very quiet module output
--ui
    Force launching GUI dialog

group : str, required
    Name of input imagery group
    Used as: input, group, name
order : int, required
    Rectification polynomial order
    Allowed values: 1-3
    Default: 1
format : str | list[str], optional
    Output format
    Allowed values: idx, src, dst, fwd, rev, fxy, rxy, 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)
    Default: fd,rd
input : str, optional
    File containing coordinates to transform ("-" to read from stdin)
    Local x,y coordinates to target east,north
    Used as: input, file, name
flags : str, optional
    Allowed values: s, r, x
    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: bool, optional
    Verbose module output
    Default: False
quiet: bool, optional
    Quiet module output
    Default: False
superquiet: bool, optional
    Very quiet module output
    Default: False

DESCRIPTION

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

If coordinates are given with the input file option or fed from stdin, both the input and the output format is "x y" with one coordinate pair per line. Reverse transform is performed with the -r flag.

The format option determines how control points are printed out. A summary on the control points can be printed with the -s flag. The summary includes maximum deviation observed when transforming GCPs and overall RMS. The format option is ignored when coordinates are given with the input file option.

NOTES

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][] []

    n = [N0 N1 N3][1 ] [1 ]
        [N2 N4  0][e ]·[n ]
        [N5  0  0][] []

order=3:

    e = [E0 E1 E3 E6][1 ] [1 ]
        [E2 E4 E7  0][e ]·[n ]
        [E5 E8  0  0][] []
        [E9  0  0  0][] []

    n = [N0 N1 N3 N6][1 ] [1 ]
        [N2 N4 N7  0][e ]·[n ]
        [N5 N8  0  0][] []
        [N9  0  0  0][] []

["·" = 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.ortho.transform, i.rectify, v.rectify, v.transform

AUTHORS

Brian J. Buckley
Glynn Clements
Hamish Bowman

SOURCE CODE

Available at: m.transform source code (history)
Latest change: Friday Feb 07 19:16:09 2025 in commit a82a39f