CCT(1) PROJ CCT(1)
NAME
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
+o a proj-string,
+o a WKT string,
+o an object code (like "EPSG:1671"
"urn:ogc:def:coordinateOperation:EPSG::1671"),
+o an object name. e.g. "ITRF2014 to ETRF2014 (1)". In that case as
uniqueness is not guaranteed, heuristics are applied to
determine the appropriate best match.
+o a OGC URN combining references for concatenated operations (e.g.
"
urn:ogc:def:coordinateOperation,coordinateOperation:EPSG::3895,coordinateOperation:EPSG::1618")
+o a PROJJSON string. The jsonschema is at
https://proj.org/schemas/v0.4/projjson.schema.json 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.
Note however that unlike the
proj, angular input must be in decimal
degrees. Any minutes and seconds given will be silently dropped.
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 to round to 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.
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
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
2. Convert geographical input to UTM zone 32 on the GRS80 ellipsoid:
cct +proj=utm +ellps=GRS80 +zone=32
3. Roundtrip accuracy check for the case above:
cct +proj=pipeline +ellps=GRS80 +zone=32 +step +proj=utm +step +proj=utm +inv
4. As (2) but specify input columns for longitude, latitude, height
and time:
cct -c 5,2,1,4 +proj=utm +ellps=GRS80 +zone=32
5. As (2) but specify fixed height and time, hence needing only 2
cols in input:
cct -t 0 -z 0 +proj=utm +ellps=GRS80 +zone=32
6. Auxiliary data following the coordinate input is forwarded to the
output stream:
$ echo 12 56 100 2018.0 auxiliary data | cct +proj=merc
1335833.8895 7522963.2411 100.0000 2018.0000 auxiliary data
7. Coordinate operation referenced through its code
$ echo 3541657.3778 948984.2343 5201383.5231 2020.5 | cct EPSG:8366
3541657.9112 948983.7503 5201383.2482 2020.5000
8. Coordinate operation referenced through its name
$ 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).
SEE ALSO
proj(1),
cs2cs(1),
geod(1),
gie(1),
projinfo(1),
projsync(1)BUGS
A list of known bugs can be found at
https://github.com/OSGeo/PROJ/issues where new bug reports can be
submitted to.
HOME PAGE
https://proj.org/AUTHOR
Thomas Knudsen
COPYRIGHT
1983-2024, PROJ contributors
9.5 01 Dec 2024 CCT(1)