1PROJINFO(1) PROJ PROJINFO(1)
2
3
4
6 projinfo - Geodetic object and coordinate operation queries
7
9 projinfo
10 [-o formats] [-k crs|operation|ellipsoid] [--summary] [-q]
11 [[--area name_or_code] | [--bbox west_long,south_lat,east_long,north_lat]]
12 [--spatial-test contains|intersects]
13 [--crs-extent-use none|both|intersection|smallest]
14 [--grid-check none|discard_missing|sort] [--show-superseded]
15 [--pivot-crs always|if_no_direct_transformation|never|{auth:code[,auth:code]*}]
16 [--boundcrs-to-wgs84]
17 [--main-db-path path] [--aux-db-path path]*
18 [--identify] [--3d]
19 [--c-ify] [--single-line]
20 {object_definition} | {object_reference} | (-s {srs_def} -t {srs_def})
21
22
23
24 where {object_definition} or {srs_def} is
25
26 · a proj-string,
27
28 · a WKT string,
29
30 · an object code (like "EPSG:4326", "urn:ogc:def:crs:EPSG::4326",
31 "urn:ogc:def:coordinateOperation:EPSG::1671"),
32
33 · a OGC URN combining references for compound coordinate reference
34 systems (e.g "urn:ogc:def:crs,crs:EPSG::2393,crs:EPSG::5717" or
35 custom abbreviated syntax "EPSG:2393+5717"),
36
37 · a OGC URN combining references for references for projected or
38 derived CRSs e.g. for Projected 3D CRS "UTM zone 31N / WGS 84
39 (3D)": "‐
40 urn:ogc:def:crs,crs:EPSG::4979,cs:PROJ::ENh,coordinateOpera‐
41 tion:EPSG::16031" (added in 6.2)
42
43 · a OGC URN combining references for concatenated operations (e.g.
44 "‐
45 urn:ogc:def:coordinateOperation,coordinateOpera‐
46 tion:EPSG::3895,coordinateOperation:EPSG::1618")
47
48 · a PROJJSON string. The jsonschema is at
49 https://proj.org/schemas/v0.1/projjson.schema.json (added in 6.2)
50
51 {object_reference} is a filename preceded by the '@' character. The
52 file referenced by the {object_reference} must contain a valid
53 {object_definition}.
54
56 projinfo is a program that can query information on a geodetic object,
57 coordinate reference system (CRS) or coordinate operation, when the -s
58 and -t options are specified, and display it under different formats
59 (PROJ string, WKT string or PROJJSON string).
60
61 It can also be used to query coordinate operations available between
62 two CRS.
63
64 The program is named with some reference to the GDAL gdalsrsinfo that
65 offers partly similar services.
66
67 The following control parameters can appear in any order:
68
69 -o formats
70 formats is a comma separated combination of: all, default, PROJ,
71 WKT_ALL, WKT2:2015, WKT2:2019, WKT1:GDAL, WKT1:ESRI, PROJJSON.
72
73 Except all and default, other formats can be preceded by - to
74 disable them.
75
76 NOTE:
77 WKT2_2019 was previously called WKT2_2018.
78
79 NOTE:
80 Before PROJ 6.3.0, WKT1:GDAL was implicitly calling --bound‐
81 crs-to-wgs84. This is no longer the case.
82
83 -k crs|operation|ellipsoid
84 When used to query a single object with a AUTHORITY:CODE, deter‐
85 mines the (k)ind of the object in case there are CRS, coordinate
86 operations or ellipsoids with the same CODE. The default is
87 crs.
88
89 --summary
90 When listing coordinate operations available between 2 CRS,
91 return the result in a summary format, mentioning only the name
92 of the coordinate operation, its accuracy and its area of use.
93
94 NOTE:
95 only used for coordinate operation computation
96
97 -q Turn on quiet mode. Quiet mode is only available for queries on
98 single objects, and only one output format is selected. In that
99 mode, only the PROJ, WKT or PROJJSON string is displayed, with‐
100 out other introduction output. The output is then potentially
101 compatible of being piped in other utilities.
102
103 --area name_or_code
104 Specify an area of interest to restrict the results when
105 researching coordinate operations between 2 CRS. The area of
106 interest can be specified either as a name (e.g "Denmark -
107 onshore") or a AUTHORITY:CODE (EPSG:3237) This option is exclu‐
108 sive of --bbox.
109
110 NOTE:
111 only used for coordinate operation computation
112
113 --bbox west_long,south_lat,east_long,north_lat
114 Specify an area of interest to restrict the results when
115 researching coordinate operations between 2 CRS. The area of
116 interest is specified as a bounding box with geographic coordi‐
117 nates, expressed in degrees in a unspecified geographic CRS.
118 west_long and east_long should be in the [-180,180] range, and
119 south_lat and north_lat in the [-90,90]. west_long is generally
120 lower than east_long, except in the case where the area of
121 interest crosses the antimeridian.
122
123 NOTE:
124 only used for coordinate operation computation
125
126 --spatial-test contains|intersects
127 Specify how the area of use of coordinate operations found in
128 the database are compared to the area of use specified explic‐
129 itly with --area or --bbox, or derived implicitly from the area
130 of use of the source and target CRS. By default, projinfo will
131 only keep coordinate operations whose are of use is strictly
132 within the area of interest (contains strategy). If using the
133 intersects strategy, the spatial test is relaxed, and any coor‐
134 dinate operation whose area of use at least partly intersects
135 the area of interest is listed.
136
137 NOTE:
138 only used for coordinate operation computation
139
140 --crs-extent-use none|both|intersection|smallest
141 Specify which area of interest to consider when no explicit one
142 is specified with --area or --bbox options. By default (small‐
143 est strategy), the area of use of the source or target CRS will
144 be looked, and the one that is the smallest one in terms of area
145 will be used as the area of interest. If using none, no area of
146 interest is used. If using both, only coordinate operations
147 that relate (contain or intersect depending of the
148 --spatial-test strategy) to the area of use of both CRS are
149 selected. If using intersection, the area of interest is the
150 intersection of the bounding box of the area of use of the
151 source and target CRS
152
153 NOTE:
154 only used for coordinate operation computation
155
156 --grid-check none|discard_missing|sort
157 Specify how the presence or absence of a horizontal or vertical
158 shift grid required for a coordinate operation affects the
159 results returned when researching coordinate operations between
160 2 CRS. The default strategy is sort: in that case, all candi‐
161 date operations are returned, but the actual availability of the
162 grids is used to determine the sorting order. That is, if a
163 coordinate operation involves using a grid that is not available
164 in the PROJ resource directories (determined by the PROJ_LIB
165 environment variable, it will be listed in the bottom of the
166 results. The none strategy completely disables the checks of
167 presence of grids and this returns the results as if all the
168 grids where available. The discard_missing strategy discards
169 results that involve grids not present in the PROJ resource
170 directories.
171
172 NOTE:
173 only used for coordinate operation computation
174
175 -show-superseded
176 When enabled, coordinate operations that are superseded by oth‐
177 ers will be listed. Note that supersession is not equivalent to
178 deprecation: superseded operations are still considered valid
179 although they have a better equivalent, whereas deprecated oper‐
180 ations have been determined to be erroneous and are not consid‐
181 ered at all.
182
183 NOTE:
184 only used for coordinate operation computation
185
186 --pivot-crs always|if_no_direct_transforma‐
187 tion|never|{auth:code[,auth:code]*}
188 Determine if intermediate (pivot) CRS can be used when research‐
189 ing coordinate operation between 2 CRS. A typical example is the
190 WGS84 pivot. By default, projinfo will consider any potential
191 pivot if there is no direct transformation ( if_no_direct_trans‐
192 formation). If using the never strategy, only direct transforma‐
193 tions between the source and target CRS will be used. If using
194 the always strategy, intermediate CRS will be considered even if
195 there are direct transformations. It is also possible to
196 restrict the pivot CRS to consider by specifying one or several
197 CRS by their AUTHORITY:CODE.
198
199 NOTE:
200 only used for coordinate operation computation
201
202 --boundcrs-to-wgs84
203 When specified, this option researches a coordinate operation
204 from the base geographic CRS of the single CRS, source or target
205 CRS to the WGS84 geographic CRS, and if found, wraps those CRS
206 into a BoundCRS object. This is mostly to be used for
207 early-binding approaches.
208
209 --main-db-path path
210 Specify the name and path of the database to be used by pro‐
211 jinfo. The default is proj.db in the PROJ resource directories.
212
213 --aux-db-path path
214 Specify the name and path of auxiliary databases, that are to be
215 combined with the main database. Those auxiliary databases must
216 have a table structure that is identical to the main database,
217 but can be partly filled and their entries can refer to entries
218 of the main database. The option may be repeated to specify
219 several auxiliary databases.
220
221 --identify
222 When used with an object definition, this queries the PROJ data‐
223 base to find known objects, typically CRS, that are close or
224 identical to the object. Each candidate object is associated
225 with an approximate likelihood percentage. This is useful when
226 used with a WKT string that lacks a EPSG identifier, such as
227 ESRI WKT1. This might also be used with PROJ strings. For exam‐
228 ple, +proj=utm +zone=31 +datum=WGS84 +type=crs will be identi‐
229 fied with a likelihood of 70% to EPSG:32631
230
231 --3d New in version 6.3.
232
233
234 "Promote" the CRS(s) to their 3D version. In the context of
235 researching available coordinate transformations, explicitly
236 specifying this option is not necessary, because when one of the
237 source or target CRS has a vertical component but not the other
238 one, the one that has no vertical component is automatically
239 promoted to a 3D version, where its vertical axis is the ellip‐
240 soidal height in metres, using the ellipsoid of the base geodet‐
241 ic CRS.
242
243 --c-ify
244 For developers only. Modify the string output of the utility so
245 that it is easy to put those strings in C/C++ code
246
247 --single-line
248 Output WKT or PROJJSON strings on a single line, instead of mul‐
249 tiple intended lines by default.
250
252 1. Query the CRS object corresponding to EPSG:4326
253
254 projinfo EPSG:4326
255
256 Output:
257
258 PROJ.4 string:
259 +proj=longlat +datum=WGS84 +no_defs +type=crs
260
261 WKT2:2019 string:
262 GEOGCRS["WGS 84",
263 DATUM["World Geodetic System 1984",
264 ELLIPSOID["WGS 84",6378137,298.257223563,
265 LENGTHUNIT["metre",1]]],
266 PRIMEM["Greenwich",0,
267 ANGLEUNIT["degree",0.0174532925199433]],
268 CS[ellipsoidal,2],
269 AXIS["geodetic latitude (Lat)",north,
270 ORDER[1],
271 ANGLEUNIT["degree",0.0174532925199433]],
272 AXIS["geodetic longitude (Lon)",east,
273 ORDER[2],
274 ANGLEUNIT["degree",0.0174532925199433]],
275 USAGE[
276 SCOPE["unknown"],
277 AREA["World"],
278 BBOX[-90,-180,90,180]],
279 ID["EPSG",4326]]
280
281 2. List the coordinate operations between NAD27 (designed with its CRS
282 name) and NAD83 (designed with its EPSG code 4269) within an area of
283 interest
284
285 projinfo -s NAD27 -t EPSG:4269 --area "USA - Missouri"
286
287 Output:
288
289 DERIVED_FROM(EPSG):1241, NAD27 to NAD83 (1), 0.15 m, USA - CONUS including EEZ
290
291 PROJ string:
292 +proj=pipeline +step +proj=axisswap +order=2,1 +step +proj=unitconvert \
293 +xy_in=deg +xy_out=rad +step +proj=hgridshift +grids=conus \
294 +step +proj=unitconvert +xy_in=rad +xy_out=deg +step +proj=axisswap +order=2,1
295
296 WKT2:2019 string:
297 COORDINATEOPERATION["NAD27 to NAD83 (1)",
298 SOURCECRS[
299 GEOGCRS["NAD27",
300 DATUM["North American Datum 1927",
301 ELLIPSOID["Clarke 1866",6378206.4,294.978698213898,
302 LENGTHUNIT["metre",1]]],
303 PRIMEM["Greenwich",0,
304 ANGLEUNIT["degree",0.0174532925199433]],
305 CS[ellipsoidal,2],
306 AXIS["geodetic latitude (Lat)",north,
307 ORDER[1],
308 ANGLEUNIT["degree",0.0174532925199433]],
309 AXIS["geodetic longitude (Lon)",east,
310 ORDER[2],
311 ANGLEUNIT["degree",0.0174532925199433]]]],
312 TARGETCRS[
313 GEOGCRS["NAD83",
314 DATUM["North American Datum 1983",
315 ELLIPSOID["GRS 1980",6378137,298.257222101,
316 LENGTHUNIT["metre",1]]],
317 PRIMEM["Greenwich",0,
318 ANGLEUNIT["degree",0.0174532925199433]],
319 CS[ellipsoidal,2],
320 AXIS["geodetic latitude (Lat)",north,
321 ORDER[1],
322 ANGLEUNIT["degree",0.0174532925199433]],
323 AXIS["geodetic longitude (Lon)",east,
324 ORDER[2],
325 ANGLEUNIT["degree",0.0174532925199433]]]],
326 METHOD["CTABLE2"],
327 PARAMETERFILE["Latitude and longitude difference file","conus"],
328 OPERATIONACCURACY[0.15],
329 USAGE[
330 SCOPE["unknown"],
331 AREA["USA - CONUS including EEZ"],
332 BBOX[23.81,-129.17,49.38,-65.69]],
333 ID["DERIVED_FROM(EPSG)",1241]]
334
335 3. Export an object as a PROJJSON string
336
337 projinfo GDA94 -o PROJJSON -q
338
339 Output:
340
341 {
342 "type": "GeographicCRS",
343 "name": "GDA94",
344 "datum": {
345 "type": "GeodeticReferenceFrame",
346 "name": "Geocentric Datum of Australia 1994",
347 "ellipsoid": {
348 "name": "GRS 1980",
349 "semi_major_axis": 6378137,
350 "inverse_flattening": 298.257222101
351 }
352 },
353 "coordinate_system": {
354 "subtype": "ellipsoidal",
355 "axis": [
356 {
357 "name": "Geodetic latitude",
358 "abbreviation": "Lat",
359 "direction": "north",
360 "unit": "degree"
361 },
362 {
363 "name": "Geodetic longitude",
364 "abbreviation": "Lon",
365 "direction": "east",
366 "unit": "degree"
367 }
368 ]
369 },
370 "area": "Australia - GDA",
371 "bbox": {
372 "south_latitude": -60.56,
373 "west_longitude": 93.41,
374 "north_latitude": -8.47,
375 "east_longitude": 173.35
376 },
377 "id": {
378 "authority": "EPSG",
379 "code": 4283
380 }
381 }
382
384 cs2cs(1), cct(1), geod(1), gie(1), proj(1)
385
387 A list of know bugs can be found at
388 https://github.com/OSGeo/PROJ/issues where new bug reports can be sub‐
389 mitted to.
390
392 https://proj.org/
393
395 Even Rouault
396
398 1983-2020
399
400
401
402
4036.3.2 Apr 27, 2020 PROJINFO(1)