1CCT(1) PROJ CCT(1)
2
3
4
6 cct - Coordinate Conversion and Transformation
7
9 cct [-cIostvz [args]] +opt[=arg] ... file ...
10
11 or
12 cct [-cIostvz [args]] {object_definition} file ...
13
14 Where {object_definition} is one of the possibilities accepted by
15 proj_create(), provided it expresses a coordinate operation
16
17 • a proj-string,
18
19 • a WKT string,
20
21 • an object code (like "EPSG:1671" "urn:ogc:def:coordinateOpera‐
22 tion:EPSG::1671"),
23
24 • an object name. e.g. "ITRF2014 to ETRF2014 (1)". In that case as
25 uniqueness is not guaranteed, heuristics are applied to determine
26 the appropriate best match.
27
28 • a OGC URN combining references for concatenated operations (e.g.
29 "‐
30 urn:ogc:def:coordinateOperation,coordinateOperation:EPSG::3895,co‐
31 ordinateOperation:EPSG::1618")
32
33 • a PROJJSON string. The jsonschema is at
34 https://proj.org/schemas/v0.4/projjson.schema.json
35
36 New in version 8.0.0.
37
38
39 NOTE:
40 Before version 8.0.0 only proj-strings could be used to instan‐
41 tiate operations in cct.
42
43 or
44 cct [-cIostvz [args]] {object_reference} file ...
45
46 where {object_reference} is a filename preceded by the '@' character.
47 The file referenced by the {object_reference} must contain a valid {ob‐
48 ject_definition}.
49 New in version 8.0.0.
50
51
53 cct is a 4D equivalent to the proj projection program, performs trans‐
54 formation coordinate systems on a set of input points. The coordinate
55 system transformation can include translation between projected and ge‐
56 ographic coordinates as well as the application of datum shifts.
57
58 The following control parameters can appear in any order:
59
60 -c <x,y,z,t>
61 Specify input columns for (up to) 4 input parameters. Defaults
62 to 1,2,3,4.
63
64 -d <n> New in version 5.2.0.
65
66
67 Specify the number of decimals to round to in the output.
68
69 -I Do the inverse transformation.
70
71 -o <output file name>, --output=<output file name>
72 Specify the name of the output file.
73
74 -t <time>, --time=<time>
75 Specify a fixed observation time to be used for all input data.
76
77 -z <height>, --height=<height>
78 Specify a fixed observation height to be used for all input
79 data.
80
81 -s <n>, --skip-lines=<n>
82 New in version 5.1.0.
83
84
85 Skip the first n lines of input. This applies to any kind of in‐
86 put, whether it comes from STDIN, a file or interactive user in‐
87 put.
88
89 -v, --verbose
90 Write non-essential, but potentially useful, information to
91 stderr. Repeat for additional information (-vv, -vvv, etc.)
92
93 --version
94 Print version number.
95
96 The +opt arguments are associated with coordinate operation parameters.
97 Usage varies with operation.
98
99 cct is an acronym meaning Coordinate Conversion and Transformation.
100
101 The acronym refers to definitions given in the OGC 08-015r2/ISO-19111
102 standard "Geographical Information -- Spatial Referencing by Coordi‐
103 nates", which defines two different classes of coordinate operations:
104
105 Coordinate Conversions, which are coordinate operations where input and
106 output datum are identical (e.g. conversion from geographical to carte‐
107 sian coordinates) and
108
109 Coordinate Transformations, which are coordinate operations where input
110 and output datums differ (e.g. change of reference frame).
111
113 New in version 7.0.0.
114
115
116 If the PROJ_NETWORK environment variable is set to ON, cct will attempt
117 to use remote grids stored on CDN (Content Delivery Network) storage,
118 when they are not available locally.
119
120 More details are available in the Network capabilities section.
121
123 1. The operator specs describe the action to be performed by cct. So
124 the following script
125
126 echo 12 55 0 0 | cct +proj=utm +zone=32 +ellps=GRS80
127
128 will transform the input geographic coordinates into UTM zone 32 coor‐
129 dinates. Hence, the command
130
131 echo 12 55 | cct -z0 -t0 +proj=utm +zone=32 +ellps=GRS80
132
133 Should give results comparable to the classic proj command
134
135 echo 12 55 | proj +proj=utm +zone=32 +ellps=GRS80
136
137 2. Convert geographical input to UTM zone 32 on the GRS80 ellipsoid:
138
139 cct +proj=utm +ellps=GRS80 +zone=32
140
141 3. Roundtrip accuracy check for the case above:
142
143 cct +proj=pipeline +proj=utm +ellps=GRS80 +zone=32 +step +step +inv
144
145 4. As (2) but specify input columns for longitude, latitude, height and
146 time:
147
148 cct -c 5,2,1,4 +proj=utm +ellps=GRS80 +zone=32
149
150 5. As (2) but specify fixed height and time, hence needing only 2 cols
151 in input:
152
153 cct -t 0 -z 0 +proj=utm +ellps=GRS80 +zone=32
154
155 6. Auxiliary data following the coordinate input is forward to the out‐
156 put stream:
157
158 $ echo 12 56 100 2018.0 auxiliary data | cct +proj=merc
159 1335833.8895 7522963.2411 100.0000 2018.0000 auxiliary data
160
161 7. Coordinate operation referenced through its code
162
163 $ echo 3541657.3778 948984.2343 5201383.5231 2020.5 | cct EPSG:8366
164 3541657.9112 948983.7503 5201383.2482 2020.5000
165
166 8. Coordinate operation referenced through its name
167
168 $ echo 3541657.3778 948984.2343 5201383.5231 2020.5 | cct "ITRF2014 to ETRF2014 (1)"
169 3541657.9112 948983.7503 5201383.2482 2020.5000
170
172 cct also refers to Carl Christian Tscherning (1942--2014), professor of
173 Geodesy at the University of Copenhagen, mentor and advisor for a gen‐
174 eration of Danish geodesists, colleague and collaborator for two gener‐
175 ations of global geodesists, Secretary General for the International
176 Association of Geodesy, IAG (1995--2007), fellow of the American Geo‐
177 physical Union (1991), recipient of the IAG Levallois Medal (2007), the
178 European Geosciences Union Vening Meinesz Medal (2008), and of numerous
179 other honours.
180
181 cct, or Christian, as he was known to most of us, was recognized for
182 his good mood, his sharp wit, his tireless work, and his great commit‐
183 ment to the development of geodesy -- both through his scientific con‐
184 tributions, comprising more than 250 publications, and by his mentoring
185 and teaching of the next generations of geodesists.
186
187 As Christian was an avid Fortran programmer, and a keen Unix connois‐
188 seur, he would have enjoyed to know that his initials would be used to
189 name a modest Unix style transformation filter, hinting at the tireless
190 aspect of his personality, which was certainly one of the reasons he
191 accomplished so much, and meant so much to so many people.
192
193 Hence, in honour of cct (the geodesist) this is cct (the program).
194
196 proj(1), cs2cs(1), geod(1), gie(1), projinfo(1), projsync(1)
197
199 A list of known bugs can be found at
200 https://github.com/OSGeo/PROJ/issues where new bug reports can be sub‐
201 mitted to.
202
204 https://proj.org/
205
207 Thomas Knudsen
208
210 1983-2023
211
212
213
214
2159.2.1 Jun 1, 2023 CCT(1)