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