@crossbind/port-proj-wasm 2.0.0-beta.56 → 2.0.0-beta.58

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/dist/prebuilt/wasm-wasm32-mt-release/crossbind-source.fingerprint +1 -1
  2. package/dist/prebuilt/wasm-wasm32-mt-release/include/proj/coordinateoperation.hpp +9 -0
  3. package/dist/prebuilt/wasm-wasm32-mt-release/include/proj/coordinatesystem.hpp +19 -2
  4. package/dist/prebuilt/wasm-wasm32-mt-release/include/proj/io.hpp +13 -2
  5. package/dist/prebuilt/wasm-wasm32-mt-release/include/proj.h +21 -2
  6. package/dist/prebuilt/wasm-wasm32-mt-release/include/proj_constants.h +63 -0
  7. package/dist/prebuilt/wasm-wasm32-mt-release/include/proj_symbol_rename.h +1 -0
  8. package/dist/prebuilt/wasm-wasm32-mt-release/lib/cmake/proj/proj-config-version.cmake +3 -3
  9. package/dist/prebuilt/wasm-wasm32-mt-release/lib/cmake/proj/proj-config.cmake +0 -8
  10. package/dist/prebuilt/wasm-wasm32-mt-release/lib/cmake/proj/proj-targets.cmake +1 -0
  11. package/dist/prebuilt/wasm-wasm32-mt-release/lib/cmake/proj/proj4-targets.cmake +1 -0
  12. package/dist/prebuilt/wasm-wasm32-mt-release/lib/cmake/proj4/proj-targets.cmake +1 -0
  13. package/dist/prebuilt/wasm-wasm32-mt-release/lib/cmake/proj4/proj4-config-version.cmake +3 -3
  14. package/dist/prebuilt/wasm-wasm32-mt-release/lib/cmake/proj4/proj4-config.cmake +0 -8
  15. package/dist/prebuilt/wasm-wasm32-mt-release/lib/cmake/proj4/proj4-targets.cmake +1 -0
  16. package/dist/prebuilt/wasm-wasm32-mt-release/lib/libproj.a +0 -0
  17. package/dist/prebuilt/wasm-wasm32-mt-release/lib/pkgconfig/proj.pc +1 -1
  18. package/dist/prebuilt/wasm-wasm32-mt-release/share/doc/proj/NEWS.md +62 -2
  19. package/dist/prebuilt/wasm-wasm32-mt-release/share/man/man1/cct.1 +23 -23
  20. package/dist/prebuilt/wasm-wasm32-mt-release/share/man/man1/cs2cs.1 +29 -29
  21. package/dist/prebuilt/wasm-wasm32-mt-release/share/man/man1/geod.1 +21 -21
  22. package/dist/prebuilt/wasm-wasm32-mt-release/share/man/man1/gie.1 +46 -46
  23. package/dist/prebuilt/wasm-wasm32-mt-release/share/man/man1/proj.1 +20 -20
  24. package/dist/prebuilt/wasm-wasm32-mt-release/share/man/man1/projinfo.1 +75 -52
  25. package/dist/prebuilt/wasm-wasm32-mt-release/share/man/man1/projsync.1 +20 -20
  26. package/dist/prebuilt/wasm-wasm32-mt-release/share/proj/proj.db +0 -0
  27. package/dist/prebuilt/wasm-wasm32-st-release/crossbind-source.fingerprint +1 -1
  28. package/dist/prebuilt/wasm-wasm32-st-release/include/proj/coordinateoperation.hpp +9 -0
  29. package/dist/prebuilt/wasm-wasm32-st-release/include/proj/coordinatesystem.hpp +19 -2
  30. package/dist/prebuilt/wasm-wasm32-st-release/include/proj/io.hpp +13 -2
  31. package/dist/prebuilt/wasm-wasm32-st-release/include/proj.h +21 -2
  32. package/dist/prebuilt/wasm-wasm32-st-release/include/proj_constants.h +63 -0
  33. package/dist/prebuilt/wasm-wasm32-st-release/include/proj_symbol_rename.h +1 -0
  34. package/dist/prebuilt/wasm-wasm32-st-release/lib/cmake/proj/proj-config-version.cmake +3 -3
  35. package/dist/prebuilt/wasm-wasm32-st-release/lib/cmake/proj/proj-config.cmake +0 -8
  36. package/dist/prebuilt/wasm-wasm32-st-release/lib/cmake/proj/proj-targets.cmake +1 -0
  37. package/dist/prebuilt/wasm-wasm32-st-release/lib/cmake/proj/proj4-targets.cmake +1 -0
  38. package/dist/prebuilt/wasm-wasm32-st-release/lib/cmake/proj4/proj-targets.cmake +1 -0
  39. package/dist/prebuilt/wasm-wasm32-st-release/lib/cmake/proj4/proj4-config-version.cmake +3 -3
  40. package/dist/prebuilt/wasm-wasm32-st-release/lib/cmake/proj4/proj4-config.cmake +0 -8
  41. package/dist/prebuilt/wasm-wasm32-st-release/lib/cmake/proj4/proj4-targets.cmake +1 -0
  42. package/dist/prebuilt/wasm-wasm32-st-release/lib/libproj.a +0 -0
  43. package/dist/prebuilt/wasm-wasm32-st-release/lib/pkgconfig/proj.pc +1 -1
  44. package/dist/prebuilt/wasm-wasm32-st-release/share/doc/proj/NEWS.md +62 -2
  45. package/dist/prebuilt/wasm-wasm32-st-release/share/man/man1/cct.1 +23 -23
  46. package/dist/prebuilt/wasm-wasm32-st-release/share/man/man1/cs2cs.1 +29 -29
  47. package/dist/prebuilt/wasm-wasm32-st-release/share/man/man1/geod.1 +21 -21
  48. package/dist/prebuilt/wasm-wasm32-st-release/share/man/man1/gie.1 +46 -46
  49. package/dist/prebuilt/wasm-wasm32-st-release/share/man/man1/proj.1 +20 -20
  50. package/dist/prebuilt/wasm-wasm32-st-release/share/man/man1/projinfo.1 +75 -52
  51. package/dist/prebuilt/wasm-wasm32-st-release/share/man/man1/projsync.1 +20 -20
  52. package/dist/prebuilt/wasm-wasm32-st-release/share/proj/proj.db +0 -0
  53. package/package.json +6 -6
