m.transform(1grass)

✨ m.transform β€” the GRASS User's Manual entry, but told to you by your bestie πŸ’–

Okay so like, this is m.transform(1grass) straight out of the GRASS User's Manual, and I'm about to make a coordinate-transformation command feel like a group chat. Buckle up, bestie πŸŽ€


🌸 NAME 🌸

m.transform β€” computes a coordinate transformation based on the control points.

No cap, that's the whole job. Control points go in, math happens, coordinates come out. πŸ’…


πŸ”‘ KEYWORDS πŸ”‘

miscellaneous, transformation, GCP


πŸ¦‹ SYNOPSIS πŸ¦‹

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

⭐ Flags:

  • -s β€” display summary information (the receipts, basically πŸ“‹)
  • -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 (it will NOT stop talking)
  • --quiet β€” quiet module output (shhh 🀫)
  • --ui β€” force launching GUI dialog

πŸŽ€ Parameters:

  • group=name [required] β€” name of input imagery group
  • order=integer [required] β€” rectification polynomial order
    • Options: 1-3
    • Default: 1
  • 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)
  • input=name β€” file containing coordinates to transform ("-" to read from stdin). Local x,y coordinates to target east,north

πŸ’œ DESCRIPTION πŸ’œ

So m.transform is literally a utility to compute transformation based upon GCPs and output error measurements. That's the vibe. 🧚

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. Periodt.

The format option determines how control points are printed out. A summary on the control points can be printed with the -s flag. That summary includes the maximum deviation observed when transforming GCPs and the overall RMS. And here's the tea β˜• β€” the format option is ignored when coordinates are given with the input file option. It's giving "read the fine print," iykyk.


πŸ“ 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][eΒ²] [nΒ²]
n = [N0 N1 N3][1 ] [1 ]
    [N2 N4  0][e ]Β·[n ]
    [N5  0  0][eΒ²] [nΒ²]

order=3:

e = [E0 E1 E3 E6][1 ] [1 ]
    [E2 E4 E7  0][e ]Β·[n ]
    [E5 E8  0  0][eΒ²] [nΒ²]
    [E9  0  0  0][eΒ³] [nΒ³]
n = [N0 N1 N3 N6][1 ] [1 ]
    [N2 N4 N7  0][e ]Β·[n ]
    [N5 N8  0  0][eΒ²] [nΒ²]
    [N9  0  0  0][eΒ³] [nΒ³]

["Β·" = 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. Slay, math is math πŸ’…


πŸ‘€ SEE ALSO πŸ‘€

i.ortho.transform, i.rectify, v.rectify, v.transform

Go read those too, bestie, they're the friend group 🌈


πŸ‘‘ AUTHORS πŸ‘‘

  • Brian J. Buckley
  • Glynn Clements
  • Hamish Bowman

Icons only, frankly. 🫢


πŸ”₯ SOURCE CODE πŸ”₯

Available at: m.transform source code (history)

Latest change: Thursday Jul 24 04:25:59 2025 in commit: 7882012b70873fbd1db9a7b3fe0a8e5175f477f5

Main index | Miscellaneous index | Topics index | Keywords index | Graphical index | Full index


That's the whole page!! Massive thanks to the Β© 2003-2026 GRASS Development Team for the GRASS 8.5.0 Reference Manual β€” and yes, this was m.transform(1grass) under GRASS 8.5.0, last touched on Thursday Jul 24 04:25:59 2025 in commit 7882012b70873fbd1db9a7b3fe0a8e5175f477f5. Bye bestie, go transform something πŸ’–βœ¨πŸŽ€πŸ¦‹

πŸ“¦ where this page comes from