Passed
Push — master ( 8bd5c3...1e8670 )
by Doug
62:22
created

Geographic3D::getSupportedSRIDsWithHelp()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 0
Metric Value
cc 1
eloc 1
nc 1
nop 0
dl 0
loc 3
ccs 0
cts 0
cp 0
crap 2
rs 10
c 0
b 0
f 0
1
<?php
2
/**
3
 * PHPCoord.
4
 *
5
 * @author Doug Wright
6
 */
7
declare(strict_types=1);
8
9
namespace PHPCoord\CoordinateReferenceSystem;
10
11
use PHPCoord\CoordinateSystem\CoordinateSystem;
12
use PHPCoord\CoordinateSystem\Ellipsoidal;
13
use PHPCoord\Datum\Datum;
14
use PHPCoord\Exception\UnknownCoordinateReferenceSystemException;
15
use PHPCoord\Geometry\BoundingArea;
16
17
use function assert;
18
use function count;
19
use function array_map;
20
21
class Geographic3D extends Geographic
22
{
23
    use Geographic3DSRIDData;
24
    /**
25
     * ATRF2014
26
     * Extent: Australia including Lord Howe Island, Macquarie Island, Ashmore and Cartier Islands, Christmas Island,
27
     * Cocos (Keeling) Islands, Norfolk Island. All onshore and offshore.
28
     */
29
    public const EPSG_ATRF2014 = 'urn:ogc:def:crs:EPSG::9308';
30
31
    /**
32
     * Australian Antarctic
33
     * Extent: Antarctica between 45°E and 136°E and between 142°E and 160°E - Australian sector.
34
     */
35
    public const EPSG_AUSTRALIAN_ANTARCTIC = 'urn:ogc:def:crs:EPSG::4931';
36
37
    /**
38
     * BDA2000
39
     * Extent: Bermuda - onshore and offshore.
40
     */
41
    public const EPSG_BDA2000 = 'urn:ogc:def:crs:EPSG::4887';
42
43
    /**
44
     * BGS2005
45
     * Extent: Bulgaria - onshore and offshore.
46
     * Adopted 2010-07-29.
47
     */
48
    public const EPSG_BGS2005 = 'urn:ogc:def:crs:EPSG::7797';
49
50
    /**
51
     * BH_ETRS89
52
     * Extent: Bosnia and Herzegovina.
53
     */
54
    public const EPSG_BH_ETRS89 = 'urn:ogc:def:crs:EPSG::10327';
55
56
    /**
57
     * CGRS93
58
     * Extent: Cyprus - onshore.
59
     */
60
    public const EPSG_CGRS93 = 'urn:ogc:def:crs:EPSG::6310';
61
62
    /**
63
     * CHTRS95
64
     * Extent: Liechtenstein; Switzerland.
65
     * Referenced to ETRS89 at epoch 1993.0. For CRS used for topographic and cadastral purposes see CH1903+ (CRS code
66
     * 4150).
67
     */
68
    public const EPSG_CHTRS95 = 'urn:ogc:def:crs:EPSG::4933';
69
70
    /**
71
     * CIGD11
72
     * Extent: Cayman Islands - onshore and offshore. Includes Grand Cayman, Little Cayman and Cayman Brac.
73
     */
74
    public const EPSG_CIGD11 = 'urn:ogc:def:crs:EPSG::6134';
75
76
    /**
77
     * CR-SIRGAS
78
     * Extent: Costa Rica - onshore and offshore.
79
     * Replaces CR05 (CRS code 5364) from April 2018.
80
     */
81
    public const EPSG_CR_SIRGAS = 'urn:ogc:def:crs:EPSG::8906';
82
83
    /**
84
     * CR05
85
     * Extent: Costa Rica - onshore and offshore.
86
     * Replaced by CR-SIRGAS (CRS code 8906) from April 2018.
87
     */
88
    public const EPSG_CR05 = 'urn:ogc:def:crs:EPSG::5364';
89
90
    /**
91
     * Cadastre 1997
92
     * Extent: Mayotte - onshore.
93
     */
94
    public const EPSG_CADASTRE_1997 = 'urn:ogc:def:crs:EPSG::4472';
95
96
    /**
97
     * China Geodetic Coordinate System 2000
98
     * Extent: China - onshore and offshore.
99
     */
100
    public const EPSG_CHINA_GEODETIC_COORDINATE_SYSTEM_2000 = 'urn:ogc:def:crs:EPSG::4480';
101
102
    /**
103
     * DB_REF
104
     * Extent: Germany - onshore - states of Baden-Wurtemberg, Bayern, Berlin, Brandenburg, Bremen, Hamburg, Hessen,
105
     * Mecklenburg-Vorpommern, Niedersachsen, Nordrhein-Westfalen, Rheinland-Pfalz, Saarland, Sachsen, Sachsen-Anhalt,
106
     * Schleswig-Holstein, Thuringen.
107
     * Geometric component of both DB_REF2003 and DB_REF2016 systems.
108
     */
109
    public const EPSG_DB_REF = 'urn:ogc:def:crs:EPSG::5830';
110
111
    /**
112
     * DGN95
113
     * Extent: Indonesia - onshore and offshore.
114
     */
115
    public const EPSG_DGN95 = 'urn:ogc:def:crs:EPSG::4898';
116
117
    /**
118
     * DRUKREF 03
119
     * Extent: Bhutan.
120
     */
121
    public const EPSG_DRUKREF_03 = 'urn:ogc:def:crs:EPSG::5263';
122
123
    /**
124
     * EST97
125
     * Extent: Estonia - onshore and offshore.
126
     */
127
    public const EPSG_EST97 = 'urn:ogc:def:crs:EPSG::4935';
128
129
    /**
130
     * ETRF2000
131
     * Extent: Europe - onshore and offshore: Albania; Andorra; Austria; Belgium; Bosnia and Herzegovina; Bulgaria;
132
     * Croatia; Cyprus; Czechia; Denmark; Estonia; Faroe Islands; Finland; France; Germany; Gibraltar; Greece; Hungary;
133
     * Ireland; Italy; Kosovo; Latvia; Liechtenstein; Lithuania; Luxembourg; Malta; Moldova; Monaco; Montenegro;
134
     * Netherlands; North Macedonia; Norway including Svalbard and Jan Mayen; Poland; Portugal; Romania; San Marino;
135
     * Serbia; Slovakia; Slovenia; Spain; Sweden; Switzerland; United Kingdom (UK) including Channel Islands and Isle
136
     * of Man; Vatican City State.
137
     * Replaces ETRF97 (code 7929). On the publication of ETRF2005 (code 8399), the EUREF Technical Working Group
138
     * recommended that ETRF2000 be the realization of ETRS89. ETRF2014 (code 8403) is technically superior to all
139
     * earlier realizations of ETRS89.
140
     */
141
    public const EPSG_ETRF2000 = 'urn:ogc:def:crs:EPSG::7931';
142
143
    /**
144
     * ETRF2000-PL
145
     * Extent: Poland - onshore and offshore.
146
     * Adopted from 2012-12-01.
147
     */
148
    public const EPSG_ETRF2000_PL = 'urn:ogc:def:crs:EPSG::9701';
149
150
    /**
151
     * ETRF2005
152
     * Extent: Europe - onshore and offshore: Albania; Andorra; Austria; Belgium; Bosnia and Herzegovina; Bulgaria;
153
     * Croatia; Cyprus; Czechia; Denmark; Estonia; Faroe Islands; Finland; France; Germany; Gibraltar; Greece; Hungary;
154
     * Ireland; Italy; Kosovo; Latvia; Liechtenstein; Lithuania; Luxembourg; Malta; Moldova; Monaco; Montenegro;
155
     * Netherlands; North Macedonia; Norway including Svalbard and Jan Mayen; Poland; Portugal; Romania; San Marino;
156
     * Serbia; Slovakia; Slovenia; Spain; Sweden; Switzerland; United Kingdom (UK) including Channel Islands and Isle
157
     * of Man; Vatican City State.
158
     * On publication in 2007 of this CRS, the EUREF Technical Working Group recommended that ETRF2000 (EPSG code 7931)
159
     * remained as the preferred realization of ETRS89. Replaced by ETRF2014 (code 8403).
160
     */
161
    public const EPSG_ETRF2005 = 'urn:ogc:def:crs:EPSG::8399';
162
163
    /**
164
     * ETRF2014
165
     * Extent: Europe - onshore and offshore: Albania; Andorra; Austria; Belgium; Bosnia and Herzegovina; Bulgaria;
166
     * Croatia; Cyprus; Czechia; Denmark; Estonia; Faroe Islands; Finland; France; Germany; Gibraltar; Greece; Hungary;
167
     * Ireland; Italy; Kosovo; Latvia; Liechtenstein; Lithuania; Luxembourg; Malta; Moldova; Monaco; Montenegro;
168
     * Netherlands; North Macedonia; Norway including Svalbard and Jan Mayen; Poland; Portugal; Romania; San Marino;
169
     * Serbia; Slovakia; Slovenia; Spain; Sweden; Switzerland; United Kingdom (UK) including Channel Islands and Isle
170
     * of Man; Vatican City State.
171
     * Replaces ETRF2005 (code 8399). ETRF2014 is technically superior to ETRF2000 but ETRF2000 and other previous
172
     * realizations may be preferred for backward compatibility reasons. Differences between ETRF2014 and ETRF2000 can
173
     * reach 7cm.
174
     */
175
    public const EPSG_ETRF2014 = 'urn:ogc:def:crs:EPSG::8403';
176
177
    /**
178
     * ETRF89
179
     * Extent: Europe - onshore and offshore: Albania; Andorra; Austria; Belgium; Bosnia and Herzegovina; Bulgaria;
180
     * Croatia; Cyprus; Czechia; Denmark; Estonia; Faroe Islands; Finland; France; Germany; Gibraltar; Greece; Hungary;
181
     * Ireland; Italy; Kosovo; Latvia; Liechtenstein; Lithuania; Luxembourg; Malta; Moldova; Monaco; Montenegro;
182
     * Netherlands; North Macedonia; Norway including Svalbard and Jan Mayen; Poland; Portugal; Romania; San Marino;
183
     * Serbia; Slovakia; Slovenia; Spain; Sweden; Switzerland; United Kingdom (UK) including Channel Islands and Isle
184
     * of Man; Vatican City State.
185
     * Replaced by ETRF90 (code 7917).
186
     */
187
    public const EPSG_ETRF89 = 'urn:ogc:def:crs:EPSG::7915';
188
189
    /**
190
     * ETRF90
191
     * Extent: Europe - onshore and offshore: Albania; Andorra; Austria; Belgium; Bosnia and Herzegovina; Bulgaria;
192
     * Croatia; Cyprus; Czechia; Denmark; Estonia; Faroe Islands; Finland; France; Germany; Gibraltar; Greece; Hungary;
193
     * Ireland; Italy; Kosovo; Latvia; Liechtenstein; Lithuania; Luxembourg; Malta; Moldova; Monaco; Montenegro;
194
     * Netherlands; North Macedonia; Norway including Svalbard and Jan Mayen; Poland; Portugal; Romania; San Marino;
195
     * Serbia; Slovakia; Slovenia; Spain; Sweden; Switzerland; United Kingdom (UK) including Channel Islands and Isle
196
     * of Man; Vatican City State.
197
     * Replaces ETRF89 (code 7915). Replaced by ETRF91 (code 7919).
198
     */
199
    public const EPSG_ETRF90 = 'urn:ogc:def:crs:EPSG::7917';
200
201
    /**
202
     * ETRF91
203
     * Extent: Europe - onshore and offshore: Albania; Andorra; Austria; Belgium; Bosnia and Herzegovina; Bulgaria;
204
     * Croatia; Cyprus; Czechia; Denmark; Estonia; Faroe Islands; Finland; France; Germany; Gibraltar; Greece; Hungary;
205
     * Ireland; Italy; Kosovo; Latvia; Liechtenstein; Lithuania; Luxembourg; Malta; Moldova; Monaco; Montenegro;
206
     * Netherlands; North Macedonia; Norway including Svalbard and Jan Mayen; Poland; Portugal; Romania; San Marino;
207
     * Serbia; Slovakia; Slovenia; Spain; Sweden; Switzerland; United Kingdom (UK) including Channel Islands and Isle
208
     * of Man; Vatican City State.
209
     * Replaces ETRF90 (code 7917). Replaced by ETRF92 (code 7921).
210
     */
211
    public const EPSG_ETRF91 = 'urn:ogc:def:crs:EPSG::7919';
212
213
    /**
214
     * ETRF92
215
     * Extent: Europe - onshore and offshore: Albania; Andorra; Austria; Belgium; Bosnia and Herzegovina; Bulgaria;
216
     * Croatia; Cyprus; Czechia; Denmark; Estonia; Faroe Islands; Finland; France; Germany; Gibraltar; Greece; Hungary;
217
     * Ireland; Italy; Kosovo; Latvia; Liechtenstein; Lithuania; Luxembourg; Malta; Moldova; Monaco; Montenegro;
218
     * Netherlands; North Macedonia; Norway including Svalbard and Jan Mayen; Poland; Portugal; Romania; San Marino;
219
     * Serbia; Slovakia; Slovenia; Spain; Sweden; Switzerland; United Kingdom (UK) including Channel Islands and Isle
220
     * of Man; Vatican City State.
221
     * Replaces ETRF91 (code 7919). Replaced by ETRF93 (code 7923).
222
     */
223
    public const EPSG_ETRF92 = 'urn:ogc:def:crs:EPSG::7921';
224
225
    /**
226
     * ETRF93
227
     * Extent: Europe - onshore and offshore: Albania; Andorra; Austria; Belgium; Bosnia and Herzegovina; Bulgaria;
228
     * Croatia; Cyprus; Czechia; Denmark; Estonia; Faroe Islands; Finland; France; Germany; Gibraltar; Greece; Hungary;
229
     * Ireland; Italy; Kosovo; Latvia; Liechtenstein; Lithuania; Luxembourg; Malta; Moldova; Monaco; Montenegro;
230
     * Netherlands; North Macedonia; Norway including Svalbard and Jan Mayen; Poland; Portugal; Romania; San Marino;
231
     * Serbia; Slovakia; Slovenia; Spain; Sweden; Switzerland; United Kingdom (UK) including Channel Islands and Isle
232
     * of Man; Vatican City State.
233
     * Replaces ETRF92 (code 7921). Replaced by ETRF94 (code 7925).
234
     */
235
    public const EPSG_ETRF93 = 'urn:ogc:def:crs:EPSG::7923';
236
237
    /**
238
     * ETRF94
239
     * Extent: Europe - onshore and offshore: Albania; Andorra; Austria; Belgium; Bosnia and Herzegovina; Bulgaria;
240
     * Croatia; Cyprus; Czechia; Denmark; Estonia; Faroe Islands; Finland; France; Germany; Gibraltar; Greece; Hungary;
241
     * Ireland; Italy; Kosovo; Latvia; Liechtenstein; Lithuania; Luxembourg; Malta; Moldova; Monaco; Montenegro;
242
     * Netherlands; North Macedonia; Norway including Svalbard and Jan Mayen; Poland; Portugal; Romania; San Marino;
243
     * Serbia; Slovakia; Slovenia; Spain; Sweden; Switzerland; United Kingdom (UK) including Channel Islands and Isle
244
     * of Man; Vatican City State.
245
     * Replaces ETRF93 (code 7923). Replaced by ETRF96 (code 7927).
246
     */
247
    public const EPSG_ETRF94 = 'urn:ogc:def:crs:EPSG::7925';
248
249
    /**
250
     * ETRF96
251
     * Extent: Europe - onshore and offshore: Albania; Andorra; Austria; Belgium; Bosnia and Herzegovina; Bulgaria;
252
     * Croatia; Cyprus; Czechia; Denmark; Estonia; Faroe Islands; Finland; France; Germany; Gibraltar; Greece; Hungary;
253
     * Ireland; Italy; Kosovo; Latvia; Liechtenstein; Lithuania; Luxembourg; Malta; Moldova; Monaco; Montenegro;
254
     * Netherlands; North Macedonia; Norway including Svalbard and Jan Mayen; Poland; Portugal; Romania; San Marino;
255
     * Serbia; Slovakia; Slovenia; Spain; Sweden; Switzerland; United Kingdom (UK) including Channel Islands and Isle
256
     * of Man; Vatican City State.
257
     * Replaces ETRF94 (code 7925). Replaced by ETRF97 (code 7929).
258
     */
259
    public const EPSG_ETRF96 = 'urn:ogc:def:crs:EPSG::7927';
260
261
    /**
262
     * ETRF97
263
     * Extent: Europe - onshore and offshore: Albania; Andorra; Austria; Belgium; Bosnia and Herzegovina; Bulgaria;
264
     * Croatia; Cyprus; Czechia; Denmark; Estonia; Faroe Islands; Finland; France; Germany; Gibraltar; Greece; Hungary;
265
     * Ireland; Italy; Kosovo; Latvia; Liechtenstein; Lithuania; Luxembourg; Malta; Moldova; Monaco; Montenegro;
266
     * Netherlands; North Macedonia; Norway including Svalbard and Jan Mayen; Poland; Portugal; Romania; San Marino;
267
     * Serbia; Slovakia; Slovenia; Spain; Sweden; Switzerland; United Kingdom (UK) including Channel Islands and Isle
268
     * of Man; Vatican City State.
269
     * Replaces ETRF96 (code 7927). Replaced by ETRF2000 (code 7931).
270
     */
271
    public const EPSG_ETRF97 = 'urn:ogc:def:crs:EPSG::7929';
272
273
    /**
274
     * ETRS89
275
     * Extent: Europe - onshore and offshore: Albania; Andorra; Austria; Belgium; Bosnia and Herzegovina; Bulgaria;
276
     * Croatia; Cyprus; Czechia; Denmark; Estonia; Faroe Islands; Finland; France; Germany; Gibraltar; Greece; Hungary;
277
     * Ireland; Italy; Kosovo; Latvia; Liechtenstein; Lithuania; Luxembourg; Malta; Moldova; Monaco; Montenegro;
278
     * Netherlands; North Macedonia; Norway including Svalbard and Jan Mayen; Poland; Portugal; Romania; San Marino;
279
     * Serbia; Slovakia; Slovenia; Spain; Sweden; Switzerland; United Kingdom (UK) including Channel Islands and Isle
280
     * of Man; Vatican City State.
281
     * Has been realized through ETRF89, ETRF90, ETRF91, ETRF92, ETRF93, ETRF94, ETRF96, ETRF97, ETRF2000, ETRF2005 and
282
     * ETRF2014. This 'ensemble' covers any or all of these realizations without distinction.
283
     */
284
    public const EPSG_ETRS89 = 'urn:ogc:def:crs:EPSG::4937';
285
286
    /**
287
     * ETRS89/DREF91/2016
288
     * Extent: Germany - onshore and offshore.
289
     * German national realization of ETRS89. Replaces ETRS89/DREF91 Realization 2002 from 2016-12-01.
290
     */
291
    public const EPSG_ETRS89_DREF91_2016 = 'urn:ogc:def:crs:EPSG::10283';
292
293
    /**
294
     * FEH2010
295
     * Extent: Fehmarnbelt area of Denmark and Germany.
296
     */
297
    public const EPSG_FEH2010 = 'urn:ogc:def:crs:EPSG::5592';
298
299
    /**
300
     * GDA2020
301
     * Extent: Australia including Lord Howe Island, Macquarie Island, Ashmore and Cartier Islands, Christmas Island,
302
     * Cocos (Keeling) Islands, Norfolk Island. All onshore and offshore.
303
     */
304
    public const EPSG_GDA2020 = 'urn:ogc:def:crs:EPSG::7843';
305
306
    /**
307
     * GDA94
308
     * Extent: Australia including Lord Howe Island, Macquarie Island, Ashmore and Cartier Islands, Christmas Island,
309
     * Cocos (Keeling) Islands, Norfolk Island. All onshore and offshore.
310
     */
311
    public const EPSG_GDA94 = 'urn:ogc:def:crs:EPSG::4939';
312
313
    /**
314
     * GDBD2009
315
     * Extent: Brunei Darussalam - onshore and offshore.
316
     */
317
    public const EPSG_GDBD2009 = 'urn:ogc:def:crs:EPSG::5245';
318
319
    /**
320
     * GDM2000
321
     * Extent: Malaysia - onshore and offshore. Includes peninsular Malayasia, Sabah and Sarawak.
322
     */
323
    public const EPSG_GDM2000 = 'urn:ogc:def:crs:EPSG::4921';
324
325
    /**
326
     * GR96
327
     * Extent: Greenland - onshore and offshore.
328
     */
329
    public const EPSG_GR96 = 'urn:ogc:def:crs:EPSG::4909';
330
331
    /**
332
     * GSK-2011
333
     * Extent: Russian Federation - onshore and offshore.
334
     */
335
    public const EPSG_GSK_2011 = 'urn:ogc:def:crs:EPSG::7682';
336
337
    /**
338
     * HTRS96
339
     * Extent: Croatia - onshore and offshore.
340
     */
341
    public const EPSG_HTRS96 = 'urn:ogc:def:crs:EPSG::4889';
342
343
    /**
344
     * Hartebeesthoek94
345
     * Extent: Eswatini (Swaziland); Lesotho; South Africa - onshore and offshore.
346
     */
347
    public const EPSG_HARTEBEESTHOEK94 = 'urn:ogc:def:crs:EPSG::4941';
348
349
    /**
350
     * Hong Kong Geodetic CS
351
     * Extent: China - Hong Kong - onshore and offshore.
352
     * Locally sometimes referred to as ITRF96 or WGS 84, these are not strictly correct.
353
     */
354
    public const EPSG_HONG_KONG_GEODETIC_CS = 'urn:ogc:def:crs:EPSG::8426';
355
356
    /**
357
     * IG05 Intermediate CRS
358
     * Extent: Israel - onshore; Palestine Territory - onshore.
359
     * Intermediate system not used for spatial referencing - use IGD05 (CRS code 6979).
360
     */
361
    public const EPSG_IG05_INTERMEDIATE_CRS = 'urn:ogc:def:crs:EPSG::6982';
362
363
    /**
364
     * IG05/12 Intermediate CRS
365
     * Extent: Israel - onshore; Palestine Territory - onshore.
366
     * Intermediate system not used for spatial referencing - use IGD05/12 (CRS code 6986).
367
     */
368
    public const EPSG_IG05_12_INTERMEDIATE_CRS = 'urn:ogc:def:crs:EPSG::6989';
369
370
    /**
371
     * IGD05
372
     * Extent: Israel - onshore and offshore.
373
     * Replaced by IGD05/12 (CRS code 7138).
374
     */
375
    public const EPSG_IGD05 = 'urn:ogc:def:crs:EPSG::7135';
376
377
    /**
378
     * IGD05/12
379
     * Extent: Israel - onshore and offshore.
380
     * Replaces IGD05 (CRS code 7135).
381
     */
382
    public const EPSG_IGD05_12 = 'urn:ogc:def:crs:EPSG::7138';
383
384
    /**
385
     * IGM95
386
     * Extent: Italy - onshore and offshore; San Marino, Vatican City State.
387
     * Replaced by RDN2008 (CRS code 6705) from 2011-11-10.
388
     */
389
    public const EPSG_IGM95 = 'urn:ogc:def:crs:EPSG::4983';
390
391
    /**
392
     * IGRS
393
     * Extent: Iraq - onshore and offshore.
394
     */
395
    public const EPSG_IGRS = 'urn:ogc:def:crs:EPSG::3888';
396
397
    /**
398
     * IGS00
399
     * Extent: World.
400
     * Adopted by the International GNSS Service (IGS) from 2001-12-02 through 2004-01-10. Replaces IGS97, replaced by
401
     * IGb00 (CRS codes 9002 and 9008). For all practical purposes IGS00 is equivalent to ITRF2000.
402
     */
403
    public const EPSG_IGS00 = 'urn:ogc:def:crs:EPSG::9005';
404
405
    /**
406
     * IGS05
407
     * Extent: World.
408
     * Adopted by the International GNSS Service (IGS) from 2006-11-05 through 2011-04-16. Replaces IGb00, replaced by
409
     * IGS08 (CRS codes 9008 and 9013). For all practical purposes IGS05 is equivalent to ITRF2005.
410
     */
411
    public const EPSG_IGS05 = 'urn:ogc:def:crs:EPSG::9011';
412
413
    /**
414
     * IGS08
415
     * Extent: World.
416
     * Used for products from International GNSS Service (IGS) analysis centres from 2011-04-17 through 2012-10-06.
417
     * Replaces IGS05 (code 9011). Replaced by IGb08 (code 9016). For most practical purposes IGS08 is equivalent to
418
     * ITRF2008.
419
     */
420
    public const EPSG_IGS08 = 'urn:ogc:def:crs:EPSG::9013';
421
422
    /**
423
     * IGS14
424
     * Extent: World.
425
     * Used for products from the International GNSS Service (IGS) from 2017-01-29 to 2020-05-16. Replaces IGb08 (code
426
     * 9016), replaced by IGb14 (code 9379). For most practical purposes IGS14 is equivalent to ITRF2014.
427
     */
428
    public const EPSG_IGS14 = 'urn:ogc:def:crs:EPSG::9018';
429
430
    /**
431
     * IGS20
432
     * Extent: World.
433
     * Used for products from the International GNSS Service (IGS) from 2022-11-27. Replaces IGb14 (code 9379). For
434
     * most practical purposes IGS20 is equivalent to ITRF2020.
435
     */
436
    public const EPSG_IGS20 = 'urn:ogc:def:crs:EPSG::10177';
437
438
    /**
439
     * IGS97
440
     * Extent: World.
441
     * Adopted by the International GNSS Service (IGS) from 2000-06-04 through 2001-12-01. Replaced by IGS00 (CRS code
442
     * 9005). For all practical purposes IGS97 is equivalent to ITRF97.
443
     */
444
    public const EPSG_IGS97 = 'urn:ogc:def:crs:EPSG::9002';
445
446
    /**
447
     * IGb00
448
     * Extent: World.
449
     * Adopted by the International GNSS Service (IGS) from 2004-01-11 through 2006-11-04. Replaces IGS00, replaced by
450
     * IGS05 (CRS codes 9005 and 9011). For all practical purposes IGb00 is equivalent to ITRF2000.
451
     */
452
    public const EPSG_IGB00 = 'urn:ogc:def:crs:EPSG::9008';
453
454
    /**
455
     * IGb08
456
     * Extent: World.
457
     * Adopted by the International GNSS Service (IGS) from 2012-10-07 through 2017-01-28. Replaces IGS08, replaced by
458
     * IGS14 (CRS codes 9013 and 9018). For all practical purposes IGb08 is equivalent to ITRF2008.
459
     */
460
    public const EPSG_IGB08 = 'urn:ogc:def:crs:EPSG::9016';
461
462
    /**
463
     * IGb14
464
     * Extent: World.
465
     * Used for products from the International GNSS Service (IGS) from 2020-05-17. Replaces IGS14 (code 9018),
466
     * replaced by IGS20 (code 10177). For most practical purposes IGb14 is equivalent to ITRF2014.
467
     */
468
    public const EPSG_IGB14 = 'urn:ogc:def:crs:EPSG::9379';
469
470
    /**
471
     * IRENET95
472
     * Extent: Ireland - onshore. United Kingdom (UK) - Northern Ireland (Ulster) - onshore.
473
     */
474
    public const EPSG_IRENET95 = 'urn:ogc:def:crs:EPSG::4943';
475
476
    /**
477
     * ISN2004
478
     * Extent: Iceland - onshore and offshore.
479
     * Replaces ISN93 (CRS code 4945). Replaced by ISN2016 (CRS code 8085).
480
     */
481
    public const EPSG_ISN2004 = 'urn:ogc:def:crs:EPSG::5323';
482
483
    /**
484
     * ISN2016
485
     * Extent: Iceland - onshore and offshore.
486
     * Replaces ISN2004 (CRS code 5323) from September 2017.
487
     */
488
    public const EPSG_ISN2016 = 'urn:ogc:def:crs:EPSG::8085';
489
490
    /**
491
     * ISN93
492
     * Extent: Iceland - onshore and offshore.
493
     * Replaced by ISN2004 (CRS code 5323).
494
     */
495
    public const EPSG_ISN93 = 'urn:ogc:def:crs:EPSG::4945';
496
497
    /**
498
     * ITRF2000
499
     * Extent: World.
500
     * Replaces ITRF97 (code 7908). Replaced by ITRF2005 (code 7910).
501
     */
502
    public const EPSG_ITRF2000 = 'urn:ogc:def:crs:EPSG::7909';
503
504
    /**
505
     * ITRF2005
506
     * Extent: World.
507
     * Replaces ITRF2000 (code 7909). Replaced by ITRF2008 (code 7911).
508
     */
509
    public const EPSG_ITRF2005 = 'urn:ogc:def:crs:EPSG::7910';
510
511
    /**
512
     * ITRF2008
513
     * Extent: World.
514
     * Replaces ITRF2005 (code 7910). Replaced by ITRF2014 (code 7912).
515
     */
516
    public const EPSG_ITRF2008 = 'urn:ogc:def:crs:EPSG::7911';
517
518
    /**
519
     * ITRF2014
520
     * Extent: World.
521
     * Replaces ITRF2008 (code 7911). Replaced by ITRF2020 (CRS code 9989).
522
     */
523
    public const EPSG_ITRF2014 = 'urn:ogc:def:crs:EPSG::7912';
524
525
    /**
526
     * ITRF2020
527
     * Extent: World.
528
     * Replaces ITRF2014 (code 7912).
529
     */
530
    public const EPSG_ITRF2020 = 'urn:ogc:def:crs:EPSG::9989';
531
532
    /**
533
     * ITRF88
534
     * Extent: World.
535
     * Replaced by ITRF89 (code 7901).
536
     */
537
    public const EPSG_ITRF88 = 'urn:ogc:def:crs:EPSG::7900';
538
539
    /**
540
     * ITRF89
541
     * Extent: World.
542
     * Replaces ITRF88 (code 7900). Replaced by ITRF90 (code 7902).
543
     */
544
    public const EPSG_ITRF89 = 'urn:ogc:def:crs:EPSG::7901';
545
546
    /**
547
     * ITRF90
548
     * Extent: World.
549
     * Replaces ITRF89 (code 7901). Replaced by ITRF91 (code 7903).
550
     */
551
    public const EPSG_ITRF90 = 'urn:ogc:def:crs:EPSG::7902';
552
553
    /**
554
     * ITRF91
555
     * Extent: World.
556
     * Replaces ITRF90 (code 7902). Replaced by ITRF92 (code 7904).
557
     */
558
    public const EPSG_ITRF91 = 'urn:ogc:def:crs:EPSG::7903';
559
560
    /**
561
     * ITRF92
562
     * Extent: World.
563
     * Replaces ITRF91 (code 7903). Replaced by ITRF93 (code 7905).
564
     */
565
    public const EPSG_ITRF92 = 'urn:ogc:def:crs:EPSG::7904';
566
567
    /**
568
     * ITRF93
569
     * Extent: World.
570
     * Replaces ITRF92 (code 7904). Replaced by ITRF94 (code 7906).
571
     */
572
    public const EPSG_ITRF93 = 'urn:ogc:def:crs:EPSG::7905';
573
574
    /**
575
     * ITRF94
576
     * Extent: World.
577
     * Replaces ITRF93 (code 7905). Replaced by ITRF96 (code 7907).
578
     */
579
    public const EPSG_ITRF94 = 'urn:ogc:def:crs:EPSG::7906';
580
581
    /**
582
     * ITRF96
583
     * Extent: World.
584
     * Replaces ITRF94 (code 7906). Replaced by ITRF97 (code 7908).
585
     */
586
    public const EPSG_ITRF96 = 'urn:ogc:def:crs:EPSG::7907';
587
588
    /**
589
     * ITRF97
590
     * Extent: World.
591
     * Replaces ITRF96 (code 7907). Replaced by ITRF2000 (code 7909).
592
     */
593
    public const EPSG_ITRF97 = 'urn:ogc:def:crs:EPSG::7908';
594
595
    /**
596
     * JAD2001
597
     * Extent: Jamaica - onshore and offshore. Includes Morant Cays and Pedro Cays.
598
     */
599
    public const EPSG_JAD2001 = 'urn:ogc:def:crs:EPSG::4895';
600
601
    /**
602
     * JGD2000
603
     * Extent: Japan - onshore and offshore.
604
     * From 21st October 2011 replaced by JGD2011 (CRS code 6667).
605
     */
606
    public const EPSG_JGD2000 = 'urn:ogc:def:crs:EPSG::4947';
607
608
    /**
609
     * JGD2011
610
     * Extent: Japan - onshore and offshore.
611
     * Replaces JGD2000 (CRS code 4947) with effect from 21st October 2011.
612
     */
613
    public const EPSG_JGD2011 = 'urn:ogc:def:crs:EPSG::6667';
614
615
    /**
616
     * KOSOVAREF01
617
     * Extent: Kosovo.
618
     */
619
    public const EPSG_KOSOVAREF01 = 'urn:ogc:def:crs:EPSG::9139';
620
621
    /**
622
     * KSA-GRF17
623
     * Extent: Saudi Arabia - onshore and offshore.
624
     */
625
    public const EPSG_KSA_GRF17 = 'urn:ogc:def:crs:EPSG::9332';
626
627
    /**
628
     * Korea 2000
629
     * Extent: Republic of Korea (South Korea) - onshore and offshore.
630
     */
631
    public const EPSG_KOREA_2000 = 'urn:ogc:def:crs:EPSG::4927';
632
633
    /**
634
     * Kyrg-06
635
     * Extent: Kyrgyzstan.
636
     */
637
    public const EPSG_KYRG_06 = 'urn:ogc:def:crs:EPSG::7685';
638
639
    /**
640
     * LGD2006
641
     * Extent: Libya - onshore and offshore.
642
     */
643
    public const EPSG_LGD2006 = 'urn:ogc:def:crs:EPSG::4900';
644
645
    /**
646
     * LKS-2020
647
     * Extent: Latvia - onshore and offshore.
648
     * Replaces LKS-92 (CRS code 4949).
649
     */
650
    public const EPSG_LKS_2020 = 'urn:ogc:def:crs:EPSG::10304';
651
652
    /**
653
     * LKS-92
654
     * Extent: Latvia - onshore and offshore.
655
     * Replaced by LKS-2020 (CRS code 10304).
656
     */
657
    public const EPSG_LKS_92 = 'urn:ogc:def:crs:EPSG::4949';
658
659
    /**
660
     * LKS94
661
     * Extent: Lithuania - onshore and offshore.
662
     */
663
    public const EPSG_LKS94 = 'urn:ogc:def:crs:EPSG::4951';
664
665
    /**
666
     * LTF2004(G)
667
     * Extent: France and Italy - on or related to the rail route from Lyon to Turin.
668
     */
669
    public const EPSG_LTF2004_G = 'urn:ogc:def:crs:EPSG::9546';
670
671
    /**
672
     * LUREF
673
     * Extent: Luxembourg.
674
     * Ellipsoidal height approximates to NG95 gravity-related heights to within 5-15cm. For accurate heighting use
675
     * compound CRS LUREF / Luxembourg TM + NG95 height (code 9897).
676
     */
677
    public const EPSG_LUREF = 'urn:ogc:def:crs:EPSG::9893';
678
679
    /**
680
     * Lao 1993
681
     * Extent: Laos.
682
     * Replaced by Lao 1997. Lao 1993 coordinate values are within 1m of Lao 1997 values.
683
     */
684
    public const EPSG_LAO_1993 = 'urn:ogc:def:crs:EPSG::4991';
685
686
    /**
687
     * Lao 1997
688
     * Extent: Laos.
689
     * Replaces Lao 1993. Lao 1993 coordinate values are within 1m of Lao 1997 values.
690
     */
691
    public const EPSG_LAO_1997 = 'urn:ogc:def:crs:EPSG::4993';
692
693
    /**
694
     * MACARIO SOLIS
695
     * Extent: Panama - onshore and offshore.
696
     * Densification of SIRGAS 2000 within Panama.
697
     */
698
    public const EPSG_MACARIO_SOLIS = 'urn:ogc:def:crs:EPSG::5370';
699
700
    /**
701
     * MAGNA-SIRGAS
702
     * Extent: Colombia - onshore and offshore. Includes San Andres y Providencia, Malpelo Islands, Roncador Bank,
703
     * Serrana Bank and Serranilla Bank.
704
     * For high accuracy purposes replaced by MAGNA-SIRGAS 2018 (code 20045).
705
     */
706
    public const EPSG_MAGNA_SIRGAS = 'urn:ogc:def:crs:EPSG::4997';
707
708
    /**
709
     * MAGNA-SIRGAS 2018
710
     * Extent: Colombia - onshore and offshore. Includes San Andres y Providencia, Malpelo Islands, Roncador Bank,
711
     * Serrana Bank and Serranilla Bank.
712
     */
713
    public const EPSG_MAGNA_SIRGAS_2018 = 'urn:ogc:def:crs:EPSG::20045';
714
715
    /**
716
     * MARGEN
717
     * Extent: Bolivia.
718
     */
719
    public const EPSG_MARGEN = 'urn:ogc:def:crs:EPSG::5353';
720
721
    /**
722
     * MGI
723
     * Extent: Austria.
724
     * Created retrospectively to support geoid model based on Bessel ellipsoid.
725
     */
726
    public const EPSG_MGI = 'urn:ogc:def:crs:EPSG::9267';
727
728
    /**
729
     * MOLDREF99
730
     * Extent: Moldova.
731
     */
732
    public const EPSG_MOLDREF99 = 'urn:ogc:def:crs:EPSG::4017';
733
734
    /**
735
     * MTRF-2000
736
     * Extent: Saudi Arabia - onshore and offshore.
737
     */
738
    public const EPSG_MTRF_2000 = 'urn:ogc:def:crs:EPSG::8817';
739
740
    /**
741
     * Macao 2008
742
     * Extent: China - Macao - onshore and offshore.
743
     * Locally sometimes referred to as ITRF2005, this is not strictly correct.
744
     */
745
    public const EPSG_MACAO_2008 = 'urn:ogc:def:crs:EPSG::8430';
746
747
    /**
748
     * Mauritania 1999
749
     * Extent: Mauritania - onshore and offshore.
750
     */
751
    public const EPSG_MAURITANIA_1999 = 'urn:ogc:def:crs:EPSG::4925';
752
753
    /**
754
     * Mexico ITRF2008
755
     * Extent: Mexico - onshore and offshore.
756
     * Replaces Mexico ITRF92 (CRS code 4482) from December 2010.
757
     */
758
    public const EPSG_MEXICO_ITRF2008 = 'urn:ogc:def:crs:EPSG::6364';
759
760
    /**
761
     * Mexico ITRF92
762
     * Extent: Mexico - onshore and offshore.
763
     * Replaced by Mexico ITRF2008 (CRS code 6364) from December 2010.
764
     */
765
    public const EPSG_MEXICO_ITRF92 = 'urn:ogc:def:crs:EPSG::4482';
766
767
    /**
768
     * Moznet
769
     * Extent: Mozambique - onshore and offshore.
770
     */
771
    public const EPSG_MOZNET = 'urn:ogc:def:crs:EPSG::4953';
772
773
    /**
774
     * NAD83(2011)
775
     * Extent: Puerto Rico - onshore and offshore. United States (USA) onshore and offshore - Alabama; Alaska; Arizona;
776
     * Arkansas; California; Colorado; Connecticut; Delaware; Florida; Georgia; Idaho; Illinois; Indiana; Iowa; Kansas;
777
     * Kentucky; Louisiana; Maine; Maryland; Massachusetts; Michigan; Minnesota; Mississippi; Missouri; Montana;
778
     * Nebraska; Nevada; New Hampshire; New Jersey; New Mexico; New York; North Carolina; North Dakota; Ohio; Oklahoma;
779
     * Oregon; Pennsylvania; Rhode Island; South Carolina; South Dakota; Tennessee; Texas; Utah; Vermont; Virginia;
780
     * Washington; West Virginia; Wisconsin; Wyoming. US Virgin Islands - onshore and offshore.
781
     * Note: this CRS includes longitudes which are POSITIVE EAST. Replaces NAD83(CORS96) and NAD83(NSRS2007) (CRS
782
     * codes 6782 and 4893).
783
     */
784
    public const EPSG_NAD83_2011 = 'urn:ogc:def:crs:EPSG::6319';
785
786
    /**
787
     * NAD83(CORS96)
788
     * Extent: Puerto Rico - onshore and offshore. United States (USA) onshore and offshore - Alabama; Alaska; Arizona;
789
     * Arkansas; California; Colorado; Connecticut; Delaware; Florida; Georgia; Idaho; Illinois; Indiana; Iowa; Kansas;
790
     * Kentucky; Louisiana; Maine; Maryland; Massachusetts; Michigan; Minnesota; Mississippi; Missouri; Montana;
791
     * Nebraska; Nevada; New Hampshire; New Jersey; New Mexico; New York; North Carolina; North Dakota; Ohio; Oklahoma;
792
     * Oregon; Pennsylvania; Rhode Island; South Carolina; South Dakota; Tennessee; Texas; Utah; Vermont; Virginia;
793
     * Washington; West Virginia; Wisconsin; Wyoming. US Virgin Islands - onshore and offshore.
794
     * Note: this CRS includes POSITIVE EAST longitudes. Replaced by NAD83(2011) (CRS code 6319) from 2011-09-06.
795
     */
796
    public const EPSG_NAD83_CORS96 = 'urn:ogc:def:crs:EPSG::6782';
797
798
    /**
799
     * NAD83(CSRS)
800
     * Extent: Canada - onshore and offshore - Alberta; British Columbia; Manitoba; New Brunswick; Newfoundland and
801
     * Labrador; Northwest Territories; Nova Scotia; Nunavut; Ontario; Prince Edward Island; Quebec; Saskatchewan;
802
     * Yukon.
803
     * Includes all versions of NAD83(CSRS) from v2 [CSRS98] onwards without specific identification. As such it has an
804
     * accuracy of approximately 1m. Note: this CRS includes longitudes which are POSITIVE EAST.
805
     */
806
    public const EPSG_NAD83_CSRS = 'urn:ogc:def:crs:EPSG::4955';
807
808
    /**
809
     * NAD83(CSRS)v2
810
     * Extent: Canada - onshore and offshore - Alberta; British Columbia; Manitoba; New Brunswick; Newfoundland and
811
     * Labrador; Northwest Territories; Nova Scotia; Nunavut; Ontario; Prince Edward Island; Quebec; Saskatchewan;
812
     * Yukon.
813
     * Adopted by the Canadian federal government from 1998-01-01 and by the provincial governments of British
814
     * Columbia, New Brunswick, Prince Edward Island and Quebec. Replaces NAD83(CSRS96). Replaced by NAD83(CSRS)v3
815
     * (code 8239). Longitudes are POSITIVE EAST.
816
     */
817
    public const EPSG_NAD83_CSRS_V2 = 'urn:ogc:def:crs:EPSG::8235';
818
819
    /**
820
     * NAD83(CSRS)v3
821
     * Extent: Canada - onshore and offshore - Alberta; British Columbia; Manitoba; New Brunswick; Newfoundland and
822
     * Labrador; Northwest Territories; Nova Scotia; Nunavut; Ontario; Prince Edward Island; Quebec; Saskatchewan;
823
     * Yukon.
824
     * Adopted by the Canadian federal government from 1999-01-01 and by the provincial governments of Alberta, British
825
     * Columbia, Manitoba, Newfoundland and Labrador, Nova Scotia, Ontario and Saskatchewan. Replaces NAD83(CSRS)v2.
826
     * Replaced by NAD83(CSRS)v4.
827
     */
828
    public const EPSG_NAD83_CSRS_V3 = 'urn:ogc:def:crs:EPSG::8239';
829
830
    /**
831
     * NAD83(CSRS)v4
832
     * Extent: Canada - onshore and offshore - Alberta; British Columbia; Manitoba; New Brunswick; Newfoundland and
833
     * Labrador; Northwest Territories; Nova Scotia; Nunavut; Ontario; Prince Edward Island; Quebec; Saskatchewan;
834
     * Yukon.
835
     * Adopted by the Canadian federal government from 2002-01-01 and by the provincial governments of Alberta and
836
     * British Columbia. Replaces NAD83(CSRS)v3. Replaced by NAD83(CSRS)v5 (CRS code 8248). Longitudes are POSITIVE
837
     * EAST.
838
     */
839
    public const EPSG_NAD83_CSRS_V4 = 'urn:ogc:def:crs:EPSG::8244';
840
841
    /**
842
     * NAD83(CSRS)v5
843
     * Extent: Canada - onshore and offshore - Alberta; British Columbia; Manitoba; New Brunswick; Newfoundland and
844
     * Labrador; Northwest Territories; Nova Scotia; Nunavut; Ontario; Prince Edward Island; Quebec; Saskatchewan;
845
     * Yukon.
846
     * Adopted by the Canadian federal government from 2006-01-01. Replaces NAD83(CSRS)v4. Replaced by NAD83(CSRS)v6.
847
     * Longitudes are POSITIVE EAST.
848
     */
849
    public const EPSG_NAD83_CSRS_V5 = 'urn:ogc:def:crs:EPSG::8248';
850
851
    /**
852
     * NAD83(CSRS)v6
853
     * Extent: Canada - onshore and offshore - Alberta; British Columbia; Manitoba; New Brunswick; Newfoundland and
854
     * Labrador; Northwest Territories; Nova Scotia; Nunavut; Ontario; Prince Edward Island; Quebec; Saskatchewan;
855
     * Yukon.
856
     * Adopted by the Canadian federal government from 2010-01-01 and the provincial governments of Alberta, British
857
     * Columbia, Manitoba, Newfoundland and Labrador, Nova Scotia, Ontario and Prince Edward Island. Replaces
858
     * NAD83(CSRS)v5. Replaced by NAD83(CSRS)v7.
859
     */
860
    public const EPSG_NAD83_CSRS_V6 = 'urn:ogc:def:crs:EPSG::8251';
861
862
    /**
863
     * NAD83(CSRS)v7
864
     * Extent: Canada - onshore and offshore - Alberta; British Columbia; Manitoba; New Brunswick; Newfoundland and
865
     * Labrador; Northwest Territories; Nova Scotia; Nunavut; Ontario; Prince Edward Island; Quebec; Saskatchewan;
866
     * Yukon.
867
     * Adopted by the Canadian federal government from 2017-05-01 and the provincial government of Alberta. Replaces
868
     * NAD83(CSRS)v6. Longitudes are POSITIVE EAST.
869
     */
870
    public const EPSG_NAD83_CSRS_V7 = 'urn:ogc:def:crs:EPSG::8254';
871
872
    /**
873
     * NAD83(CSRS96)
874
     * Extent: Canada - onshore and offshore - Alberta; British Columbia; Manitoba; New Brunswick; Newfoundland and
875
     * Labrador; Northwest Territories; Nova Scotia; Nunavut; Ontario; Prince Edward Island; Quebec; Saskatchewan;
876
     * Yukon.
877
     * Adopted by the Canadian federal government from 1996-01-01. Replaced by NAD83(CSRS)v2 (CRS code 8235). Note:
878
     * this CRS includes longitudes which are POSITIVE EAST.
879
     */
880
    public const EPSG_NAD83_CSRS96 = 'urn:ogc:def:crs:EPSG::8231';
881
882
    /**
883
     * NAD83(FBN)
884
     * Extent: American Samoa - Tutuila, Aunu'u, Ofu, Olesega, Ta'u and Rose islands - onshore. Guam - onshore.
885
     * Northern Mariana Islands - onshore. Puerto Rico - onshore. United States (USA) - CONUS - Alabama; Arizona;
886
     * Arkansas; California; Colorado; Connecticut; Delaware; Florida; Georgia; Idaho; Illinois; Indiana; Iowa; Kansas;
887
     * Kentucky; Louisiana; Maine; Maryland; Massachusetts; Michigan; Minnesota; Mississippi; Missouri; Montana;
888
     * Nebraska; Nevada; New Hampshire; New Jersey; New Mexico; New York; North Carolina; North Dakota; Ohio; Oklahoma;
889
     * Oregon; Pennsylvania; Rhode Island; South Carolina; South Dakota; Tennessee; Texas; Utah; Vermont; Virginia;
890
     * Washington; West Virginia; Wisconsin; Wyoming - onshore plus Gulf of Mexico offshore continental shelf (GoM
891
     * OCS). US Virgin Islands - onshore.
892
     * Continental US, American Samoa, Guam/NMI and PRVI, replaces NAD83(HARN). In Continental US, Puerto Rico and US
893
     * Virgin Islands replaced by NAD83(NSRS2007). In American Samoa and Hawaii replaced by NAD83(PA11). In Guam/NMI
894
     * replaced by NAD83(MA11).
895
     */
896
    public const EPSG_NAD83_FBN = 'urn:ogc:def:crs:EPSG::8542';
897
898
    /**
899
     * NAD83(HARN Corrected)
900
     * Extent: Puerto Rico and US Virgin Islands - onshore.
901
     * Note: this CRS includes POSITIVE EAST longitudes. In PRVI replaces NAD83(HARN) = NAD83(1993 PRVI) to correct
902
     * errors. Replaced by NAD83(FBN) = NAD83(2002 PRVI).
903
     */
904
    public const EPSG_NAD83_HARN_CORRECTED = 'urn:ogc:def:crs:EPSG::8544';
905
906
    /**
907
     * NAD83(HARN)
908
     * Extent: American Samoa - onshore - Tutuila, Aunu'u, Ofu, Olesega, Ta'u and Rose islands. Guam - onshore.
909
     * Northern Mariana Islands - onshore. Puerto Rico - onshore. United States (USA) - onshore Alabama, Alaska,
910
     * Arizona, Arkansas, California, Colorado, Connecticut, Delaware, Florida, Georgia, Hawaii, Idaho, Illinois,
911
     * Indiana, Iowa, Kansas, Kentucky, Louisiana, Maine, Maryland, Massachusetts, Michigan, Minnesota, Mississippi,
912
     * Missouri, Montana, Nebraska, Nevada, New Hampshire, New Jersey, New Mexico, New York, North Carolina, North
913
     * Dakota, Ohio, Oklahoma, Oregon, Pennsylvania, Rhode Island, South Carolina, South Dakota, Tennessee, Texas,
914
     * Utah, Vermont, Virginia, Washington, West Virginia, Wisconsin and Wyoming; offshore Gulf of Mexico continental
915
     * shelf (GoM OCS). US Virgin Islands - onshore.
916
     * In CONUS and Hawaii replaces NAD83 for applications with an accuracy of better than 1m. Replaced by NAD83(FBN)
917
     * in CONUS, American Samoa and Guam / NMI, by NAD83(NSRS2007) in Alaska, by NAD83(PA11) in Hawaii and by
918
     * NAD83(HARN Corrected) in PRVI.
919
     */
920
    public const EPSG_NAD83_HARN = 'urn:ogc:def:crs:EPSG::4957';
921
922
    /**
923
     * NAD83(MA11)
924
     * Extent: Guam, Northern Mariana Islands and Palau; onshore and offshore.
925
     * Note: this CRS includes longitudes which are POSITIVE EAST. Replaces NAD83(HARN) (GGN93) and NAD83(FBN) in Guam.
926
     */
927
    public const EPSG_NAD83_MA11 = 'urn:ogc:def:crs:EPSG::6324';
928
929
    /**
930
     * NAD83(MARP00)
931
     * Extent: Guam, Northern Mariana Islands and Palau; onshore and offshore.
932
     * Replaces NAD83(HARN) (GGN93) and NAD83(FBN) in Guam. Replaced by NAD83(MA11).
933
     */
934
    public const EPSG_NAD83_MARP00 = 'urn:ogc:def:crs:EPSG::9071';
935
936
    /**
937
     * NAD83(NSRS2007)
938
     * Extent: Puerto Rico - onshore and offshore. United States (USA) onshore and offshore - Alabama; Alaska; Arizona;
939
     * Arkansas; California; Colorado; Connecticut; Delaware; Florida; Georgia; Idaho; Illinois; Indiana; Iowa; Kansas;
940
     * Kentucky; Louisiana; Maine; Maryland; Massachusetts; Michigan; Minnesota; Mississippi; Missouri; Montana;
941
     * Nebraska; Nevada; New Hampshire; New Jersey; New Mexico; New York; North Carolina; North Dakota; Ohio; Oklahoma;
942
     * Oregon; Pennsylvania; Rhode Island; South Carolina; South Dakota; Tennessee; Texas; Utah; Vermont; Virginia;
943
     * Washington; West Virginia; Wisconsin; Wyoming. US Virgin Islands - onshore and offshore.
944
     * Note: this CRS includes longitudes which are POSITIVE EAST. Replaces NAD83(HARN) and NAD83(FBN). Replaced by
945
     * NAD83(2011).
946
     */
947
    public const EPSG_NAD83_NSRS2007 = 'urn:ogc:def:crs:EPSG::4893';
948
949
    /**
950
     * NAD83(PA11)
951
     * Extent: American Samoa, Marshall Islands, United States (USA) - Hawaii, United States minor outlying islands;
952
     * onshore and offshore.
953
     * Note: this CRS includes longitudes which are POSITIVE EAST. Replaces NAD83(HARN) and NAD83(FBN) in Hawaii and
954
     * American Samoa.
955
     */
956
    public const EPSG_NAD83_PA11 = 'urn:ogc:def:crs:EPSG::6321';
957
958
    /**
959
     * NAD83(PACP00)
960
     * Extent: American Samoa, Marshall Islands, United States (USA) - Hawaii, United States minor outlying islands;
961
     * onshore and offshore.
962
     * Replaces NAD83(HARN) and NAD83(FBN) in Hawaii and American Samoa. Replaced by NAD83(PA11).
963
     */
964
    public const EPSG_NAD83_PACP00 = 'urn:ogc:def:crs:EPSG::9074';
965
966
    /**
967
     * NZGD2000
968
     * Extent: New Zealand - onshore and offshore. Includes Antipodes Islands, Auckland Islands, Bounty Islands,
969
     * Chatham Islands, Cambell Island, Kermadec Islands, Raoul Island and Snares Islands.
970
     */
971
    public const EPSG_NZGD2000 = 'urn:ogc:def:crs:EPSG::4959';
972
973
    /**
974
     * ONGD14
975
     * Extent: Oman - onshore and offshore.
976
     * In Oman replaces usage of WGS 84 (G873) from 2014. Replaced by ONGD17 (CRS code 9293) from March 2019.
977
     */
978
    public const EPSG_ONGD14 = 'urn:ogc:def:crs:EPSG::7372';
979
980
    /**
981
     * ONGD17
982
     * Extent: Oman - onshore and offshore.
983
     * Replaces ONGD14 (CRS code 7372) from March 2019.
984
     */
985
    public const EPSG_ONGD17 = 'urn:ogc:def:crs:EPSG::9293';
986
987
    /**
988
     * PNG94
989
     * Extent: Papua New Guinea - onshore and offshore. Includes Bismark archipelago, Louisade archipelago, Admiralty
990
     * Islands, d'Entrecasteaux Islands, northern Solomon Islands, Trobriand Islands, New Britain, New Ireland,
991
     * Woodlark, and associated islands.
992
     */
993
    public const EPSG_PNG94 = 'urn:ogc:def:crs:EPSG::5545';
994
995
    /**
996
     * POSGAR 2007
997
     * Extent: Argentina - onshore and offshore.
998
     * Adopted as official replacement of POSGAR 94 in May 2009. Also replaces de facto use of POSGAR 98 as of same
999
     * date.
1000
     */
1001
    public const EPSG_POSGAR_2007 = 'urn:ogc:def:crs:EPSG::5342';
1002
1003
    /**
1004
     * POSGAR 94
1005
     * Extent: Argentina - onshore and offshore.
1006
     * Legally adopted in May 1997. Replaced by POSGAR 98 for scientific and many practical purposes until May 2009.
1007
     * Officially replaced by POSGAR 2007 in May 2009.
1008
     */
1009
    public const EPSG_POSGAR_94 = 'urn:ogc:def:crs:EPSG::4929';
1010
1011
    /**
1012
     * POSGAR 98
1013
     * Extent: Argentina - onshore and offshore.
1014
     * Densification in Argentina of SIRGAS 1995. Until May 2009 replaced POSGAR 94 for many practical purposes (but
1015
     * not as the legal system). POSGAR 94 was officially replaced by POSGAR 2007 in May 2009.
1016
     */
1017
    public const EPSG_POSGAR_98 = 'urn:ogc:def:crs:EPSG::4961';
1018
1019
    /**
1020
     * PRS92
1021
     * Extent: Philippines - onshore and offshore.
1022
     */
1023
    public const EPSG_PRS92 = 'urn:ogc:def:crs:EPSG::4995';
1024
1025
    /**
1026
     * PTRA08
1027
     * Extent: Portugal - Azores and Madeira island groups and surrounding EEZ - Flores, Corvo; Graciosa, Terceira, Sao
1028
     * Jorge, Pico, Faial; Sao Miguel, Santa Maria; Madeira, Porto Santo, Desertas; Selvagens.
1029
     */
1030
    public const EPSG_PTRA08 = 'urn:ogc:def:crs:EPSG::5012';
1031
1032
    /**
1033
     * PZ-90
1034
     * Extent: World.
1035
     * Replaced by PZ-90.02 from 2007-09-20.
1036
     */
1037
    public const EPSG_PZ_90 = 'urn:ogc:def:crs:EPSG::4923';
1038
1039
    /**
1040
     * PZ-90.02
1041
     * Extent: World.
1042
     * Replaces PZ-90 (CRS code 4923) from 2007-09-20. Replaced by PZ-90.11 (CRS code 7680) from 2014-01-15.
1043
     */
1044
    public const EPSG_PZ_90_02 = 'urn:ogc:def:crs:EPSG::7678';
1045
1046
    /**
1047
     * PZ-90.11
1048
     * Extent: World.
1049
     * Replaces PZ-90.02 (CRS code 7678) from 2014-01-15.
1050
     */
1051
    public const EPSG_PZ_90_11 = 'urn:ogc:def:crs:EPSG::7680';
1052
1053
    /**
1054
     * Peru96
1055
     * Extent: Peru - onshore and offshore.
1056
     */
1057
    public const EPSG_PERU96 = 'urn:ogc:def:crs:EPSG::5372';
1058
1059
    /**
1060
     * RDN2008
1061
     * Extent: Italy - onshore and offshore; San Marino, Vatican City State.
1062
     * Replaces IGM95 (CRS code 4983) from 2011-11-10.
1063
     */
1064
    public const EPSG_RDN2008 = 'urn:ogc:def:crs:EPSG::6705';
1065
1066
    /**
1067
     * REDGEOMIN
1068
     * Extent: Chile - onshore and offshore. Includes Easter Island, Juan Fernandez Islands, San Felix, and Sala y
1069
     * Gomez.
1070
     */
1071
    public const EPSG_REDGEOMIN = 'urn:ogc:def:crs:EPSG::9695';
1072
1073
    /**
1074
     * REGCAN95
1075
     * Extent: Spain - Canary Islands onshore and offshore.
1076
     */
1077
    public const EPSG_REGCAN95 = 'urn:ogc:def:crs:EPSG::4080';
1078
1079
    /**
1080
     * REGVEN
1081
     * Extent: Venezuela - onshore and offshore.
1082
     * Densification in Venezuela of SIRGAS.
1083
     */
1084
    public const EPSG_REGVEN = 'urn:ogc:def:crs:EPSG::4963';
1085
1086
    /**
1087
     * RGAF09
1088
     * Extent: French Antilles onshore and offshore - Guadeloupe (including Grande Terre, Basse Terre, Marie Galante,
1089
     * Les Saintes, Iles de la Petite Terre, La Desirade); Martinique; St Barthélemy; St Martin.
1090
     * Replaces RRAF 1991 (CRS code 4557). See CRS code 7085 for alternate system with horizontal axes reversed used by
1091
     * IGN for GIS purposes.
1092
     */
1093
    public const EPSG_RGAF09 = 'urn:ogc:def:crs:EPSG::5488';
1094
1095
    /**
1096
     * RGAF09 (lon-lat)
1097
     * Extent: French Antilles onshore and offshore - Guadeloupe (including Grande Terre, Basse Terre, Marie Galante,
1098
     * Les Saintes, Iles de la Petite Terre, La Desirade); Martinique; St Barthélemy; St Martin.
1099
     * Replaces RRAF 1991 (CRS code 4557). See CRS code 5488 for system with horizontal axes in sequence lat-lon to be
1100
     * used for air, land and sea navigation and safety of life purposes.
1101
     */
1102
    public const EPSG_RGAF09_LON_LAT = 'urn:ogc:def:crs:EPSG::7085';
1103
1104
    /**
1105
     * RGF93 v1
1106
     * Extent: France - onshore and offshore, mainland and Corsica (France métropolitaine including Corsica).
1107
     * See CRS code 7042 for alternate system with horizontal axes reversed used by IGN for GIS purposes. Replaced by
1108
     * RGF93 v2 (CRS code 9776) from 2010-06-18.
1109
     */
1110
    public const EPSG_RGF93_V1 = 'urn:ogc:def:crs:EPSG::4965';
1111
1112
    /**
1113
     * RGF93 v1 (lon-lat)
1114
     * Extent: France - onshore and offshore, mainland and Corsica (France métropolitaine including Corsica).
1115
     * See CRS code 4965 for system with horizontal axes in sequence lat-lon to be used for air, land and sea
1116
     * navigation and safety of life purposes. Replaced by RGF93 v2 (lon-lat) (CRS code 9778) from 2010-06-18.
1117
     */
1118
    public const EPSG_RGF93_V1_LON_LAT = 'urn:ogc:def:crs:EPSG::7042';
1119
1120
    /**
1121
     * RGF93 v2
1122
     * Extent: France - onshore and offshore, mainland and Corsica (France métropolitaine including Corsica).
1123
     * Replaces RGF93 v1 CRS code 4965) from 2010-06-18 . Replaced by RGF93 v2b (CRS code 9781) from 2021-01-05. See
1124
     * CRS code 9778 for alternate system with horizontal axes reversed used by IGN for GIS purposes.
1125
     */
1126
    public const EPSG_RGF93_V2 = 'urn:ogc:def:crs:EPSG::9776';
1127
1128
    /**
1129
     * RGF93 v2 (lon-lat)
1130
     * Extent: France - onshore and offshore, mainland and Corsica (France métropolitaine including Corsica).
1131
     * Replaces RGF93 v1 (lon-lat) from 2010-06-18. Replaced by RGF93 v2b (lon-lat) (CRS code 9783) from 2021-01-05.
1132
     * See CRS code 9776 for system with horizontal axes in sequence lat-lon to be used for air, land and sea
1133
     * navigation and safety of life purposes.
1134
     */
1135
    public const EPSG_RGF93_V2_LON_LAT = 'urn:ogc:def:crs:EPSG::9778';
1136
1137
    /**
1138
     * RGF93 v2b
1139
     * Extent: France - onshore and offshore, mainland and Corsica (France métropolitaine including Corsica).
1140
     * Replaces RGF93 v2 (CRS code 9776) from 2021-01-05. See CRS code 9783 for alternate system with horizontal axes
1141
     * reversed used by IGN for GIS purposes.
1142
     */
1143
    public const EPSG_RGF93_V2B = 'urn:ogc:def:crs:EPSG::9781';
1144
1145
    /**
1146
     * RGF93 v2b (lon-lat)
1147
     * Extent: France - onshore and offshore, mainland and Corsica (France métropolitaine including Corsica).
1148
     * Replaces RGF93 v2 (lon-lat) (CRS code 9778) from 2021-01-05. See CRS code 9781 for system with horizontal axes
1149
     * in sequence lat-lon to be used for air, land and sea navigation and safety of life purposes.
1150
     */
1151
    public const EPSG_RGF93_V2B_LON_LAT = 'urn:ogc:def:crs:EPSG::9783';
1152
1153
    /**
1154
     * RGFG95
1155
     * Extent: French Guiana - onshore and offshore.
1156
     * See CRS code 7040 for alternate system with horizontal axes reversed used by IGN for GIS purposes.
1157
     */
1158
    public const EPSG_RGFG95 = 'urn:ogc:def:crs:EPSG::4967';
1159
1160
    /**
1161
     * RGFG95 (lon-lat)
1162
     * Extent: French Guiana - onshore and offshore.
1163
     * See CRS code 4967 for system with horizontal axes in sequence lat-lon to be used for air, land and sea
1164
     * navigation and safety of life purposes.
1165
     */
1166
    public const EPSG_RGFG95_LON_LAT = 'urn:ogc:def:crs:EPSG::7040';
1167
1168
    /**
1169
     * RGM04
1170
     * Extent: Mayotte - onshore and offshore.
1171
     * See CRS code 7038 for alternate system with horizontal axes reversed used by IGN for GIS purposes.
1172
     */
1173
    public const EPSG_RGM04 = 'urn:ogc:def:crs:EPSG::4469';
1174
1175
    /**
1176
     * RGM04 (lon-lat)
1177
     * Extent: Mayotte - onshore and offshore.
1178
     * See CRS code 4469 for system with horizontal axes in sequence lat-lon to be used for air, land and sea
1179
     * navigation and safety of life purposes.
1180
     */
1181
    public const EPSG_RGM04_LON_LAT = 'urn:ogc:def:crs:EPSG::7038';
1182
1183
    /**
1184
     * RGNC15
1185
     * Extent: New Caledonia - onshore and offshore. Isle de Pins, Loyalty Islands, Huon Islands, Belep archipelago,
1186
     * Chesterfield Islands, and Walpole.
1187
     * Replaces RGNC91-93 (CRS code 4907). See CRS code 10311 for alternate system with horizontal axes reversed used
1188
     * by DITTT for GIS purposes.
1189
     */
1190
    public const EPSG_RGNC15 = 'urn:ogc:def:crs:EPSG::10309';
1191
1192
    /**
1193
     * RGNC15 (lon-lat)
1194
     * Extent: New Caledonia - onshore and offshore. Isle de Pins, Loyalty Islands, Huon Islands, Belep archipelago,
1195
     * Chesterfield Islands, and Walpole.
1196
     * Replaces RGNC91-93 (lon-lat) (CRS code 10300). See CRS code 10309 for system with horizontal axes in sequence
1197
     * lat-lon to be used for air, land and sea navigation and safety of life purposes.
1198
     */
1199
    public const EPSG_RGNC15_LON_LAT = 'urn:ogc:def:crs:EPSG::10311';
1200
1201
    /**
1202
     * RGNC91-93
1203
     * Extent: New Caledonia - onshore and offshore. Isle de Pins, Loyalty Islands, Huon Islands, Belep archipelago,
1204
     * Chesterfield Islands, and Walpole.
1205
     * Replaces older systems IGN56 Lifou, IGN72 Grande Terre, ST87 Ouvea, IGN53 Mare, ST84 Ile des Pins, ST71 Belep
1206
     * and NEA74 Noumea. Replaced by RGNC15 (CRS 10309). See CRS code 10300 for alternate system with axes reversed
1207
     * used by DITTT for GIS purposes.
1208
     */
1209
    public const EPSG_RGNC91_93 = 'urn:ogc:def:crs:EPSG::4907';
1210
1211
    /**
1212
     * RGNC91-93 (lon-lat)
1213
     * Extent: New Caledonia - onshore and offshore. Isle de Pins, Loyalty Islands, Huon Islands, Belep archipelago,
1214
     * Chesterfield Islands, and Walpole.
1215
     * See CRS code 4907 for system with horizontal axes in sequence lat-lon to be used for air, land and sea
1216
     * navigation and safety of life purposes. Replaced by RGNC15 (lon-lat) (CRS code 10311).
1217
     */
1218
    public const EPSG_RGNC91_93_LON_LAT = 'urn:ogc:def:crs:EPSG::10300';
1219
1220
    /**
1221
     * RGPF
1222
     * Extent: French Polynesia - onshore and offshore. Includes Society archipelago, Tuamotu archipelago, Marquesas
1223
     * Islands, Gambier Islands and Austral Islands.
1224
     */
1225
    public const EPSG_RGPF = 'urn:ogc:def:crs:EPSG::4999';
1226
1227
    /**
1228
     * RGR92
1229
     * Extent: Reunion - onshore and offshore.
1230
     * See CRS code 7036 for alternate system with horizontal axes reversed used by IGN for GIS purposes.
1231
     */
1232
    public const EPSG_RGR92 = 'urn:ogc:def:crs:EPSG::4971';
1233
1234
    /**
1235
     * RGR92 (lon-lat)
1236
     * Extent: Reunion - onshore and offshore.
1237
     * See CRS code 4971 for system with horizontal axes in sequence lat-lon to be used for air, land and sea
1238
     * navigation and safety of life purposes.
1239
     */
1240
    public const EPSG_RGR92_LON_LAT = 'urn:ogc:def:crs:EPSG::7036';
1241
1242
    /**
1243
     * RGRDC 2005
1244
     * Extent: The Democratic Republic of the Congo (Zaire) - south of a line through Bandundu, Seke and Pweto -
1245
     * onshore and offshore.
1246
     */
1247
    public const EPSG_RGRDC_2005 = 'urn:ogc:def:crs:EPSG::4040';
1248
1249
    /**
1250
     * RGSH2020
1251
     * Extent: Algeria - onshore and offshore.
1252
     */
1253
    public const EPSG_RGSH2020 = 'urn:ogc:def:crs:EPSG::10298';
1254
1255
    /**
1256
     * RGSPM06
1257
     * Extent: St Pierre and Miquelon - onshore and offshore.
1258
     * See CRS code 7034 for alternate system with horizontal axes reversed used by IGN for GIS purposes.
1259
     */
1260
    public const EPSG_RGSPM06 = 'urn:ogc:def:crs:EPSG::4466';
1261
1262
    /**
1263
     * RGSPM06 (lon-lat)
1264
     * Extent: St Pierre and Miquelon - onshore and offshore.
1265
     * See CRS code 4466 for system with horizontal axes in sequence lat-lon to be used for air, land and sea
1266
     * navigation and safety of life purposes.
1267
     */
1268
    public const EPSG_RGSPM06_LON_LAT = 'urn:ogc:def:crs:EPSG::7034';
1269
1270
    /**
1271
     * RGTAAF07
1272
     * Extent: French Southern Territories - onshore and offshore: Amsterdam and St Paul, Crozet, Europa and Kerguelen.
1273
     * Antarctica - Adelie Land coastal area.
1274
     * See CRS code 7087 for alternate system with horizontal axes reversed used by IGN for GIS purposes.
1275
     */
1276
    public const EPSG_RGTAAF07 = 'urn:ogc:def:crs:EPSG::7072';
1277
1278
    /**
1279
     * RGTAAF07 (lon-lat)
1280
     * Extent: French Southern Territories - onshore and offshore: Amsterdam and St Paul, Crozet, Europa and Kerguelen.
1281
     * Antarctica - Adelie Land coastal area.
1282
     * See CRS code 7072 for alternate system with horizontal axes in sequence lat-lon to be used for air, land and sea
1283
     * navigation purposes.
1284
     */
1285
    public const EPSG_RGTAAF07_LON_LAT = 'urn:ogc:def:crs:EPSG::7087';
1286
1287
    /**
1288
     * RGWF96
1289
     * Extent: Wallis and Futuna - onshore and offshore - Uvea, Futuna, and Alofi.
1290
     * See CRS code 8901 for alternate system with horizontal axes reversed used by IGN for GIS purposes.
1291
     */
1292
    public const EPSG_RGWF96 = 'urn:ogc:def:crs:EPSG::8899';
1293
1294
    /**
1295
     * RGWF96 (lon-lat)
1296
     * Extent: Wallis and Futuna - onshore and offshore - Uvea, Futuna, and Alofi.
1297
     * See CRS code 8899 for system with horizontal axes in sequence lat-lon to be used for air, land and sea
1298
     * navigation and safety of life purposes.
1299
     */
1300
    public const EPSG_RGWF96_LON_LAT = 'urn:ogc:def:crs:EPSG::8901';
1301
1302
    /**
1303
     * RRAF 1991
1304
     * Extent: French Antilles onshore and offshore - Guadeloupe (including Grande Terre, Basse Terre, Marie Galante,
1305
     * Les Saintes, Iles de la Petite Terre, La Desirade); Martinique; St Barthélemy; St Martin.
1306
     * Replaces older local 2D systems Fort Marigot and Sainte Anne CRS (codes 4621-22) in Guadeloupe and Fort Desaix
1307
     * (CRS code 4625) in Martinique. Replaced by RGAF09 (CRS code 5488).
1308
     */
1309
    public const EPSG_RRAF_1991 = 'urn:ogc:def:crs:EPSG::4557';
1310
1311
    /**
1312
     * RSAO13
1313
     * Extent: Angola - onshore and offshore.
1314
     */
1315
    public const EPSG_RSAO13 = 'urn:ogc:def:crs:EPSG::8698';
1316
1317
    /**
1318
     * RSRGD2000
1319
     * Extent: Antarctica - Ross Sea Region - nominally between 160°E and 150°W but includes buffer on eastern
1320
     * hemisphere margin to include Transantarctic Mountains.
1321
     */
1322
    public const EPSG_RSRGD2000 = 'urn:ogc:def:crs:EPSG::4885';
1323
1324
    /**
1325
     * SHGD2015
1326
     * Extent: St Helena, Ascension and Tristan da Cunha - St Helena Island - onshore.
1327
     * Closely aligned to SHGD2015 (CRS code xxxx) with difference attributable to different reference epoch and 10 cm
1328
     * difference in ellipsoid height.
1329
     */
1330
    public const EPSG_SHGD2015 = 'urn:ogc:def:crs:EPSG::7885';
1331
1332
    /**
1333
     * SIRGAS 1995
1334
     * Extent: South America - onshore and offshore. Ecuador (mainland and Galapagos) - onshore and offshore.
1335
     * Replaced by SIRGAS 2000 (CRS code 4989).
1336
     */
1337
    public const EPSG_SIRGAS_1995 = 'urn:ogc:def:crs:EPSG::4975';
1338
1339
    /**
1340
     * SIRGAS 2000
1341
     * Extent: Latin America - Central America and South America - onshore and offshore. Brazil - onshore and offshore.
1342
     * Replaces SIRGAS 1995 system (CRS code 4975) for South America; expands SIRGAS to Central America.
1343
     */
1344
    public const EPSG_SIRGAS_2000 = 'urn:ogc:def:crs:EPSG::4989';
1345
1346
    /**
1347
     * SIRGAS-CON DGF00P01
1348
     * Extent: Latin America - Central America and South America, onshore and offshore.
1349
     * Replaced by SIRGAS-CON DGF01P01 (CRS code 8918).
1350
     */
1351
    public const EPSG_SIRGAS_CON_DGF00P01 = 'urn:ogc:def:crs:EPSG::8916';
1352
1353
    /**
1354
     * SIRGAS-CON DGF01P01
1355
     * Extent: Latin America - Central America and South America, onshore and offshore.
1356
     * Replaces SIRGAS-CON DGF00P01 (CRS code 8916). Replaced by SIRGAS-CON DGF01P02 (CRS code 8920).
1357
     */
1358
    public const EPSG_SIRGAS_CON_DGF01P01 = 'urn:ogc:def:crs:EPSG::8918';
1359
1360
    /**
1361
     * SIRGAS-CON DGF01P02
1362
     * Extent: Latin America - Central America and South America, onshore and offshore.
1363
     * Replaces SIRGAS-CON DGF01P01 (CRS code 8918). Replaced by SIRGAS-CON DGF02P01 (CRS code 8922).
1364
     */
1365
    public const EPSG_SIRGAS_CON_DGF01P02 = 'urn:ogc:def:crs:EPSG::8920';
1366
1367
    /**
1368
     * SIRGAS-CON DGF02P01
1369
     * Extent: Latin America - Central America and South America, onshore and offshore.
1370
     * Replaces SIRGAS-CON DGF01P02 (CRS code 8920). Replaced by SIRGAS-CON DGF04P01 (CRS code 8924).
1371
     */
1372
    public const EPSG_SIRGAS_CON_DGF02P01 = 'urn:ogc:def:crs:EPSG::8922';
1373
1374
    /**
1375
     * SIRGAS-CON DGF04P01
1376
     * Extent: Latin America - Central America and South America, onshore and offshore.
1377
     * Replaces SIRGAS-CON DGF02P01 (CRS code 8922). Replaced by SIRGAS-CON DGF05P01 (CRS code 8926).
1378
     */
1379
    public const EPSG_SIRGAS_CON_DGF04P01 = 'urn:ogc:def:crs:EPSG::8924';
1380
1381
    /**
1382
     * SIRGAS-CON DGF05P01
1383
     * Extent: Latin America - Central America and South America, onshore and offshore.
1384
     * Replaces SIRGAS-CON DGF04P01 (CRS code 8924). Replaced by SIRGAS-CON DGF06P01 (CRS code 8928).
1385
     */
1386
    public const EPSG_SIRGAS_CON_DGF05P01 = 'urn:ogc:def:crs:EPSG::8926';
1387
1388
    /**
1389
     * SIRGAS-CON DGF06P01
1390
     * Extent: Latin America - Central America and South America, onshore and offshore.
1391
     * Replaces SIRGAS-CON DGF05P01 (CRS code 8926). Replaced by SIRGAS-CON DGF07P01 (CRS code 8930).
1392
     */
1393
    public const EPSG_SIRGAS_CON_DGF06P01 = 'urn:ogc:def:crs:EPSG::8928';
1394
1395
    /**
1396
     * SIRGAS-CON DGF07P01
1397
     * Extent: Latin America - Central America and South America, onshore and offshore.
1398
     * Replaces SIRGAS-CON DGF06P01 (CRS code 8928). Replaced by SIRGAS-CON DGF08P01 (CRS code 8932).
1399
     */
1400
    public const EPSG_SIRGAS_CON_DGF07P01 = 'urn:ogc:def:crs:EPSG::8930';
1401
1402
    /**
1403
     * SIRGAS-CON DGF08P01
1404
     * Extent: Latin America - Central America and South America, onshore and offshore.
1405
     * Replaces SIRGAS-CON DGF07P01 (CRS code 8930). Replaced by SIRGAS-CON SIR09P01 (CRS code 8934).
1406
     */
1407
    public const EPSG_SIRGAS_CON_DGF08P01 = 'urn:ogc:def:crs:EPSG::8932';
1408
1409
    /**
1410
     * SIRGAS-CON SIR09P01
1411
     * Extent: Latin America - Central America and South America, onshore and offshore.
1412
     * Replaces SIRGAS-CON DGF08P01 (CRS code 8932). Replaced by SIRGAS-CON SIR10P01 (CRS code 8936).
1413
     */
1414
    public const EPSG_SIRGAS_CON_SIR09P01 = 'urn:ogc:def:crs:EPSG::8934';
1415
1416
    /**
1417
     * SIRGAS-CON SIR10P01
1418
     * Extent: Latin America - Central America and South America, onshore and offshore.
1419
     * Replaces SIRGAS-CON SIR09P01 (CRS code 8934). Replaced by SIRGAS-CON SIR11P01 (CRS code 8938).
1420
     */
1421
    public const EPSG_SIRGAS_CON_SIR10P01 = 'urn:ogc:def:crs:EPSG::8936';
1422
1423
    /**
1424
     * SIRGAS-CON SIR11P01
1425
     * Extent: Latin America - Central America and South America, onshore and offshore.
1426
     * Replaces SIRGAS-CON SIR10P01 (CRS code 8936). Replaced by SIRGAS-CON SIR13P01 (CRS code 8940).
1427
     */
1428
    public const EPSG_SIRGAS_CON_SIR11P01 = 'urn:ogc:def:crs:EPSG::8938';
1429
1430
    /**
1431
     * SIRGAS-CON SIR13P01
1432
     * Extent: Latin America - Central America and South America, onshore and offshore.
1433
     * Replaces SIRGAS-CON SIR11P01 (CRS code 8938). Replaced by SIRGAS-CON SIR14P01 (CRS code 8942).
1434
     */
1435
    public const EPSG_SIRGAS_CON_SIR13P01 = 'urn:ogc:def:crs:EPSG::8940';
1436
1437
    /**
1438
     * SIRGAS-CON SIR14P01
1439
     * Extent: Latin America - Central America and South America, onshore and offshore.
1440
     * Replaces SIRGAS-CON SIR13P01 (CRS code 8940). Replaced by SIRGAS-CON SIR15P01 (CRS code 8944).
1441
     */
1442
    public const EPSG_SIRGAS_CON_SIR14P01 = 'urn:ogc:def:crs:EPSG::8942';
1443
1444
    /**
1445
     * SIRGAS-CON SIR15P01
1446
     * Extent: Latin America - Central America and South America, onshore and offshore.
1447
     * Replaces SIRGAS-CON SIR14P01 (CRS code 8942). Replaced by SIRGAS-CON SIR17P01 (CRS code 8946).
1448
     */
1449
    public const EPSG_SIRGAS_CON_SIR15P01 = 'urn:ogc:def:crs:EPSG::8944';
1450
1451
    /**
1452
     * SIRGAS-CON SIR17P01
1453
     * Extent: Latin America - Central America and South America, onshore and offshore.
1454
     * Replaces SIRGAS-CON SIR15P01 (CRS code 8944).
1455
     */
1456
    public const EPSG_SIRGAS_CON_SIR17P01 = 'urn:ogc:def:crs:EPSG::8946';
1457
1458
    /**
1459
     * SIRGAS-Chile 2002
1460
     * Extent: Chile - onshore and offshore. Includes Easter Island, Juan Fernandez Islands, San Felix, and Sala y
1461
     * Gomez.
1462
     * Densification of SIRGAS 2000 within Chile. Replaced by SIRGAS-Chile 2010 (CRS code 8948).
1463
     */
1464
    public const EPSG_SIRGAS_CHILE_2002 = 'urn:ogc:def:crs:EPSG::5359';
1465
1466
    /**
1467
     * SIRGAS-Chile 2010
1468
     * Extent: Chile - onshore and offshore. Includes Easter Island, Juan Fernandez Islands, San Felix, and Sala y
1469
     * Gomez.
1470
     * Densification of SIRGAS-CON within Chile at epoch 2010.00. Replaces SIRGAS-Chile 2002 (CRS code 5359), replaced
1471
     * by SIRGAS-Chile 2013 (CRS code 9147) due to significant tectonic deformation.
1472
     */
1473
    public const EPSG_SIRGAS_CHILE_2010 = 'urn:ogc:def:crs:EPSG::8948';
1474
1475
    /**
1476
     * SIRGAS-Chile 2013
1477
     * Extent: Chile - onshore and offshore. Includes Easter Island, Juan Fernandez Islands, San Felix, and Sala y
1478
     * Gomez.
1479
     * Densification of SIRGAS-CON within Chile at epoch 2013.00. Replaces SIRGAS-Chile 2010 (CRS code 8948), replaced
1480
     * by SIRGAS-Chile 2016 (CRS code 9152) due to significant tectonic deformation.
1481
     */
1482
    public const EPSG_SIRGAS_CHILE_2013 = 'urn:ogc:def:crs:EPSG::9147';
1483
1484
    /**
1485
     * SIRGAS-Chile 2016
1486
     * Extent: Chile - onshore and offshore. Includes Easter Island, Juan Fernandez Islands, San Felix, and Sala y
1487
     * Gomez.
1488
     * Densification of SIRGAS-CON within Chile at epoch 2016.00. Replaces SIRGAS-Chile 2013 (CRS code 9147), replaced
1489
     * by SIRGAS-Chile 2021 (CRS code 20040) due to significant tectonic deformation.
1490
     */
1491
    public const EPSG_SIRGAS_CHILE_2016 = 'urn:ogc:def:crs:EPSG::9152';
1492
1493
    /**
1494
     * SIRGAS-Chile 2021
1495
     * Extent: Chile - onshore and offshore. Includes Easter Island, Juan Fernandez Islands, San Felix, and Sala y
1496
     * Gomez.
1497
     * Densification of SIRGAS-CON within Chile at epoch 2021.00. Replaces SIRGAS-Chile 2016 (CRS code 9152) due to
1498
     * significant tectonic deformation.
1499
     */
1500
    public const EPSG_SIRGAS_CHILE_2021 = 'urn:ogc:def:crs:EPSG::20040';
1501
1502
    /**
1503
     * SIRGAS-ROU98
1504
     * Extent: Uruguay - onshore and offshore.
1505
     * Densification of SIRGAS 1995 in Uruguay.
1506
     */
1507
    public const EPSG_SIRGAS_ROU98 = 'urn:ogc:def:crs:EPSG::5380';
1508
1509
    /**
1510
     * SIRGAS_ES2007.8
1511
     * Extent: El Salvador - onshore and offshore.
1512
     * Densification of SIRGAS 2000 within El Salvador.
1513
     */
1514
    public const EPSG_SIRGAS_ES2007_8 = 'urn:ogc:def:crs:EPSG::5392';
1515
1516
    /**
1517
     * SRB_ETRS89
1518
     * Extent: Serbia including Vojvodina.
1519
     * Replaces SREF98 (CRS code 4074).
1520
     */
1521
    public const EPSG_SRB_ETRS89 = 'urn:ogc:def:crs:EPSG::8684';
1522
1523
    /**
1524
     * SREF98
1525
     * Extent: Serbia including Vojvodina.
1526
     * Replaced by SRB_ETRS89 (STRS00) (CRS code 8684).
1527
     */
1528
    public const EPSG_SREF98 = 'urn:ogc:def:crs:EPSG::4074';
1529
1530
    /**
1531
     * SRGI2013
1532
     * Extent: Indonesia - onshore and offshore.
1533
     * Supports horizontal component of national horizontal control network (JKHN). Adopted 2013-10-11. Replaces DGN95
1534
     * and all older systems.
1535
     */
1536
    public const EPSG_SRGI2013 = 'urn:ogc:def:crs:EPSG::9469';
1537
1538
    /**
1539
     * SWEREF99
1540
     * Extent: Sweden - onshore and offshore.
1541
     */
1542
    public const EPSG_SWEREF99 = 'urn:ogc:def:crs:EPSG::4977';
1543
1544
    /**
1545
     * Slovenia 1996
1546
     * Extent: Slovenia - onshore and offshore.
1547
     */
1548
    public const EPSG_SLOVENIA_1996 = 'urn:ogc:def:crs:EPSG::4883';
1549
1550
    /**
1551
     * St. Helena Tritan
1552
     * Extent: St Helena, Ascension and Tristan da Cunha - St Helena Island - onshore.
1553
     * Closely aligned to SHGD2015 (CRS code 7885) with difference attributable to different reference epoch and 10 cm
1554
     * difference in ellipsoid height. Replaced by SHGD2015 from 2015.
1555
     */
1556
    public const EPSG_ST_HELENA_TRITAN = 'urn:ogc:def:crs:EPSG::7880';
1557
1558
    /**
1559
     * TGD2005
1560
     * Extent: Tonga - onshore and offshore.
1561
     */
1562
    public const EPSG_TGD2005 = 'urn:ogc:def:crs:EPSG::5885';
1563
1564
    /**
1565
     * TUREF
1566
     * Extent: Türkiye (Turkey) - onshore and offshore.
1567
     */
1568
    public const EPSG_TUREF = 'urn:ogc:def:crs:EPSG::5251';
1569
1570
    /**
1571
     * TWD97
1572
     * Extent: Taiwan, Republic of China - onshore and offshore - Taiwan Island, Penghu (Pescadores) Islands.
1573
     */
1574
    public const EPSG_TWD97 = 'urn:ogc:def:crs:EPSG::3823';
1575
1576
    /**
1577
     * UCS-2000
1578
     * Extent: Ukraine - onshore and offshore.
1579
     * Adopted 1st January 2007.
1580
     */
1581
    public const EPSG_UCS_2000 = 'urn:ogc:def:crs:EPSG::5560';
1582
1583
    /**
1584
     * WGS 66
1585
     * Extent: World.
1586
     * Replaced by WGS 72.
1587
     */
1588
    public const EPSG_WGS_66 = 'urn:ogc:def:crs:EPSG::4891';
1589
1590
    /**
1591
     * WGS 72
1592
     * Extent: World.
1593
     * Replaced by WGS 84.
1594
     */
1595
    public const EPSG_WGS_72 = 'urn:ogc:def:crs:EPSG::4985';
1596
1597
    /**
1598
     * WGS 72BE
1599
     * Extent: World.
1600
     * Broadcast ephemeris. Replaced by WGS 84.
1601
     */
1602
    public const EPSG_WGS_72BE = 'urn:ogc:def:crs:EPSG::4987';
1603
1604
    /**
1605
     * WGS 84
1606
     * Extent: World.
1607
     */
1608
    public const EPSG_WGS_84 = 'urn:ogc:def:crs:EPSG::4979';
1609
1610
    /**
1611
     * WGS 84 (G1150)
1612
     * Extent: World.
1613
     * Replaces WGS 84 (G873) (CRS code 7659) from 2002-01-20. Replaced by WGS 84 (G1674) (CRS code 7663) from
1614
     * 2012-02-08.
1615
     */
1616
    public const EPSG_WGS_84_G1150 = 'urn:ogc:def:crs:EPSG::7661';
1617
1618
    /**
1619
     * WGS 84 (G1674)
1620
     * Extent: World.
1621
     * Replaces WGS 84 (G1150) (CRS code 7661) from 2012-02-08. Replaced by WGS 84 (G1762) (CRS code 7665) from
1622
     * 2013-10-16.
1623
     */
1624
    public const EPSG_WGS_84_G1674 = 'urn:ogc:def:crs:EPSG::7663';
1625
1626
    /**
1627
     * WGS 84 (G1762)
1628
     * Extent: World.
1629
     * Replaces WGS 84 (G1674) (CRS code 7663) from 2013-10-16. Redesignated WGS 84 (G1762') in 2015 after changes to 7
1630
     * NGA tracking station locations and antennas. Replaced by WGS 84 (G2139) (CRS code 9754) from 2021-01-03.
1631
     */
1632
    public const EPSG_WGS_84_G1762 = 'urn:ogc:def:crs:EPSG::7665';
1633
1634
    /**
1635
     * WGS 84 (G2139)
1636
     * Extent: World.
1637
     * Replaces WGS 84 (G1762) (CRS code 7665) from 2021-01-03.
1638
     */
1639
    public const EPSG_WGS_84_G2139 = 'urn:ogc:def:crs:EPSG::9754';
1640
1641
    /**
1642
     * WGS 84 (G730)
1643
     * Extent: World.
1644
     * Replaces WGS 84 (Transit) (CRS code 7816) from 1994-06-29. Replaced by WGS84 (G873) (CRS code 7659) from
1645
     * 1997-01-29.
1646 566
     */
1647
    public const EPSG_WGS_84_G730 = 'urn:ogc:def:crs:EPSG::7657';
1648
1649
    /**
1650
     * WGS 84 (G873)
1651
     * Extent: World.
1652
     * Replaces WGS 84 (G730) (CRS code 7657) from 1997-01-29. Replaced by WGS 84 (G1150) (CRS code 7661) from
1653
     * 2002-01-20.
1654 566
     */
1655 566
    public const EPSG_WGS_84_G873 = 'urn:ogc:def:crs:EPSG::7659';
1656 566
1657 566
    /**
1658 566
     * WGS 84 (Transit)
1659 566
     * Extent: World.
1660
     * Replaced by WGS84 (G730) (CRS code 7657) from 1994-06-29.
1661 566
     */
1662
    public const EPSG_WGS_84_TRANSIT = 'urn:ogc:def:crs:EPSG::7816';
1663
1664
    /**
1665
     * Yemen NGN96
1666
     * Extent: Yemen - onshore and offshore.
1667
     */
1668
    public const EPSG_YEMEN_NGN96 = 'urn:ogc:def:crs:EPSG::4981';
1669 1822
1670
    /**
1671 1822
     * @deprecated use EPSG_LKS_92 instead
1672 9
     */
1673
    public const EPSG_LKS92 = 'urn:ogc:def:crs:EPSG::4949';
1674
1675 1813
    protected Geocentric|Geographic3D|null $baseCRS;
1676 566
1677
    /**
1678 566
     * @var array<string, self>
1679 566
     */
1680
    private static array $cachedObjects = [];
1681 566
1682 566
    public function __construct(
1683 566
        string $srid,
1684 566
        CoordinateSystem $coordinateSystem,
1685 566
        Datum $datum,
1686 566
        BoundingArea $boundingArea,
1687 566
        string $name = '',
1688 566
        Geocentric|Geographic3D $baseCRS = null,
1689
    ) {
1690
        $this->srid = $srid;
1691 1813
        $this->coordinateSystem = $coordinateSystem;
1692
        $this->datum = $datum;
1693
        $this->boundingArea = $boundingArea;
1694 1603
        $this->name = $name;
1695
        $this->baseCRS = $baseCRS;
1696 1603
1697 9
        assert(count($coordinateSystem->getAxes()) === 3);
1698 9
    }
1699
1700
    public function getBaseCRS(): Geocentric|Geographic3D|null
1701
    {
1702 1603
        return $this->baseCRS;
1703
    }
1704
1705 63
    public static function fromSRID(string $srid): self
1706
    {
1707 63
        if (!isset(static::$sridData[$srid])) {
1708 63
            throw new UnknownCoordinateReferenceSystemException($srid);
1709 63
        }
1710
1711
        if (!isset(self::$cachedObjects[$srid])) {
1712
            $data = static::$sridData[$srid];
1713
1714
            $baseCRS = $data['base_crs'] ? CoordinateReferenceSystem::fromSRID($data['base_crs']) : null;
1715
            assert($baseCRS === null || $baseCRS instanceof Geocentric || $baseCRS instanceof self);
1716
            $extent = $data['extent'] instanceof BoundingArea ? $data['extent'] : BoundingArea::createFromExtentCodes($data['extent']);
1717
1718
            self::$cachedObjects[$srid] = new self(
1719
                $srid,
1720
                Ellipsoidal::fromSRID($data['coordinate_system']),
1721
                Datum::fromSRID($data['datum']),
1722
                $extent,
1723
                $data['name'],
1724
                $baseCRS,
1725
            );
1726
        }
1727
1728
        return self::$cachedObjects[$srid];
1729
    }
1730
1731
    /**
1732
     * @return array<string, string>
1733
     */
1734
    public static function getSupportedSRIDs(): array
1735
    {
1736
        return array_map(fn (array $data) => $data['name'], static::$sridData);
1737
    }
1738
1739
    /**
1740
     * @return array<string, array{name: string, extent_description: string, help: string}>
1741
     */
1742
    public static function getSupportedSRIDsWithHelp(): array
1743
    {
1744
        return array_map(fn (array $data) => ['name' => $data['name'], 'extent_description' => $data['extent_description'], 'help' => $data['help']], static::$sridData);
1745
    }
1746
1747
    public static function registerCustomCRS(string $srid, string $name, string $coordinateSystemSrid, string $datumSrid, BoundingArea $extent, ?string $baseCRSSrid = null, string $help = ''): void
1748
    {
1749
        self::$sridData[$srid] = ['name' => $name, 'coordinate_system' => $coordinateSystemSrid, 'datum' => $datumSrid, 'extent' => $extent, 'extent_description' => '', 'base_crs' => $baseCRSSrid, 'help' => $help];
1750
    }
1751
}
1752