@@ -1,5 +1,4 @@
1
- .\" Man page generated from reStructuredText
2
- .\" by the Docutils 0.22.4 manpage writer.
1
+ .\" Man page generated from reStructuredText.
3
2
  .
4
3
  .
5
4
  .nr rst2man-indent-level 0
@@ -28,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
28
27
  .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
29
28
  .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
30
29
  ..
31
- .TH "PROJINFO" "1" "10 avril 2026" "9.8" "PROJ"
30
+ .TH "PROJINFO" "1" "15 Sep 2026" "9.9" "PROJ"
32
31
  .SH NAME
33
32
  projinfo \- Geodetic object and coordinate operation queries
34
33
  .SH SYNOPSIS
@@ -64,7 +63,7 @@ projinfo \- Geodetic object and coordinate operation queries
64
63
  .sp
65
64
  .sp
66
65
  where {object_definition} or {srs_def} is one of the possibilities accepted
67
- by \fBproj_create()\fP \%<#\:c\:.proj_create>
66
+ by \fI\%proj_create()\fP
68
67
  .INDENT 0.0
69
68
  .IP \(bu 2
70
69
  a proj\-string,
@@ -77,24 +76,24 @@ an object code (like \(dqEPSG:4326\(dq, \(dqurn:ogc:def:crs:EPSG::4326\(dq,
77
76
  an Object name. e.g \(dqWGS 84\(dq, \(dqWGS 84 / UTM zone 31N\(dq. In that case as
78
77
  uniqueness is not guaranteed, heuristics are applied to determine the appropriate best match.
79
78
  .IP \(bu 2
80
- a CRS name and a coordinate epoch, separated with \(aq@\(aq. For example \(dq\%<ITRF2014@\:2025.0>\(dq. (\fIadded in 9.2\fP)
79
+ a CRS name and a coordinate epoch, separated with \(aq@\(aq. For example \(dq\X'tty: link mailto:ITRF2014@2025.0'\fI\%ITRF2014@2025.0\fP\X'tty: link'\(dq. (\fIadded in 9.2\fP)
81
80
  .IP \(bu 2
82
81
  a OGC URN combining references for compound coordinate reference systems
83
- (e.g \(dq\%<urn:ogc:def:crs,crs:EPSG::2393,crs:EPSG::5717>\(dq or custom abbreviated
82
+ (e.g \(dq\fI\%urn:ogc:def:crs,crs:EPSG::2393,crs:EPSG::5717\fP\(dq or custom abbreviated
84
83
  syntax \(dqEPSG:2393+5717\(dq),
85
84
  .IP \(bu 2
86
85
  a OGC URN combining references for references for projected or derived CRSs
87
86
  e.g. for Projected 3D CRS \(dqUTM zone 31N / WGS 84 (3D)\(dq:
88
- \(dq\%<urn:ogc:def:crs,crs:EPSG::4979,cs:PROJ::ENh,coordinateOperation:EPSG::16031>\(dq
87
+ \(dq\fI\%urn:ogc:def:crs,crs:EPSG::4979,cs:PROJ::ENh,coordinateOperation:EPSG::16031\fP\(dq
89
88
  (\fIadded in 6.2\fP)
90
89
  .IP \(bu 2
91
90
  Extension of OGC URN for CoordinateMetadata.
92
- e.g. \(dq\%<urn:ogc:def:CoordinateMetadata:NRCAN::NAD83_CSRS_1997_MTM11_HT2_1997>\(dq
91
+ e.g. \(dq\fI\%urn:ogc:def:CoordinateMetadata:NRCAN::NAD83_CSRS_1997_MTM11_HT2_1997\fP\(dq
93
92
  .IP \(bu 2
94
93
  a OGC URN combining references for concatenated operations
95
- (e.g. \(dq\%<urn:ogc:def:coordinateOperation,coordinateOperation:EPSG::3895,coordinateOperation:EPSG::1618>\(dq)
94
+ (e.g. \(dq\fI\%urn:ogc:def:coordinateOperation,coordinateOperation:EPSG::3895,coordinateOperation:EPSG::1618\fP\(dq)
96
95
  .IP \(bu 2
97
- a PROJJSON string. The jsonschema is at \%<https://\:proj\:.org/\:schemas/\:v0\:.4/\:projjson\:.schema\:.json> (\fIadded in 6.2\fP)
96
+ a PROJJSON string. The jsonschema is at \X'tty: link https://proj.org/schemas/v0.4/projjson.schema.json'\fI\%https://proj.org/schemas/v0.4/projjson.schema.json\fP\X'tty: link' (\fIadded in 6.2\fP)
98
97
  .IP \(bu 2
99
98
  a compound CRS made from two object names separated with \(dq + \(dq. e.g. \(dqWGS 84 + EGM96 height\(dq (\fIadded in 7.1\fP)
100
99
  .UNINDENT
@@ -108,14 +107,14 @@ The usage of \(dq{srs_def} {srs_def}\(dq is equivalent to \(dq\-s {srs_def} \-t
108
107
  .UNINDENT
109
108
  .SH DESCRIPTION
110
109
  .sp
111
- projinfo is a program that can query information on a geodetic object,
110
+ \fI\%projinfo\fP is a program that can query information on a geodetic object,
112
111
  coordinate reference system (CRS) or coordinate operation, when the \fB\-s\fP and \fB\-t\fP
113
112
  options are specified, and display it under different formats (PROJ string, WKT string
114
113
  or PROJJSON string).
115
114
  .sp
116
115
  It can also be used to query coordinate operations available between two CRS.
117
116
  .sp
118
- The program is named with some reference to the GDAL gdalsrsinfo \%<https://\:gdal\:.org/\:programs/\:gdalsrsinfo\:.html> utility that offers
117
+ The program is named with some reference to the GDAL \X'tty: link https://gdal.org/programs/gdalsrsinfo.html'\fI\%gdalsrsinfo\fP\X'tty: link' utility that offers
119
118
  partly similar services.
120
119
  .sp
121
120
  The following control parameters can appear in any order:
@@ -127,14 +126,14 @@ formats is a comma separated combination of:
127
126
  .sp
128
127
  Except \fBall\fP and \fBdefault\fP, other formats can be preceded by \fB\-\fP to disable them.
129
128
  .sp
130
- \fBNote:\fP
129
+ \fBNOTE:\fP
131
130
  .INDENT 7.0
132
131
  .INDENT 3.5
133
132
  WKT2_2019 was previously called WKT2_2018.
134
133
  .UNINDENT
135
134
  .UNINDENT
136
135
  .sp
137
- \fBNote:\fP
136
+ \fBNOTE:\fP
138
137
  .INDENT 7.0
139
138
  .INDENT 3.5
140
139
  Before PROJ 6.3.0, WKT1:GDAL was implicitly calling \-\-boundcrs\-to\-wgs84.
@@ -142,10 +141,10 @@ This is no longer the case.
142
141
  .UNINDENT
143
142
  .UNINDENT
144
143
  .sp
145
- \fBNote:\fP
144
+ \fBNOTE:\fP
146
145
  .INDENT 7.0
147
146
  .INDENT 3.5
148
- When SQL is specified, \fB\-\-output\-id\fP must be specified.
147
+ When SQL is specified, \fI\%\-\-output\-id\fP must be specified.
149
148
  .UNINDENT
150
149
  .UNINDENT
151
150
  .UNINDENT
@@ -163,7 +162,7 @@ When listing coordinate operations available between 2 CRS, return the
163
162
  result in a summary format, mentioning only the name of the coordinate
164
163
  operation, its accuracy and its area of use.
165
164
  .sp
166
- \fBNote:\fP
165
+ \fBNOTE:\fP
167
166
  .INDENT 7.0
168
167
  .INDENT 3.5
169
168
  only used for coordinate operation computation
@@ -184,9 +183,9 @@ potentially compatible of being piped in other utilities.
184
183
  Specify an area of interest to restrict the results when researching
185
184
  coordinate operations between 2 CRS. The area of interest can be specified either
186
185
  as a name (e.g \(dqDenmark \- onshore\(dq) or a AUTHORITY:CODE (EPSG:3237)
187
- This option is exclusive of \fB\-\-bbox\fP\&.
186
+ This option is exclusive of \fI\%\-\-bbox\fP\&.
188
187
  .sp
189
- \fBNote:\fP
188
+ \fBNOTE:\fP
190
189
  .INDENT 7.0
191
190
  .INDENT 3.5
192
191
  only used for coordinate operation computation
@@ -204,7 +203,7 @@ unspecified geographic CRS.
204
203
  \fIsouth_lat\fP and \fInorth_lat\fP in the [\-90,90]. \fIwest_long\fP is generally lower than
205
204
  \fIeast_long\fP, except in the case where the area of interest crosses the antimeridian.
206
205
  .sp
207
- \fBNote:\fP
206
+ \fBNOTE:\fP
208
207
  .INDENT 7.0
209
208
  .INDENT 3.5
210
209
  only used for coordinate operation computation
@@ -215,15 +214,15 @@ only used for coordinate operation computation
215
214
  .TP
216
215
  .B \-\-spatial\-test contains|intersects
217
216
  Specify how the area of use of coordinate operations found in the database
218
- are compared to the area of use specified explicitly with \fB\-\-area\fP or \fB\-\-bbox\fP,
217
+ are compared to the area of use specified explicitly with \fI\%\-\-area\fP or \fI\%\-\-bbox\fP,
219
218
  or derived implicitly from the area of use of the source and target CRS.
220
- By default, projinfo will only keep coordinate operations whose are of use
219
+ By default, \fI\%projinfo\fP will only keep coordinate operations whose are of use
221
220
  is strictly within the area of interest (\fBcontains\fP strategy).
222
221
  If using the \fBintersects\fP strategy, the spatial test is relaxed, and any
223
222
  coordinate operation whose area of use at least partly intersects the
224
223
  area of interest is listed.
225
224
  .sp
226
- \fBNote:\fP
225
+ \fBNOTE:\fP
227
226
  .INDENT 7.0
228
227
  .INDENT 3.5
229
228
  only used for coordinate operation computation
@@ -234,18 +233,18 @@ only used for coordinate operation computation
234
233
  .TP
235
234
  .B \-\-crs\-extent\-use none|both|intersection|smallest
236
235
  Specify which area of interest to consider when no explicit one is specified
237
- with \fB\-\-area\fP or \fB\-\-bbox\fP options.
236
+ with \fI\%\-\-area\fP or \fI\%\-\-bbox\fP options.
238
237
  By default (\fBsmallest\fP strategy), the area of
239
238
  use of the source or target CRS will be looked, and the one that is the
240
239
  smallest one in terms of area will be used as the area of interest.
241
240
  If using \fBnone\fP, no area of interest is used.
242
241
  If using \fBboth\fP, only coordinate operations that relate (contain or intersect
243
- depending of the \fB\-\-spatial\-test\fP strategy) to the area of use of both CRS
242
+ depending of the \fI\%\-\-spatial\-test\fP strategy) to the area of use of both CRS
244
243
  are selected.
245
244
  If using \fBintersection\fP, the area of interest is the intersection of the
246
245
  bounding box of the area of use of the source and target CRS
247
246
  .sp
248
- \fBNote:\fP
247
+ \fBNOTE:\fP
249
248
  .INDENT 7.0
250
249
  .INDENT 3.5
251
250
  only used for coordinate operation computation
@@ -258,12 +257,12 @@ only used for coordinate operation computation
258
257
  Specify how the presence or absence of a horizontal or vertical shift grid
259
258
  required for a coordinate operation affects the results returned when
260
259
  researching coordinate operations between 2 CRS.
261
- The default strategy is \fBsort\fP (if \fBPROJ_NETWORK\fP \%<#\:envvar-PROJ_NETWORK> is not defined).
260
+ The default strategy is \fBsort\fP (if \fI\%PROJ_NETWORK\fP is not defined).
262
261
  In that case, all candidate
263
262
  operations are returned, but the actual availability of the grids is used
264
263
  to determine the sorting order. That is, if a coordinate operation involves
265
264
  using a grid that is not available in the PROJ resource directories
266
- (determined by the \fBPROJ_DATA\fP \%<#\:envvar-PROJ_DATA> environment variable), it will be listed in
265
+ (determined by the \fI\%PROJ_DATA\fP environment variable), it will be listed in
267
266
  the bottom of the results.
268
267
  The \fBnone\fP strategy completely disables the checks of presence of grids and
269
268
  this returns the results as if all the grids where available.
@@ -271,9 +270,9 @@ The \fBdiscard_missing\fP strategy discards results that involve grids not
271
270
  present in the PROJ resource directories.
272
271
  The \fBknown_available\fP strategy discards results that involve grids not
273
272
  present in the PROJ resource directories and that are not known of the CDN.
274
- This is the default strategy is \fBPROJ_NETWORK\fP \%<#\:envvar-PROJ_NETWORK> is set to \fBON\fP\&.
273
+ This is the default strategy is \fI\%PROJ_NETWORK\fP is set to \fBON\fP\&.
275
274
  .sp
276
- \fBNote:\fP
275
+ \fBNOTE:\fP
277
276
  .INDENT 7.0
278
277
  .INDENT 3.5
279
278
  only used for coordinate operation computation
@@ -285,7 +284,7 @@ only used for coordinate operation computation
285
284
  .B \-\-pivot\-crs always|if_no_direct_transformation|never|{auth:code[,auth:code]*}
286
285
  Determine if intermediate (pivot) CRS can be used when researching coordinate
287
286
  operation between 2 CRS. A typical example is the WGS84 pivot. By default,
288
- projinfo will consider any potential pivot if there is no direct transformation
287
+ \fI\%projinfo\fP will consider any potential pivot if there is no direct transformation
289
288
  ( \fBif_no_direct_transformation\fP). If using the \fBnever\fP strategy,
290
289
  only direct transformations between the source and target CRS will be
291
290
  used. If using the \fBalways\fP strategy, intermediate CRS will be considered
@@ -293,7 +292,7 @@ even if there are direct transformations.
293
292
  It is also possible to restrict the pivot CRS to consider by specifying
294
293
  one or several CRS by their AUTHORITY:CODE.
295
294
  .sp
296
- \fBNote:\fP
295
+ \fBNOTE:\fP
297
296
  .INDENT 7.0
298
297
  .INDENT 3.5
299
298
  only used for coordinate operation computation
@@ -309,7 +308,7 @@ operations are still considered valid although they have a better equivalent,
309
308
  whereas deprecated operations have been determined to be erroneous and are
310
309
  not considered at all.
311
310
  .sp
312
- \fBNote:\fP
311
+ \fBNOTE:\fP
313
312
  .INDENT 7.0
314
313
  .INDENT 3.5
315
314
  only used for coordinate operation computation
@@ -323,9 +322,9 @@ Added in version 7.1.
323
322
 
324
323
  .sp
325
324
  Hides any coordinate operation that is, or contains, a
326
- Ballpark transformation \%<#\:term-Ballpark-transformation>
325
+ \fI\%Ballpark transformation\fP
327
326
  .sp
328
- \fBNote:\fP
327
+ \fBNOTE:\fP
329
328
  .INDENT 7.0
330
329
  .INDENT 3.5
331
330
  only used for coordinate operation computation
@@ -340,7 +339,7 @@ Added in version 8.0.
340
339
  .sp
341
340
  Sets the minimum desired accuracy for returned coordinate operations.
342
341
  .sp
343
- \fBNote:\fP
342
+ \fBNOTE:\fP
344
343
  .INDENT 7.0
345
344
  .INDENT 3.5
346
345
  only used for coordinate operation computation
@@ -356,7 +355,7 @@ Added in version 8.0.
356
355
  Allows exporting a geographic or projected 3D CRS as a compound CRS whose
357
356
  vertical CRS represents the ellipsoidal height.
358
357
  .sp
359
- \fBNote:\fP
358
+ \fBNOTE:\fP
360
359
  .INDENT 7.0
361
360
  .INDENT 3.5
362
361
  only used for CRS, and with WKT1:GDAL output format
@@ -380,12 +379,12 @@ computed. The default is to allow all authorities.
380
379
  .sp
381
380
  When used with SQL output, this restricts the authorities to which intermediate
382
381
  objects can belong to (the default is EPSG and PROJ). Note that the authority
383
- of the \fB\-\-output\-id\fP option will also be implicitly added.
382
+ of the \fI\%\-\-output\-id\fP option will also be implicitly added.
384
383
  .UNINDENT
385
384
  .INDENT 0.0
386
385
  .TP
387
386
  .B \-\-main\-db\-path path
388
- Specify the name and path of the database to be used by projinfo\&.
387
+ Specify the name and path of the database to be used by \fI\%projinfo\fP\&.
389
388
  The default is \fBproj.db\fP in the PROJ resource directories.
390
389
  .UNINDENT
391
390
  .INDENT 0.0
@@ -416,7 +415,7 @@ Added in version 8.1.
416
415
  .sp
417
416
  Outputs the sequence of SQL statements to create a new empty valid auxiliary
418
417
  database. This option can be specified as the only switch of the utility.
419
- If also specifying a CRS object and the \fB\-\-output\-id\fP option, the
418
+ If also specifying a CRS object and the \fI\%\-\-output\-id\fP option, the
420
419
  definition of the object as SQL statements will be appended.
421
420
  .UNINDENT
422
421
  .INDENT 0.0
@@ -429,10 +428,10 @@ Outputs a list (authority name:code and CRS name) of the filtered CRSs from the
429
428
  If no filter is provided all authority names and types of non deprecated CRSs are dumped.
430
429
  list\-crs\-filter is a comma separated combination of: allow_deprecated,geodetic,geocentric,
431
430
  geographic,geographic_2d,geographic_3d,vertical,projected,compound.
432
- Affected by options \fB\-\-authority\fP, \fB\-\-area\fP, \fB\-\-bbox\fP and \fB\-\-spatial\-test\fP
431
+ Affected by options \fI\%\-\-authority\fP, \fI\%\-\-area\fP, \fI\%\-\-bbox\fP and \fI\%\-\-spatial\-test\fP
433
432
  .sp
434
433
  A visual alternative is the webpage
435
- CRS Explorer \%<https://\:crs-explorer\:.proj\:.org/?\:all=true> .
434
+ \fICRS Explorer <https://crs\-explorer.proj.org/?all=true>\fP (\X'tty: link https://crs-explorer.proj.org/?all=true'\fI\%https://crs\-explorer.proj.org/?all=true\fP\X'tty: link').
436
435
  .UNINDENT
437
436
  .INDENT 0.0
438
437
  .TP
@@ -459,14 +458,14 @@ It is strongly recommended that new objects should not be added in common
459
458
  registries, such as \fBEPSG\fP, \fBESRI\fP, \fBIAU\fP, etc.
460
459
  Users should use a custom authority name instead. If a new object should be
461
460
  added to the official EPSG registry, users are invited to follow the
462
- procedure explained at \%<https://\:epsg\:.org/\:dataset-change-requests\:.html>\&.
461
+ procedure explained at \X'tty: link https://epsg.org/dataset-change-requests.html'\fI\%https://epsg.org/dataset\-change\-requests.html\fP\X'tty: link'\&.
463
462
  .sp
464
- Combined with \fB\-\-dump\-db\-structure\fP, users can create
463
+ Combined with \fI\%\-\-dump\-db\-structure\fP, users can create
465
464
  auxiliary databases, instead of directly modifying the main \fBproj.db\fP database.
466
- See the example how to export to an auxiliary database\&.
465
+ See the \fI\%example how to export to an auxiliary database\fP\&.
467
466
  .sp
468
467
  Those auxiliary databases can be specified through
469
- \fBproj_context_set_database_path()\fP or the \fBPROJ_AUX_DB\fP \%<#\:envvar-PROJ_AUX_DB>
468
+ \fBproj_context_set_database_path()\fP or the \fI\%PROJ_AUX_DB\fP
470
469
  environment variable.
471
470
  .UNINDENT
472
471
  .INDENT 0.0
@@ -497,7 +496,7 @@ that will override them.
497
496
  Added in version 7.0.
498
497
 
499
498
  .sp
500
- Display information regarding if Network capabilities \%<#\:network> is enabled, and the
499
+ Display information regarding if \fI\%Network capabilities\fP is enabled, and the
501
500
  related URL.
502
501
  .UNINDENT
503
502
  .INDENT 0.0
@@ -815,18 +814,42 @@ PROJCS[\(dqETRS89 / UTM zone 32N\(dq,GEOGCS[\(dqETRS89\(dq,DATUM[\(dqEuropean_Te
815
814
  .EE
816
815
  .UNINDENT
817
816
  .UNINDENT
817
+ .INDENT 0.0
818
+ .IP 6. 3
819
+ List CRS in an area
820
+ .UNINDENT
821
+ .INDENT 0.0
822
+ .INDENT 3.5
823
+ .sp
824
+ .EX
825
+ projinfo \-\-list\-crs \-\-area Taiwan
826
+ .EE
827
+ .UNINDENT
828
+ .UNINDENT
829
+ .sp
830
+ Output:
831
+ .INDENT 0.0
832
+ .INDENT 3.5
833
+ .sp
834
+ .EX
835
+ EPSG:3825 \(dqTWD97 / TM2 zone 119\(dq
836
+ EPSG:3826 \(dqTWD97 / TM2 zone 121\(dq...
837
+ .EE
838
+ .UNINDENT
839
+ .UNINDENT
818
840
  .SH SEE ALSO
819
841
  .sp
820
842
  \fBcs2cs(1)\fP, \fBcct(1)\fP, \fBgeod(1)\fP, \fBgie(1)\fP, \fBproj(1)\fP, \fBprojsync(1)\fP
821
843
  .SH BUGS
822
844
  .sp
823
- A list of known bugs can be found at \%<https://\:github\:.com/\:OSGeo/\:PROJ/\:issues>
845
+ A list of known bugs can be found at \X'tty: link https://github.com/OSGeo/PROJ/issues'\fI\%https://github.com/OSGeo/PROJ/issues\fP\X'tty: link'
824
846
  where new bug reports can be submitted to.
825
847
  .SH HOME PAGE
826
848
  .sp
827
- \%<https://\:proj\:.org/>
828
- .SH Author
849
+ \X'tty: link https://proj.org/'\fI\%https://proj.org/\fP\X'tty: link'
850
+ .SH AUTHOR
829
851
  Even Rouault
830
- .SH Copyright
852
+ .SH COPYRIGHT
831
853
  1983-2026, PROJ contributors
832
- .\" End of generated man page.
854
+ .\" Generated by docutils manpage writer.
855
+ .
@@ -1,5 +1,4 @@
1
- .\" Man page generated from reStructuredText
2
- .\" by the Docutils 0.22.4 manpage writer.
1
+ .\" Man page generated from reStructuredText.
3
2
  .
4
3
  .
5
4
  .nr rst2man-indent-level 0
@@ -28,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
28
27
  .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
29
28
  .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
30
29
  ..
31
- .TH "PROJSYNC" "1" "10 avril 2026" "9.8" "PROJ"
30
+ .TH "PROJSYNC" "1" "15 Sep 2026" "9.9" "PROJ"
32
31
  .SH NAME
33
32
  projsync \- Downloading tool of resource files
34
33
  .SH SYNOPSIS
@@ -54,16 +53,16 @@ projsync \- Downloading tool of resource files
54
53
  .UNINDENT
55
54
  .SH DESCRIPTION
56
55
  .sp
57
- projsync is a program that downloads remote resource files
56
+ \fI\%projsync\fP is a program that downloads remote resource files
58
57
  into a local directory. This is an alternative to downloading a proj\-data\-X.Y.Z
59
- archive file, or using the on\-demand networking capabilities \%<#\:network> of PROJ.
58
+ archive file, or using the on\-demand \fI\%networking capabilities\fP of PROJ.
60
59
  .sp
61
60
  The following control parameters can appear in any order:
62
61
  .INDENT 0.0
63
62
  .TP
64
63
  .B \-\-endpoint URL
65
64
  Defines the URL where to download the master \fBfiles.geojson\fP file and then
66
- the resource files. Defaults to the value set in proj.ini \%<#\:proj-ini>
65
+ the resource files. Defaults to the value set in \fI\%proj.ini\fP
67
66
  .UNINDENT
68
67
  .INDENT 0.0
69
68
  .TP
@@ -75,7 +74,7 @@ Defaults to \fB${endpoint}/files.geojson\fP
75
74
  .TP
76
75
  .B \-\-user\-writable\-directory
77
76
  Specifies that resource files must be downloaded in the
78
- user writable directory \%<#\:user-writable-directory>\&. This is the default.
77
+ \fI\%user writable directory\fP\&. This is the default.
79
78
  .UNINDENT
80
79
  .INDENT 0.0
81
80
  .TP
@@ -104,11 +103,11 @@ unspecified geographic CRS.
104
103
  .TP
105
104
  .B \-\-spatial\-test contains|intersects
106
105
  Specify how the extent of the resource files
107
- are compared to the area of use specified explicitly with \fB\-\-bbox\fP\&.
106
+ are compared to the area of use specified explicitly with \fI\%\-\-bbox\fP\&.
108
107
  By default, any resource files whose extent intersects the value specified
109
- by \fB\-\-bbox\fP will be selected.
108
+ by \fI\%\-\-bbox\fP will be selected.
110
109
  If using the \fBcontains\fP strategy, only resource files whose extent is
111
- contained in the value specified by \fB\-\-bbox\fP will be selected.
110
+ contained in the value specified by \fI\%\-\-bbox\fP will be selected.
112
111
  .UNINDENT
113
112
  .INDENT 0.0
114
113
  .TP
@@ -174,11 +173,11 @@ When specifying this switch, all files referenced in \fBfiles.geojson\fP
174
173
  will be candidate (combined with other filters).
175
174
  .UNINDENT
176
175
  .sp
177
- At least one of \fB\-\-list\-files\fP, \fB\-\-file\fP, \fB\-\-source\-id\fP,
178
- \fB\-\-area\-of\-use\fP, \fB\-\-bbox\fP or \fB\-\-all\fP must be specified.
176
+ At least one of \fI\%\-\-list\-files\fP, \fI\%\-\-file\fP, \fI\%\-\-source\-id\fP,
177
+ \fI\%\-\-area\-of\-use\fP, \fI\%\-\-bbox\fP or \fI\%\-\-all\fP must be specified.
179
178
  .sp
180
- Options \fB\-\-file\fP, \fB\-\-source\-id\fP, \fB\-\-area\-of\-use\fP and
181
- \fB\-\-bbox\fP are combined with a AND logic.
179
+ Options \fI\%\-\-file\fP, \fI\%\-\-source\-id\fP, \fI\%\-\-area\-of\-use\fP and
180
+ \fI\%\-\-bbox\fP are combined with a AND logic.
182
181
  .SH EXAMPLES
183
182
  .INDENT 0.0
184
183
  .IP 1. 3
@@ -209,15 +208,16 @@ projsync \-\-source\-id fr_ign \-\-bbox 2,49,2,49
209
208
  \fBcs2cs(1)\fP, \fBcct(1)\fP, \fBgeod(1)\fP, \fBgie(1)\fP, \fBproj(1)\fP, \fBprojinfo(1)\fP
210
209
  .SH BUGS
211
210
  .sp
212
- A list of known bugs can be found at \%<https://\:github\:.com/\:OSGeo/\:PROJ/\:issues>
211
+ A list of known bugs can be found at \X'tty: link https://github.com/OSGeo/PROJ/issues'\fI\%https://github.com/OSGeo/PROJ/issues\fP\X'tty: link'
213
212
  where new bug reports can be submitted to.
214
213
  Bugs specific to resource files should be submitted to
215
- \%<https://\:github\:.com/\:OSGeo/\:PROJ-data/\:issues>
214
+ \X'tty: link https://github.com/OSGeo/PROJ-data/issues'\fI\%https://github.com/OSGeo/PROJ\-data/issues\fP\X'tty: link'
216
215
  .SH HOME PAGE
217
216
  .sp
218
- \%<https://\:proj\:.org/>
219
- .SH Author
217
+ \X'tty: link https://proj.org/'\fI\%https://proj.org/\fP\X'tty: link'
218
+ .SH AUTHOR
220
219
  Even Rouault
221
- .SH Copyright
220
+ .SH COPYRIGHT
222
221
  1983-2026, PROJ contributors
223
- .\" End of generated man page.
222
+ .\" Generated by docutils manpage writer.
223
+ .
@@ -1 +1 @@
1
- 981819597903aef3d31b53a06f974c920d42201185b6582b39047b5dcf3ba5e2
1
+ 0d7c72014b0e221d3f1192f7e5a3a869e096025f943baab2f8fa8c710445d552
@@ -1500,6 +1500,15 @@ class PROJ_GCC_DLL Conversion : public SingleOperation {
1500
1500
  const common::Scale &A2, const common::Measure &B0,
1501
1501
  const common::Scale &B1, const common::Scale &B2);
1502
1502
 
1503
+ PROJ_DLL static ConversionNNPtr
1504
+ createAffineParametric(const util::PropertyMap &properties,
1505
+ const common::Measure &A0, const common::Scale &A1,
1506
+ const common::Scale &A2, const common::Scale &A3,
1507
+ const common::Measure &B0, const common::Scale &B1,
1508
+ const common::Scale &B2, const common::Scale &B3,
1509
+ const common::Measure &C0, const common::Scale &C1,
1510
+ const common::Scale &C2, const common::Scale &C3);
1511
+
1503
1512
  PROJ_DLL ConversionPtr convertToOtherMethod(int targetEPSGCode) const;
1504
1513
 
1505
1514
  PROJ_PRIVATE :
@@ -48,6 +48,23 @@ namespace cs {
48
48
 
49
49
  // ---------------------------------------------------------------------------
50
50
 
51
+ /** \brief Exception that can be thrown when an invalid coordinate system is
52
+ * attempted to be constructed.
53
+ *
54
+ * @since 9.9
55
+ */
56
+ class PROJ_GCC_DLL InvalidCoordinateSystem : public util::Exception {
57
+ public:
58
+ //! @cond Doxygen_Suppress
59
+ PROJ_INTERNAL explicit InvalidCoordinateSystem(const char *message);
60
+ PROJ_INTERNAL explicit InvalidCoordinateSystem(const std::string &message);
61
+ PROJ_DLL InvalidCoordinateSystem(const InvalidCoordinateSystem &other);
62
+ PROJ_DLL ~InvalidCoordinateSystem() override;
63
+ //! @endcond
64
+ };
65
+
66
+ // ---------------------------------------------------------------------------
67
+
51
68
  /** \brief The direction of positive increase in the coordinate value for a
52
69
  * coordinate system axis.
53
70
  *
@@ -549,12 +566,12 @@ class PROJ_GCC_DLL CartesianCS final : public CoordinateSystem {
549
566
  PROJ_DLL static CartesianCSNNPtr
550
567
  create(const util::PropertyMap &properties,
551
568
  const CoordinateSystemAxisNNPtr &axis1,
552
- const CoordinateSystemAxisNNPtr &axis2);
569
+ const CoordinateSystemAxisNNPtr &axis2, bool enforceSameUnit = true);
553
570
  PROJ_DLL static CartesianCSNNPtr
554
571
  create(const util::PropertyMap &properties,
555
572
  const CoordinateSystemAxisNNPtr &axis1,
556
573
  const CoordinateSystemAxisNNPtr &axis2,
557
- const CoordinateSystemAxisNNPtr &axis3);
574
+ const CoordinateSystemAxisNNPtr &axis3, bool enforceSameUnit = true);
558
575
 
559
576
  PROJ_DLL static CartesianCSNNPtr
560
577
  createEastingNorthing(const common::UnitOfMeasure &unit);
@@ -117,6 +117,10 @@ class ProjectedCRS;
117
117
  using ProjectedCRSPtr = std::shared_ptr<ProjectedCRS>;
118
118
  using ProjectedCRSNNPtr = util::nn<ProjectedCRSPtr>;
119
119
 
120
+ class DerivedProjectedCRS;
121
+ using DerivedProjectedCRSPtr = std::shared_ptr<DerivedProjectedCRS>;
122
+ using DerivedProjectedCRSNNPtr = util::nn<DerivedProjectedCRSPtr>;
123
+
120
124
  class CompoundCRS;
121
125
  using CompoundCRSPtr = std::shared_ptr<CompoundCRS>;
122
126
  using CompoundCRSNNPtr = util::nn<CompoundCRSPtr>;
@@ -1066,6 +1070,9 @@ class PROJ_GCC_DLL AuthorityFactory {
1066
1070
  PROJ_DLL crs::ProjectedCRSNNPtr
1067
1071
  createProjectedCRS(const std::string &code) const;
1068
1072
 
1073
+ PROJ_DLL crs::DerivedProjectedCRSNNPtr
1074
+ createDerivedProjectedCRS(const std::string &code) const;
1075
+
1069
1076
  PROJ_DLL crs::CompoundCRSNNPtr
1070
1077
  createCompoundCRS(const std::string &code) const;
1071
1078
 
@@ -1125,6 +1132,8 @@ class PROJ_GCC_DLL AuthorityFactory {
1125
1132
  ENGINEERING_CRS,
1126
1133
  /** Object of type crs::EngineeringCRS */
1127
1134
  COMPOUND_CRS,
1135
+ /** Object of type crs::DerivedProjectedCRS */
1136
+ DERIVED_PROJECTED_CRS,
1128
1137
  /** Object of type operation::CoordinateOperation (and derived
1129
1138
  classes) */
1130
1139
  COORDINATE_OPERATION,
@@ -1259,7 +1268,8 @@ class PROJ_GCC_DLL AuthorityFactory {
1259
1268
  const std::vector<std::string> &allowedAuthorities =
1260
1269
  std::vector<std::string>(),
1261
1270
  const metadata::ExtentPtr &intersectingExtent1 = nullptr,
1262
- const metadata::ExtentPtr &intersectingExtent2 = nullptr) const;
1271
+ const metadata::ExtentPtr &intersectingExtent2 = nullptr,
1272
+ bool skipIntermediateExtentIntersection = false) const;
1263
1273
 
1264
1274
  PROJ_DLL std::string getOfficialNameFromAlias(
1265
1275
  const std::string &aliasedName, const std::string &tableName,
@@ -1326,7 +1336,8 @@ class PROJ_GCC_DLL AuthorityFactory {
1326
1336
  bool considerKnownGridsAsAvailable, bool discardSuperseded,
1327
1337
  const std::vector<std::string> &allowedAuthorities,
1328
1338
  const metadata::ExtentPtr &intersectingExtent1,
1329
- const metadata::ExtentPtr &intersectingExtent2) const;
1339
+ const metadata::ExtentPtr &intersectingExtent2,
1340
+ bool skipIntermediateExtentIntersection = false) const;
1330
1341
 
1331
1342
  typedef std::pair<common::IdentifiedObjectNNPtr, std::string>
1332
1343
  PairObjectName;
@@ -174,8 +174,8 @@ extern "C" {
174
174
 
175
175
  /* The version numbers should be updated with every release! **/
176
176
  #define PROJ_VERSION_MAJOR 9
177
- #define PROJ_VERSION_MINOR 8
178
- #define PROJ_VERSION_PATCH 1
177
+ #define PROJ_VERSION_MINOR 9
178
+ #define PROJ_VERSION_PATCH 0
179
179
 
180
180
  /* Note: the following 3 defines have been introduced in PROJ 8.0.1 */
181
181
  /* Macro to compute a PROJ version number from its components */
@@ -1432,6 +1432,8 @@ int PROJ_DLL proj_get_suggested_operation(PJ_CONTEXT *ctx,
1432
1432
 
1433
1433
  int PROJ_DLL proj_crs_is_derived(PJ_CONTEXT *ctx, const PJ *crs);
1434
1434
 
1435
+ int PROJ_DLL proj_crs_is_dynamic(PJ_CONTEXT *ctx, const PJ *crs);
1436
+
1435
1437
  PJ PROJ_DLL *proj_crs_get_geodetic_crs(PJ_CONTEXT *ctx, const PJ *crs);
1436
1438
 
1437
1439
  PJ PROJ_DLL *proj_crs_get_horizontal_datum(PJ_CONTEXT *ctx, const PJ *crs);
@@ -1799,6 +1801,23 @@ PJ PROJ_DLL *proj_create_linear_affine_parametric_conversion(
1799
1801
  double B2, const char *B2_unit_name, double B2_unit_conv_factor);
1800
1802
  /* clang-format on */
1801
1803
 
1804
+ /* clang-format off */
1805
+ PJ PROJ_DLL *proj_create_linear_3D_affine_parametric_conversion(
1806
+ PJ_CONTEXT *ctx, const char* name,
1807
+ double A0, const char *A0_unit_name, double A0_unit_conv_factor,
1808
+ double A1, const char *A1_unit_name, double A1_unit_conv_factor,
1809
+ double A2, const char *A2_unit_name, double A2_unit_conv_factor,
1810
+ double A3, const char *A3_unit_name, double A3_unit_conv_factor,
1811
+ double B0, const char *B0_unit_name, double B0_unit_conv_factor,
1812
+ double B1, const char *B1_unit_name, double B1_unit_conv_factor,
1813
+ double B2, const char *B2_unit_name, double B2_unit_conv_factor,
1814
+ double B3, const char *B3_unit_name, double B3_unit_conv_factor,
1815
+ double C0, const char *C0_unit_name, double C0_unit_conv_factor,
1816
+ double C1, const char *C1_unit_name, double C1_unit_conv_factor,
1817
+ double C2, const char *C2_unit_name, double C2_unit_conv_factor,
1818
+ double C3, const char *C3_unit_name, double C3_unit_conv_factor);
1819
+ /* clang-format on */
1820
+
1802
1821
  PJ PROJ_DLL *proj_create_transformation(
1803
1822
  PJ_CONTEXT *ctx, const char *name, const char *auth_name, const char *code,
1804
1823
  const PJ *source_crs, const PJ *target_crs, const PJ *interpolation_crs,