+
+ +
+

cct

+

Coordinate Conversion and Transformation.

+
+

Synopsis

+
+

cct [-cIostvz [args]] +opt[=arg] … file …

+
+

or

+
+

cct [-cIostvz [args]] {object_definition} file …

+
+

Where {object_definition} is one of the possibilities accepted +by proj_create(), provided it expresses a coordinate operation

+
+
+
+

New in version 8.0.0.

+
+
+

Note

+

Before version 8.0.0 only proj-strings could be used to instantiate +operations in cct.

+
+
+

or

+
+

cct [-cIostvz [args]] {object_reference} file …

+
+

where {object_reference} is a filename preceded by the ‘@’ character. The +file referenced by the {object_reference} must contain a valid +{object_definition}.

+
+
+

New in version 8.0.0.

+
+
+
+
+

Description

+

cct is a 4D equivalent to the proj projection program, +performs transformation coordinate systems on a set of input points. The +coordinate system transformation can include translation between projected +and geographic coordinates as well as the application of datum shifts.

+

The following control parameters can appear in any order:

+
+
+-c <x,y,z,t>
+

Specify input columns for (up to) 4 input parameters. Defaults to 1,2,3,4.

+
+ +
+
+-d <n>
+
+

New in version 5.2.0.

+
+

Specify the number of decimals in the output.

+
+ +
+
+-I
+

Do the inverse transformation.

+
+ +
+
+-o <output file name>, --output=<output file name>
+

Specify the name of the output file.

+
+ +
+
+-t <time>, --time=<time>
+

Specify a fixed observation time to be used for all input data.

+
+ +
+
+-z <height>, --height=<height>
+

Specify a fixed observation height to be used for all input data.

+
+ +
+
+-s <n>, --skip-lines=<n>
+
+

New in version 5.1.0.

+
+

Skip the first n lines of input. This applies to any kind of input, whether +it comes from STDIN, a file or interactive user input.

+
+ +
+
+-v, --verbose
+

Write non-essential, but potentially useful, information to stderr. +Repeat for additional information (-vv, -vvv, etc.)

+
+ +
+
+--version
+

Print version number.

+
+ +

The +opt arguments are associated with coordinate operation parameters. +Usage varies with operation.

+

For a complete description consult the projection pages.

+

cct is an acronym meaning Coordinate Conversion and Transformation.

+

The acronym refers to definitions given in the OGC 08-015r2/ISO-19111 +standard “Geographical Information – Spatial Referencing by Coordinates”, +which defines two different classes of coordinate operations:

+

Coordinate Conversions, which are coordinate operations where input +and output datum are identical (e.g. conversion from geographical to +cartesian coordinates) and

+

Coordinate Transformations, which are coordinate operations where +input and output datums differ (e.g. change of reference frame).

+
+
+

Use of remote grids

+
+

New in version 7.0.0.

+
+

If the PROJ_NETWORK environment variable is set to ON, +cct will attempt to use remote grids stored on CDN (Content +Delivery Network) storage, when they are not available locally.

+

More details are available in the Network capabilities section.

+
+
+

Examples

+
    +
  1. The operator specs describe the action to be performed by cct. So +the following script

  2. +
+
echo 12 55 0 0 | cct +proj=utm +zone=32 +ellps=GRS80
+
+
+

will transform the input geographic coordinates into UTM zone 32 coordinates. +Hence, the command

+
echo 12 55 | cct -z0 -t0 +proj=utm +zone=32 +ellps=GRS80
+
+
+

Should give results comparable to the classic proj command

+
echo 12 55 | proj +proj=utm +zone=32 +ellps=GRS80
+
+
+
    +
  1. Convert geographical input to UTM zone 32 on the GRS80 ellipsoid:

  2. +
+
cct +proj=utm +ellps=GRS80 +zone=32
+
+
+
    +
  1. Roundtrip accuracy check for the case above:

  2. +
+
cct +proj=pipeline +proj=utm +ellps=GRS80 +zone=32 +step +step +inv
+
+
+
    +
  1. As (2) but specify input columns for longitude, latitude, height and time:

  2. +
+
cct -c 5,2,1,4 +proj=utm +ellps=GRS80 +zone=32
+
+
+
    +
  1. As (2) but specify fixed height and time, hence needing only 2 cols in +input:

  2. +
+
cct -t 0 -z 0 +proj=utm +ellps=GRS80 +zone=32
+
+
+
    +
  1. Auxiliary data following the coordinate input is forward to the output +stream:

  2. +
+
$ echo 12 56 100 2018.0 auxiliary data | cct +proj=merc
+1335833.8895   7522963.2411      100.0000     2018.0000 auxiliary data
+
+
+
    +
  1. Coordinate operation referenced through its code

  2. +
+
$ echo 3541657.3778 948984.2343 5201383.5231 2020.5 | cct EPSG:8366
+3541657.9112    948983.7503  5201383.2482     2020.5000
+
+
+
    +
  1. Coordinate operation referenced through its name

  2. +
+
$ echo 3541657.3778 948984.2343 5201383.5231 2020.5 | cct "ITRF2014 to ETRF2014 (1)"
+3541657.9112    948983.7503  5201383.2482     2020.5000
+
+
+
+
+

Background

+

cct also refers to Carl Christian Tscherning (1942–2014), +professor of Geodesy at the University of Copenhagen, mentor and advisor +for a generation of Danish geodesists, colleague and collaborator for +two generations of global geodesists, Secretary General for the +International Association of Geodesy, IAG (1995–2007), fellow of the +American Geophysical Union (1991), recipient of the IAG Levallois Medal +(2007), the European Geosciences Union Vening Meinesz Medal (2008), and +of numerous other honours.

+

cct, or Christian, as he was known to most of us, was recognized for his +good mood, his sharp wit, his tireless work, and his great commitment to +the development of geodesy – both through his scientific contributions, +comprising more than 250 publications, and by his mentoring and teaching +of the next generations of geodesists.

+

As Christian was an avid Fortran programmer, and a keen Unix connoisseur, +he would have enjoyed to know that his initials would be used to name a +modest Unix style transformation filter, hinting at the tireless aspect +of his personality, which was certainly one of the reasons he accomplished +so much, and meant so much to so many people.

+

Hence, in honour of cct (the geodesist) this is cct (the program).

+
+
+ + +
+