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

Geocentric::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\Cartesian;
12
use PHPCoord\CoordinateSystem\CoordinateSystem;
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 Geocentric extends CoordinateReferenceSystem
22
{
23
    use GeocentricSRIDData;
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::9307';
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::4930';
36
37
    /**
38
     * BDA2000
39
     * Extent: Bermuda - onshore and offshore.
40
     */
41
    public const EPSG_BDA2000 = 'urn:ogc:def:crs:EPSG::4886';
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::7796';
49
50
    /**
51
     * BH_ETRS89
52
     * Extent: Bosnia and Herzegovina.
53
     */
54
    public const EPSG_BH_ETRS89 = 'urn:ogc:def:crs:EPSG::10326';
55
56
    /**
57
     * CGRS93
58
     * Extent: Cyprus - onshore.
59
     */
60
    public const EPSG_CGRS93 = 'urn:ogc:def:crs:EPSG::6309';
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::4932';
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::6133';
75
76
    /**
77
     * CR-SIRGAS
78
     * Extent: Costa Rica - onshore and offshore.
79
     * Replaces CR05 (CRS code 5363) from April 2018.
80
     */
81
    public const EPSG_CR_SIRGAS = 'urn:ogc:def:crs:EPSG::8905';
82
83
    /**
84
     * CR05
85
     * Extent: Costa Rica - onshore and offshore.
86
     * Replaced by CR-SIRGAS (CRS code 8905) from April 2018.
87
     */
88
    public const EPSG_CR05 = 'urn:ogc:def:crs:EPSG::5363';
89
90
    /**
91
     * Cadastre 1997
92
     * Extent: Mayotte - onshore.
93
     */
94
    public const EPSG_CADASTRE_1997 = 'urn:ogc:def:crs:EPSG::4473';
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::4479';
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. Derived from ETRS89 through transformation code
108
     * 5826.
109
     */
110
    public const EPSG_DB_REF = 'urn:ogc:def:crs:EPSG::5828';
111
112
    /**
113
     * DGN95
114
     * Extent: Indonesia - onshore and offshore.
115
     */
116
    public const EPSG_DGN95 = 'urn:ogc:def:crs:EPSG::4897';
117
118
    /**
119
     * DRUKREF 03
120
     * Extent: Bhutan.
121
     */
122
    public const EPSG_DRUKREF_03 = 'urn:ogc:def:crs:EPSG::5262';
123
124
    /**
125
     * EST97
126
     * Extent: Estonia - onshore and offshore.
127
     */
128
    public const EPSG_EST97 = 'urn:ogc:def:crs:EPSG::4934';
129
130
    /**
131
     * ETRF2000
132
     * Extent: Europe - onshore and offshore: Albania; Andorra; Austria; Belgium; Bosnia and Herzegovina; Bulgaria;
133
     * Croatia; Cyprus; Czechia; Denmark; Estonia; Faroe Islands; Finland; France; Germany; Gibraltar; Greece; Hungary;
134
     * Ireland; Italy; Kosovo; Latvia; Liechtenstein; Lithuania; Luxembourg; Malta; Moldova; Monaco; Montenegro;
135
     * Netherlands; North Macedonia; Norway including Svalbard and Jan Mayen; Poland; Portugal; Romania; San Marino;
136
     * Serbia; Slovakia; Slovenia; Spain; Sweden; Switzerland; United Kingdom (UK) including Channel Islands and Isle
137
     * of Man; Vatican City State.
138
     * Replaces ETRF97 (code 7928). On the publication of ETRF2005 (code 8397), the EUREF Technical Working Group
139
     * recommended that ETRF2000 be the realization of ETRS89. ETRF2014 (code 8401) is technically superior to all
140
     * earlier realizations of ETRS89.
141
     */
142
    public const EPSG_ETRF2000 = 'urn:ogc:def:crs:EPSG::7930';
143
144
    /**
145
     * ETRF2000-PL
146
     * Extent: Poland - onshore and offshore.
147
     * Adopted from 2012-12-01.
148
     */
149
    public const EPSG_ETRF2000_PL = 'urn:ogc:def:crs:EPSG::9700';
150
151
    /**
152
     * ETRF2005
153
     * Extent: Europe - onshore and offshore: Albania; Andorra; Austria; Belgium; Bosnia and Herzegovina; Bulgaria;
154
     * Croatia; Cyprus; Czechia; Denmark; Estonia; Faroe Islands; Finland; France; Germany; Gibraltar; Greece; Hungary;
155
     * Ireland; Italy; Kosovo; Latvia; Liechtenstein; Lithuania; Luxembourg; Malta; Moldova; Monaco; Montenegro;
156
     * Netherlands; North Macedonia; Norway including Svalbard and Jan Mayen; Poland; Portugal; Romania; San Marino;
157
     * Serbia; Slovakia; Slovenia; Spain; Sweden; Switzerland; United Kingdom (UK) including Channel Islands and Isle
158
     * of Man; Vatican City State.
159
     * On publication in 2007 of this CRS, the EUREF Technical Working Group recommended that ETRF2000 (EPSG code 7930)
160
     * remained as the preferred realization of ETRS89. Replaced by ETRF2014 (code 8401).
161
     */
162
    public const EPSG_ETRF2005 = 'urn:ogc:def:crs:EPSG::8397';
163
164
    /**
165
     * ETRF2014
166
     * Extent: Europe - onshore and offshore: Albania; Andorra; Austria; Belgium; Bosnia and Herzegovina; Bulgaria;
167
     * Croatia; Cyprus; Czechia; Denmark; Estonia; Faroe Islands; Finland; France; Germany; Gibraltar; Greece; Hungary;
168
     * Ireland; Italy; Kosovo; Latvia; Liechtenstein; Lithuania; Luxembourg; Malta; Moldova; Monaco; Montenegro;
169
     * Netherlands; North Macedonia; Norway including Svalbard and Jan Mayen; Poland; Portugal; Romania; San Marino;
170
     * Serbia; Slovakia; Slovenia; Spain; Sweden; Switzerland; United Kingdom (UK) including Channel Islands and Isle
171
     * of Man; Vatican City State.
172
     * Replaces ETRF2005 (code 8397). ETRF2014 is technically superior to ETRF2000 but ETRF2000 and other previous
173
     * realizations may be preferred for backward compatibility reasons. Differences between ETRF2014 and ETRF2000 can
174
     * reach 7cm.
175
     */
176
    public const EPSG_ETRF2014 = 'urn:ogc:def:crs:EPSG::8401';
177
178
    /**
179
     * ETRF89
180
     * Extent: Europe - onshore and offshore: Albania; Andorra; Austria; Belgium; Bosnia and Herzegovina; Bulgaria;
181
     * Croatia; Cyprus; Czechia; Denmark; Estonia; Faroe Islands; Finland; France; Germany; Gibraltar; Greece; Hungary;
182
     * Ireland; Italy; Kosovo; Latvia; Liechtenstein; Lithuania; Luxembourg; Malta; Moldova; Monaco; Montenegro;
183
     * Netherlands; North Macedonia; Norway including Svalbard and Jan Mayen; Poland; Portugal; Romania; San Marino;
184
     * Serbia; Slovakia; Slovenia; Spain; Sweden; Switzerland; United Kingdom (UK) including Channel Islands and Isle
185
     * of Man; Vatican City State.
186
     * Replaced by ETRF90 (code 7916).
187
     */
188
    public const EPSG_ETRF89 = 'urn:ogc:def:crs:EPSG::7914';
189
190
    /**
191
     * ETRF90
192
     * Extent: Europe - onshore and offshore: Albania; Andorra; Austria; Belgium; Bosnia and Herzegovina; Bulgaria;
193
     * Croatia; Cyprus; Czechia; Denmark; Estonia; Faroe Islands; Finland; France; Germany; Gibraltar; Greece; Hungary;
194
     * Ireland; Italy; Kosovo; Latvia; Liechtenstein; Lithuania; Luxembourg; Malta; Moldova; Monaco; Montenegro;
195
     * Netherlands; North Macedonia; Norway including Svalbard and Jan Mayen; Poland; Portugal; Romania; San Marino;
196
     * Serbia; Slovakia; Slovenia; Spain; Sweden; Switzerland; United Kingdom (UK) including Channel Islands and Isle
197
     * of Man; Vatican City State.
198
     * Replaces ETRF89 (code 7914). Replaced by ETRF91 (code 7918).
199
     */
200
    public const EPSG_ETRF90 = 'urn:ogc:def:crs:EPSG::7916';
201
202
    /**
203
     * ETRF91
204
     * Extent: Europe - onshore and offshore: Albania; Andorra; Austria; Belgium; Bosnia and Herzegovina; Bulgaria;
205
     * Croatia; Cyprus; Czechia; Denmark; Estonia; Faroe Islands; Finland; France; Germany; Gibraltar; Greece; Hungary;
206
     * Ireland; Italy; Kosovo; Latvia; Liechtenstein; Lithuania; Luxembourg; Malta; Moldova; Monaco; Montenegro;
207
     * Netherlands; North Macedonia; Norway including Svalbard and Jan Mayen; Poland; Portugal; Romania; San Marino;
208
     * Serbia; Slovakia; Slovenia; Spain; Sweden; Switzerland; United Kingdom (UK) including Channel Islands and Isle
209
     * of Man; Vatican City State.
210
     * Replaces ETRF90 (code 7916). Replaced by ETRF92 (code 7920).
211
     */
212
    public const EPSG_ETRF91 = 'urn:ogc:def:crs:EPSG::7918';
213
214
    /**
215
     * ETRF92
216
     * Extent: Europe - onshore and offshore: Albania; Andorra; Austria; Belgium; Bosnia and Herzegovina; Bulgaria;
217
     * Croatia; Cyprus; Czechia; Denmark; Estonia; Faroe Islands; Finland; France; Germany; Gibraltar; Greece; Hungary;
218
     * Ireland; Italy; Kosovo; Latvia; Liechtenstein; Lithuania; Luxembourg; Malta; Moldova; Monaco; Montenegro;
219
     * Netherlands; North Macedonia; Norway including Svalbard and Jan Mayen; Poland; Portugal; Romania; San Marino;
220
     * Serbia; Slovakia; Slovenia; Spain; Sweden; Switzerland; United Kingdom (UK) including Channel Islands and Isle
221
     * of Man; Vatican City State.
222
     * Replaces ETRF91 (code 7918). Replaced by ETRF93 (code 7922).
223
     */
224
    public const EPSG_ETRF92 = 'urn:ogc:def:crs:EPSG::7920';
225
226
    /**
227
     * ETRF93
228
     * Extent: Europe - onshore and offshore: Albania; Andorra; Austria; Belgium; Bosnia and Herzegovina; Bulgaria;
229
     * Croatia; Cyprus; Czechia; Denmark; Estonia; Faroe Islands; Finland; France; Germany; Gibraltar; Greece; Hungary;
230
     * Ireland; Italy; Kosovo; Latvia; Liechtenstein; Lithuania; Luxembourg; Malta; Moldova; Monaco; Montenegro;
231
     * Netherlands; North Macedonia; Norway including Svalbard and Jan Mayen; Poland; Portugal; Romania; San Marino;
232
     * Serbia; Slovakia; Slovenia; Spain; Sweden; Switzerland; United Kingdom (UK) including Channel Islands and Isle
233
     * of Man; Vatican City State.
234
     * Replaces ETRF92 (code 7920). Replaced by ETRF94 (code 7924).
235
     */
236
    public const EPSG_ETRF93 = 'urn:ogc:def:crs:EPSG::7922';
237
238
    /**
239
     * ETRF94
240
     * Extent: Europe - onshore and offshore: Albania; Andorra; Austria; Belgium; Bosnia and Herzegovina; Bulgaria;
241
     * Croatia; Cyprus; Czechia; Denmark; Estonia; Faroe Islands; Finland; France; Germany; Gibraltar; Greece; Hungary;
242
     * Ireland; Italy; Kosovo; Latvia; Liechtenstein; Lithuania; Luxembourg; Malta; Moldova; Monaco; Montenegro;
243
     * Netherlands; North Macedonia; Norway including Svalbard and Jan Mayen; Poland; Portugal; Romania; San Marino;
244
     * Serbia; Slovakia; Slovenia; Spain; Sweden; Switzerland; United Kingdom (UK) including Channel Islands and Isle
245
     * of Man; Vatican City State.
246
     * Replaces ETRF93 (code 7922). Replaced by ETRF96 (code 7926).
247
     */
248
    public const EPSG_ETRF94 = 'urn:ogc:def:crs:EPSG::7924';
249
250
    /**
251
     * ETRF96
252
     * Extent: Europe - onshore and offshore: Albania; Andorra; Austria; Belgium; Bosnia and Herzegovina; Bulgaria;
253
     * Croatia; Cyprus; Czechia; Denmark; Estonia; Faroe Islands; Finland; France; Germany; Gibraltar; Greece; Hungary;
254
     * Ireland; Italy; Kosovo; Latvia; Liechtenstein; Lithuania; Luxembourg; Malta; Moldova; Monaco; Montenegro;
255
     * Netherlands; North Macedonia; Norway including Svalbard and Jan Mayen; Poland; Portugal; Romania; San Marino;
256
     * Serbia; Slovakia; Slovenia; Spain; Sweden; Switzerland; United Kingdom (UK) including Channel Islands and Isle
257
     * of Man; Vatican City State.
258
     * Replaces ETRF94 (code 7924). Replaced by ETRF97 (code 7928).
259
     */
260
    public const EPSG_ETRF96 = 'urn:ogc:def:crs:EPSG::7926';
261
262
    /**
263
     * ETRF97
264
     * Extent: Europe - onshore and offshore: Albania; Andorra; Austria; Belgium; Bosnia and Herzegovina; Bulgaria;
265
     * Croatia; Cyprus; Czechia; Denmark; Estonia; Faroe Islands; Finland; France; Germany; Gibraltar; Greece; Hungary;
266
     * Ireland; Italy; Kosovo; Latvia; Liechtenstein; Lithuania; Luxembourg; Malta; Moldova; Monaco; Montenegro;
267
     * Netherlands; North Macedonia; Norway including Svalbard and Jan Mayen; Poland; Portugal; Romania; San Marino;
268
     * Serbia; Slovakia; Slovenia; Spain; Sweden; Switzerland; United Kingdom (UK) including Channel Islands and Isle
269
     * of Man; Vatican City State.
270
     * Replaces ETRF96 (code 7926). Replaced by ETRF2000 (code 7930).
271
     */
272
    public const EPSG_ETRF97 = 'urn:ogc:def:crs:EPSG::7928';
273
274
    /**
275
     * ETRS89
276
     * Extent: Europe - onshore and offshore: Albania; Andorra; Austria; Belgium; Bosnia and Herzegovina; Bulgaria;
277
     * Croatia; Cyprus; Czechia; Denmark; Estonia; Faroe Islands; Finland; France; Germany; Gibraltar; Greece; Hungary;
278
     * Ireland; Italy; Kosovo; Latvia; Liechtenstein; Lithuania; Luxembourg; Malta; Moldova; Monaco; Montenegro;
279
     * Netherlands; North Macedonia; Norway including Svalbard and Jan Mayen; Poland; Portugal; Romania; San Marino;
280
     * Serbia; Slovakia; Slovenia; Spain; Sweden; Switzerland; United Kingdom (UK) including Channel Islands and Isle
281
     * of Man; Vatican City State.
282
     * Has been realized through ETRF89, ETRF90, ETRF91, ETRF92, ETRF93, ETRF94, ETRF96, ETRF97, ETRF2000, ETRF2005 and
283
     * ETRF2014. This 'ensemble' covers any or all of these realizations without distinction.
284
     */
285
    public const EPSG_ETRS89 = 'urn:ogc:def:crs:EPSG::4936';
286
287
    /**
288
     * ETRS89/DREF91/2016
289
     * Extent: Germany - onshore and offshore.
290
     * German national realization of ETRS89. Replaces ETRS89/DREF91 Realization 2002 from 2016-12-01.
291
     */
292
    public const EPSG_ETRS89_DREF91_2016 = 'urn:ogc:def:crs:EPSG::10282';
293
294
    /**
295
     * FEH2010
296
     * Extent: Fehmarnbelt area of Denmark and Germany.
297
     * Trans-national system created due to small (but unacceptable for engineering tolerance) differences between the
298
     * German and Danish realisations of ETRS89.
299
     */
300
    public const EPSG_FEH2010 = 'urn:ogc:def:crs:EPSG::5591';
301
302
    /**
303
     * GDA2020
304
     * Extent: Australia including Lord Howe Island, Macquarie Island, Ashmore and Cartier Islands, Christmas Island,
305
     * Cocos (Keeling) Islands, Norfolk Island. All onshore and offshore.
306
     */
307
    public const EPSG_GDA2020 = 'urn:ogc:def:crs:EPSG::7842';
308
309
    /**
310
     * GDA94
311
     * Extent: Australia including Lord Howe Island, Macquarie Island, Ashmore and Cartier Islands, Christmas Island,
312
     * Cocos (Keeling) Islands, Norfolk Island. All onshore and offshore.
313
     */
314
    public const EPSG_GDA94 = 'urn:ogc:def:crs:EPSG::4938';
315
316
    /**
317
     * GDBD2009
318
     * Extent: Brunei Darussalam - onshore and offshore.
319
     */
320
    public const EPSG_GDBD2009 = 'urn:ogc:def:crs:EPSG::5244';
321
322
    /**
323
     * GDM2000
324
     * Extent: Malaysia - onshore and offshore. Includes peninsular Malayasia, Sabah and Sarawak.
325
     */
326
    public const EPSG_GDM2000 = 'urn:ogc:def:crs:EPSG::4920';
327
328
    /**
329
     * GR96
330
     * Extent: Greenland - onshore and offshore.
331
     */
332
    public const EPSG_GR96 = 'urn:ogc:def:crs:EPSG::4908';
333
334
    /**
335
     * GSK-2011
336
     * Extent: Russian Federation - onshore and offshore.
337
     */
338
    public const EPSG_GSK_2011 = 'urn:ogc:def:crs:EPSG::7681';
339
340
    /**
341
     * HTRS96
342
     * Extent: Croatia - onshore and offshore.
343
     */
344
    public const EPSG_HTRS96 = 'urn:ogc:def:crs:EPSG::4888';
345
346
    /**
347
     * Hartebeesthoek94
348
     * Extent: Eswatini (Swaziland); Lesotho; South Africa - onshore and offshore.
349
     */
350
    public const EPSG_HARTEBEESTHOEK94 = 'urn:ogc:def:crs:EPSG::4940';
351
352
    /**
353
     * Hong Kong Geodetic CS
354
     * Extent: China - Hong Kong - onshore and offshore.
355
     * Locally sometimes referred to as ITRF96 or WGS 84, these are not strictly correct.
356
     */
357
    public const EPSG_HONG_KONG_GEODETIC_CS = 'urn:ogc:def:crs:EPSG::8425';
358
359
    /**
360
     * IG05 Intermediate CRS
361
     * Extent: Israel - onshore; Palestine Territory - onshore.
362
     * Intermediate system not used for spatial referencing - use IGD05 (CRS code 6978).
363
     */
364
    public const EPSG_IG05_INTERMEDIATE_CRS = 'urn:ogc:def:crs:EPSG::6981';
365
366
    /**
367
     * IG05/12 Intermediate CRS
368
     * Extent: Israel - onshore; Palestine Territory - onshore.
369
     * Intermediate system not used for spatial referencing - use IGD05/12 (CRS code 6985).
370
     */
371
    public const EPSG_IG05_12_INTERMEDIATE_CRS = 'urn:ogc:def:crs:EPSG::6988';
372
373
    /**
374
     * IGD05
375
     * Extent: Israel - onshore and offshore.
376
     * Replaced by IGD05/12 (CRS code 7137).
377
     */
378
    public const EPSG_IGD05 = 'urn:ogc:def:crs:EPSG::7134';
379
380
    /**
381
     * IGD05/12
382
     * Extent: Israel - onshore and offshore.
383
     * Replaces IGD05 (CRS code 7134).
384
     */
385
    public const EPSG_IGD05_12 = 'urn:ogc:def:crs:EPSG::7137';
386
387
    /**
388
     * IGM95
389
     * Extent: Italy - onshore and offshore; San Marino, Vatican City State.
390
     * Replaced by RDN2008 (CRS code 6704) from 2011-11-10.
391
     */
392
    public const EPSG_IGM95 = 'urn:ogc:def:crs:EPSG::4982';
393
394
    /**
395
     * IGRS
396
     * Extent: Iraq - onshore and offshore.
397
     */
398
    public const EPSG_IGRS = 'urn:ogc:def:crs:EPSG::3887';
399
400
    /**
401
     * IGS00
402
     * Extent: World.
403
     * Adopted by the International GNSS Service (IGS) from 2001-12-02 through 2004-01-10. Replaces IGS97, replaced by
404
     * IGb00 (CRS codes 9001 and 9007). For all practical purposes IGS00 is equivalent to ITRF2000.
405
     */
406
    public const EPSG_IGS00 = 'urn:ogc:def:crs:EPSG::9004';
407
408
    /**
409
     * IGS05
410
     * Extent: World.
411
     * Adopted by the International GNSS Service (IGS) from 2006-11-05 through 2011-04-16. Replaces IGb00, replaced by
412
     * IGS08 (CRS codes 9007 and 6834). For all practical purposes IGS05 is equivalent to ITRF2005.
413
     */
414
    public const EPSG_IGS05 = 'urn:ogc:def:crs:EPSG::9010';
415
416
    /**
417
     * IGS08
418
     * Extent: World.
419
     * Used for products from International GNSS Service (IGS) analysis centres from 2011-04-17 through 2012-10-06.
420
     * Replaces IGS05 (code 9010). Replaced by IGb08 (code 9015). For most practical purposes IGS08 is equivalent to
421
     * ITRF2008.
422
     */
423
    public const EPSG_IGS08 = 'urn:ogc:def:crs:EPSG::6934';
424
425
    /**
426
     * IGS14
427
     * Extent: World.
428
     * Used for products from the International GNSS Service (IGS) from 2017-01-29 to 2020-05-16. Replaces IGb08 (code
429
     * 9015), replaced by IGb14 (code 9378). For most practical purposes IGS14 is equivalent to ITRF2014.
430
     */
431
    public const EPSG_IGS14 = 'urn:ogc:def:crs:EPSG::8227';
432
433
    /**
434
     * IGS20
435
     * Extent: World.
436
     * Used for products from the International GNSS Service (IGS) from 2022-11-27. Replaces IGb14 (code 9378). For
437
     * most practical purposes IGS20 is equivalent to ITRF2020.
438
     */
439
    public const EPSG_IGS20 = 'urn:ogc:def:crs:EPSG::10176';
440
441
    /**
442
     * IGS97
443
     * Extent: World.
444
     * Adopted by the International GNSS Service (IGS) from 2000-06-04 through 2001-12-01. Replaced by IGS00 (CRS code
445
     * 9004). For all practical purposes IGS97 is equivalent to ITRF97.
446
     */
447
    public const EPSG_IGS97 = 'urn:ogc:def:crs:EPSG::9001';
448
449
    /**
450
     * IGb00
451
     * Extent: World.
452
     * Adopted by the International GNSS Service (IGS) from 2004-01-11 through 2006-11-04. Replaces IGS00, replaced by
453
     * IGS05 (CRS codes 9004 and 9010). For all practical purposes IGb00 is equivalent to ITRF2000.
454
     */
455
    public const EPSG_IGB00 = 'urn:ogc:def:crs:EPSG::9007';
456
457
    /**
458
     * IGb08
459
     * Extent: World.
460
     * Adopted by the International GNSS Service (IGS) from 2012-10-07 through 2017-01-28. Replaces IGS08, replaced by
461
     * IGS14 (CRS codes 6934 and 8227). For all practical purposes IGb08 is equivalent to ITRF2008.
462
     */
463
    public const EPSG_IGB08 = 'urn:ogc:def:crs:EPSG::9015';
464
465
    /**
466
     * IGb14
467
     * Extent: World.
468
     * Used for products from the International GNSS Service (IGS) from 2020-05-17. Replaces IGS14 (code 8227),
469
     * replaced by IGS20 (code 10176). For most practical purposes IGb14 is equivalent to ITRF2014.
470
     */
471
    public const EPSG_IGB14 = 'urn:ogc:def:crs:EPSG::9378';
472
473
    /**
474
     * IRENET95
475
     * Extent: Ireland - onshore. United Kingdom (UK) - Northern Ireland (Ulster) - onshore.
476
     */
477
    public const EPSG_IRENET95 = 'urn:ogc:def:crs:EPSG::4942';
478
479
    /**
480
     * ISN2004
481
     * Extent: Iceland - onshore and offshore.
482
     * Replaces ISN93 (CRS code 4944). Replaced by ISN2016 (CRS code 8084).
483
     */
484
    public const EPSG_ISN2004 = 'urn:ogc:def:crs:EPSG::5322';
485
486
    /**
487
     * ISN2016
488
     * Extent: Iceland - onshore and offshore.
489
     * Replaces ISN2004 (CRS code 5322) from September 2017.
490
     */
491
    public const EPSG_ISN2016 = 'urn:ogc:def:crs:EPSG::8084';
492
493
    /**
494
     * ISN93
495
     * Extent: Iceland - onshore and offshore.
496
     * Replaced by ISN2004 (CRS code 5322).
497
     */
498
    public const EPSG_ISN93 = 'urn:ogc:def:crs:EPSG::4944';
499
500
    /**
501
     * ITRF2000
502
     * Extent: World.
503
     * Replaces ITRF97 (code 4918). Replaced by ITRF2005 (code 4896).
504
     */
505
    public const EPSG_ITRF2000 = 'urn:ogc:def:crs:EPSG::4919';
506
507
    /**
508
     * ITRF2005
509
     * Extent: World.
510
     * Replaces ITRF2000 (CRS code 4919). Replaced by ITRF2008 (CRS code 5332).
511
     */
512
    public const EPSG_ITRF2005 = 'urn:ogc:def:crs:EPSG::4896';
513
514
    /**
515
     * ITRF2008
516
     * Extent: World.
517
     * Replaces ITRF2005 (CRS code 4896). Replaced by ITRF2014 (CRS code 7789).
518
     */
519
    public const EPSG_ITRF2008 = 'urn:ogc:def:crs:EPSG::5332';
520
521
    /**
522
     * ITRF2014
523
     * Extent: World.
524
     * Replaces ITRF2008 (CRS code 5332). Replaced by ITRF2020 (CRS code 9988).
525
     */
526
    public const EPSG_ITRF2014 = 'urn:ogc:def:crs:EPSG::7789';
527
528
    /**
529
     * ITRF2020
530
     * Extent: World.
531
     * Replaces ITRF2014 (CRS code 7789).
532
     */
533
    public const EPSG_ITRF2020 = 'urn:ogc:def:crs:EPSG::9988';
534
535
    /**
536
     * ITRF88
537
     * Extent: World.
538
     * Replaced by ITRF89 (code 4911).
539
     */
540
    public const EPSG_ITRF88 = 'urn:ogc:def:crs:EPSG::4910';
541
542
    /**
543
     * ITRF89
544
     * Extent: World.
545
     * Replaces ITRF88 (code 4910). Replaced by ITRF90 (code 4912).
546
     */
547
    public const EPSG_ITRF89 = 'urn:ogc:def:crs:EPSG::4911';
548
549
    /**
550
     * ITRF90
551
     * Extent: World.
552
     * Replaces ITRF89 (code 4911). Replaced by ITRF91 (code 4913).
553
     */
554
    public const EPSG_ITRF90 = 'urn:ogc:def:crs:EPSG::4912';
555
556
    /**
557
     * ITRF91
558
     * Extent: World.
559
     * Replaces ITRF90 (code 4912). Replaced by ITRF92 (code 4914).
560
     */
561
    public const EPSG_ITRF91 = 'urn:ogc:def:crs:EPSG::4913';
562
563
    /**
564
     * ITRF92
565
     * Extent: World.
566
     * Replaces ITRF91 (code 4913). Replaced by ITRF93 (code 4915).
567
     */
568
    public const EPSG_ITRF92 = 'urn:ogc:def:crs:EPSG::4914';
569
570
    /**
571
     * ITRF93
572
     * Extent: World.
573
     * Replaces ITRF92 (code 4914). Replaced by ITRF94 (code 4916).
574
     */
575
    public const EPSG_ITRF93 = 'urn:ogc:def:crs:EPSG::4915';
576
577
    /**
578
     * ITRF94
579
     * Extent: World.
580
     * Replaces ITRF93 (code 4915). Replaced by ITRF96 (code 4917).
581
     */
582
    public const EPSG_ITRF94 = 'urn:ogc:def:crs:EPSG::4916';
583
584
    /**
585
     * ITRF96
586
     * Extent: World.
587
     * Replaces ITRF94 (code 4916). Replaced by ITRF97 (code 4918).
588
     */
589
    public const EPSG_ITRF96 = 'urn:ogc:def:crs:EPSG::4917';
590
591
    /**
592
     * ITRF97
593
     * Extent: World.
594
     * Replaces ITRF96 (code 4917). Replaced by ITRF2000 (code 4919).
595
     */
596
    public const EPSG_ITRF97 = 'urn:ogc:def:crs:EPSG::4918';
597
598
    /**
599
     * JAD2001
600
     * Extent: Jamaica - onshore and offshore. Includes Morant Cays and Pedro Cays.
601
     */
602
    public const EPSG_JAD2001 = 'urn:ogc:def:crs:EPSG::4894';
603
604
    /**
605
     * JGD2000
606
     * Extent: Japan - onshore and offshore.
607
     * From 21st October 2011 replaced by JGD2011 (CRS code 6666).
608
     */
609
    public const EPSG_JGD2000 = 'urn:ogc:def:crs:EPSG::4946';
610
611
    /**
612
     * JGD2011
613
     * Extent: Japan - onshore and offshore.
614
     * Replaces JGD2000 (CRS code 4946) with effect from 21st October 2011.
615
     */
616
    public const EPSG_JGD2011 = 'urn:ogc:def:crs:EPSG::6666';
617
618
    /**
619
     * KOSOVAREF01
620
     * Extent: Kosovo.
621
     */
622
    public const EPSG_KOSOVAREF01 = 'urn:ogc:def:crs:EPSG::9138';
623
624
    /**
625
     * KSA-GRF17
626
     * Extent: Saudi Arabia - onshore and offshore.
627
     */
628
    public const EPSG_KSA_GRF17 = 'urn:ogc:def:crs:EPSG::9331';
629
630
    /**
631
     * Korea 2000
632
     * Extent: Republic of Korea (South Korea) - onshore and offshore.
633
     */
634
    public const EPSG_KOREA_2000 = 'urn:ogc:def:crs:EPSG::4926';
635
636
    /**
637
     * Kyrg-06
638
     * Extent: Kyrgyzstan.
639
     */
640
    public const EPSG_KYRG_06 = 'urn:ogc:def:crs:EPSG::7684';
641
642
    /**
643
     * LGD2006
644
     * Extent: Libya - onshore and offshore.
645
     */
646
    public const EPSG_LGD2006 = 'urn:ogc:def:crs:EPSG::4899';
647
648
    /**
649
     * LKS-2020
650
     * Extent: Latvia - onshore and offshore.
651
     * Replaces LKS-92 (CRS code 4948).
652
     */
653
    public const EPSG_LKS_2020 = 'urn:ogc:def:crs:EPSG::10303';
654
655
    /**
656
     * LKS-92
657
     * Extent: Latvia - onshore and offshore.
658
     * Replaced by LKS-2020 (CRS code 10303).
659
     */
660
    public const EPSG_LKS_92 = 'urn:ogc:def:crs:EPSG::4948';
661
662
    /**
663
     * LKS94
664
     * Extent: Lithuania - onshore and offshore.
665
     */
666
    public const EPSG_LKS94 = 'urn:ogc:def:crs:EPSG::4950';
667
668
    /**
669
     * LTF2004(G)
670
     * Extent: France and Italy - on or related to the rail route from Lyon to Turin.
671
     */
672
    public const EPSG_LTF2004_G = 'urn:ogc:def:crs:EPSG::9545';
673
674
    /**
675
     * LUREF
676
     * Extent: Luxembourg.
677
     */
678
    public const EPSG_LUREF = 'urn:ogc:def:crs:EPSG::9892';
679
680
    /**
681
     * Lao 1993
682
     * Extent: Laos.
683
     * Replaced by Lao 1997. Lao 1993 coordinate values are within 1m of Lao 1997 values.
684
     */
685
    public const EPSG_LAO_1993 = 'urn:ogc:def:crs:EPSG::4990';
686
687
    /**
688
     * Lao 1997
689
     * Extent: Laos.
690
     * Replaces Lao 1993. Lao 1993 coordinate values are within 1m of Lao 1997 values.
691
     */
692
    public const EPSG_LAO_1997 = 'urn:ogc:def:crs:EPSG::4992';
693
694
    /**
695
     * MACARIO SOLIS
696
     * Extent: Panama - onshore and offshore.
697
     * Densification of SIRGAS 2000 within Panama.
698
     */
699
    public const EPSG_MACARIO_SOLIS = 'urn:ogc:def:crs:EPSG::5368';
700
701
    /**
702
     * MAGNA-SIRGAS
703
     * Extent: Colombia - onshore and offshore. Includes San Andres y Providencia, Malpelo Islands, Roncador Bank,
704
     * Serrana Bank and Serranilla Bank.
705
     * For high accuracy purposes replaced by MAGNA-SIRGAS 2018 (code 20044).
706
     */
707
    public const EPSG_MAGNA_SIRGAS = 'urn:ogc:def:crs:EPSG::4996';
708
709
    /**
710
     * MAGNA-SIRGAS 2018
711
     * Extent: Colombia - onshore and offshore. Includes San Andres y Providencia, Malpelo Islands, Roncador Bank,
712
     * Serrana Bank and Serranilla Bank.
713
     */
714
    public const EPSG_MAGNA_SIRGAS_2018 = 'urn:ogc:def:crs:EPSG::20044';
715
716
    /**
717
     * MARGEN
718
     * Extent: Bolivia.
719
     */
720
    public const EPSG_MARGEN = 'urn:ogc:def:crs:EPSG::5352';
721
722
    /**
723
     * MGI
724
     * Extent: Austria.
725
     */
726
    public const EPSG_MGI = 'urn:ogc:def:crs:EPSG::9266';
727
728
    /**
729
     * MOLDREF99
730
     * Extent: Moldova.
731
     */
732
    public const EPSG_MOLDREF99 = 'urn:ogc:def:crs:EPSG::4000';
733
734
    /**
735
     * MTRF-2000
736
     * Extent: Saudi Arabia - onshore and offshore.
737
     */
738
    public const EPSG_MTRF_2000 = 'urn:ogc:def:crs:EPSG::8816';
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::8429';
746
747
    /**
748
     * Mauritania 1999
749
     * Extent: Mauritania - onshore and offshore.
750
     */
751
    public const EPSG_MAURITANIA_1999 = 'urn:ogc:def:crs:EPSG::4924';
752
753
    /**
754
     * Mexico ITRF2008
755
     * Extent: Mexico - onshore and offshore.
756
     * Replaces Mexico ITRF92 (CRS code 4481) from December 2010.
757
     */
758
    public const EPSG_MEXICO_ITRF2008 = 'urn:ogc:def:crs:EPSG::6363';
759
760
    /**
761
     * Mexico ITRF92
762
     * Extent: Mexico - onshore and offshore.
763
     * Replaced by Mexico ITRF2008 (CRS code 6363) from December 2010.
764
     */
765
    public const EPSG_MEXICO_ITRF92 = 'urn:ogc:def:crs:EPSG::4481';
766
767
    /**
768
     * Moznet
769
     * Extent: Mozambique - onshore and offshore.
770
     */
771
    public const EPSG_MOZNET = 'urn:ogc:def:crs:EPSG::4952';
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
     * Replaces NAD83(CORS96) and NAD83(NSRS2007) (CRS codes 6781 and 4892).
782
     */
783
    public const EPSG_NAD83_2011 = 'urn:ogc:def:crs:EPSG::6317';
784
785
    /**
786
     * NAD83(CORS96)
787
     * Extent: Puerto Rico - onshore and offshore. United States (USA) onshore and offshore - Alabama; Alaska; Arizona;
788
     * Arkansas; California; Colorado; Connecticut; Delaware; Florida; Georgia; Idaho; Illinois; Indiana; Iowa; Kansas;
789
     * Kentucky; Louisiana; Maine; Maryland; Massachusetts; Michigan; Minnesota; Mississippi; Missouri; Montana;
790
     * Nebraska; Nevada; New Hampshire; New Jersey; New Mexico; New York; North Carolina; North Dakota; Ohio; Oklahoma;
791
     * Oregon; Pennsylvania; Rhode Island; South Carolina; South Dakota; Tennessee; Texas; Utah; Vermont; Virginia;
792
     * Washington; West Virginia; Wisconsin; Wyoming. US Virgin Islands - onshore and offshore.
793
     * Replaced by NAD83(2011) (CRS code 6317) from 2011-09-06.
794
     */
795
    public const EPSG_NAD83_CORS96 = 'urn:ogc:def:crs:EPSG::6781';
796
797
    /**
798
     * NAD83(CSRS)
799
     * Extent: Canada - onshore and offshore - Alberta; British Columbia; Manitoba; New Brunswick; Newfoundland and
800
     * Labrador; Northwest Territories; Nova Scotia; Nunavut; Ontario; Prince Edward Island; Quebec; Saskatchewan;
801
     * Yukon.
802
     * Includes all versions of NAD83(CSRS) from v2 [CSRS98] onwards without specific identification. As such it has an
803
     * accuracy of approximately 1m.
804
     */
805
    public const EPSG_NAD83_CSRS = 'urn:ogc:def:crs:EPSG::4954';
806
807
    /**
808
     * NAD83(CSRS)v2
809
     * Extent: Canada - onshore and offshore - Alberta; British Columbia; Manitoba; New Brunswick; Newfoundland and
810
     * Labrador; Northwest Territories; Nova Scotia; Nunavut; Ontario; Prince Edward Island; Quebec; Saskatchewan;
811
     * Yukon.
812
     * Adopted by the Canadian federal government from 1998-01-01 and by the provincial governments of British
813
     * Columbia, New Brunswick, Prince Edward Island and Quebec. Replaces NAD83(CSRS96). Replaced by NAD83(CSRS)v3 (CRS
814
     * code 8238).
815
     */
816
    public const EPSG_NAD83_CSRS_V2 = 'urn:ogc:def:crs:EPSG::8233';
817
818
    /**
819
     * NAD83(CSRS)v3
820
     * Extent: Canada - onshore and offshore - Alberta; British Columbia; Manitoba; New Brunswick; Newfoundland and
821
     * Labrador; Northwest Territories; Nova Scotia; Nunavut; Ontario; Prince Edward Island; Quebec; Saskatchewan;
822
     * Yukon.
823
     * Adopted by the Canadian federal government from 1999-01-01 and by the provincial governments of Alberta, British
824
     * Columbia, Manitoba, Newfoundland and Labrador, Nova Scotia, Ontario and Saskatchewan. Replaces NAD83(CSRS)v2.
825
     * Replaced by NAD83(CSRS)v4.
826
     */
827
    public const EPSG_NAD83_CSRS_V3 = 'urn:ogc:def:crs:EPSG::8238';
828
829
    /**
830
     * NAD83(CSRS)v4
831
     * Extent: Canada - onshore and offshore - Alberta; British Columbia; Manitoba; New Brunswick; Newfoundland and
832
     * Labrador; Northwest Territories; Nova Scotia; Nunavut; Ontario; Prince Edward Island; Quebec; Saskatchewan;
833
     * Yukon.
834
     * Adopted by the Canadian federal government from 2002-01-01 and by the provincial governments of Alberta and
835
     * British Columbia. Replaces NAD83(CSRS)v3. Replaced by NAD83(CSRS)v5 (CRS code 8247).
836
     */
837
    public const EPSG_NAD83_CSRS_V4 = 'urn:ogc:def:crs:EPSG::8242';
838
839
    /**
840
     * NAD83(CSRS)v5
841
     * Extent: Canada - onshore and offshore - Alberta; British Columbia; Manitoba; New Brunswick; Newfoundland and
842
     * Labrador; Northwest Territories; Nova Scotia; Nunavut; Ontario; Prince Edward Island; Quebec; Saskatchewan;
843
     * Yukon.
844
     * Adopted by the Canadian federal government from 2006-01-01. Replaces NAD83(CSRS)v4. Replaced by NAD83(CSRS)v6
845
     * (CRS code 8250).
846
     */
847
    public const EPSG_NAD83_CSRS_V5 = 'urn:ogc:def:crs:EPSG::8247';
848
849
    /**
850
     * NAD83(CSRS)v6
851
     * Extent: Canada - onshore and offshore - Alberta; British Columbia; Manitoba; New Brunswick; Newfoundland and
852
     * Labrador; Northwest Territories; Nova Scotia; Nunavut; Ontario; Prince Edward Island; Quebec; Saskatchewan;
853
     * Yukon.
854
     * Adopted by the Canadian federal government from 2010-01-01 and the provincial governments of Alberta, British
855
     * Columbia, Manitoba, Newfoundland and Labrador, Nova Scotia, Ontario and Prince Edward Island. Replaces
856
     * NAD83(CSRS)v5. Replaced by NAD83(CSRS)v7.
857
     */
858
    public const EPSG_NAD83_CSRS_V6 = 'urn:ogc:def:crs:EPSG::8250';
859
860
    /**
861
     * NAD83(CSRS)v7
862
     * Extent: Canada - onshore and offshore - Alberta; British Columbia; Manitoba; New Brunswick; Newfoundland and
863
     * Labrador; Northwest Territories; Nova Scotia; Nunavut; Ontario; Prince Edward Island; Quebec; Saskatchewan;
864
     * Yukon.
865
     * Adopted by the Canadian federal government from 2017-05-01 and the provincial government of Alberta. Replaces
866
     * NAD83(CSRS)v6.
867
     */
868
    public const EPSG_NAD83_CSRS_V7 = 'urn:ogc:def:crs:EPSG::8253';
869
870
    /**
871
     * NAD83(CSRS96)
872
     * Extent: Canada - onshore and offshore - Alberta; British Columbia; Manitoba; New Brunswick; Newfoundland and
873
     * Labrador; Northwest Territories; Nova Scotia; Nunavut; Ontario; Prince Edward Island; Quebec; Saskatchewan;
874
     * Yukon.
875
     * Adopted by the Canadian federal government from 1996-01-01. Replaced by NAD83(CSRS)v2 (CRS code 8233).
876
     */
877
    public const EPSG_NAD83_CSRS96 = 'urn:ogc:def:crs:EPSG::8230';
878
879
    /**
880
     * NAD83(FBN)
881
     * Extent: American Samoa - Tutuila, Aunu'u, Ofu, Olesega, Ta'u and Rose islands - onshore. Guam - onshore.
882
     * Northern Mariana Islands - onshore. Puerto Rico - onshore. United States (USA) - CONUS - Alabama; Arizona;
883
     * Arkansas; California; Colorado; Connecticut; Delaware; Florida; Georgia; Idaho; Illinois; Indiana; Iowa; Kansas;
884
     * Kentucky; Louisiana; Maine; Maryland; Massachusetts; Michigan; Minnesota; Mississippi; Missouri; Montana;
885
     * Nebraska; Nevada; New Hampshire; New Jersey; New Mexico; New York; North Carolina; North Dakota; Ohio; Oklahoma;
886
     * Oregon; Pennsylvania; Rhode Island; South Carolina; South Dakota; Tennessee; Texas; Utah; Vermont; Virginia;
887
     * Washington; West Virginia; Wisconsin; Wyoming - onshore plus Gulf of Mexico offshore continental shelf (GoM
888
     * OCS). US Virgin Islands - onshore.
889
     * In Continental US, American Samoa, Guam/NMI and PRVI, replaces NAD83(HARN). In Continental US, Puerto Rico and
890
     * US Virgin Islands replaced by NAD83(NSRS2007). In American Samoa and Hawaii replaced by NAD83(PA11). In Guam/NMI
891
     * replaced by NAD83(MA11).
892
     */
893
    public const EPSG_NAD83_FBN = 'urn:ogc:def:crs:EPSG::8541';
894
895
    /**
896
     * NAD83(HARN Corrected)
897
     * Extent: Puerto Rico and US Virgin Islands - onshore.
898
     * In PRVI replaces NAD83(HARN) = NAD83(1993 PRVI) to correct errors. Replaced by NAD83(FBN) = NAD83(2002 PRVI).
899
     */
900
    public const EPSG_NAD83_HARN_CORRECTED = 'urn:ogc:def:crs:EPSG::8543';
901
902
    /**
903
     * NAD83(HARN)
904
     * Extent: American Samoa - onshore - Tutuila, Aunu'u, Ofu, Olesega, Ta'u and Rose islands. Guam - onshore.
905
     * Northern Mariana Islands - onshore. Puerto Rico - onshore. United States (USA) - onshore Alabama, Alaska,
906
     * Arizona, Arkansas, California, Colorado, Connecticut, Delaware, Florida, Georgia, Hawaii, Idaho, Illinois,
907
     * Indiana, Iowa, Kansas, Kentucky, Louisiana, Maine, Maryland, Massachusetts, Michigan, Minnesota, Mississippi,
908
     * Missouri, Montana, Nebraska, Nevada, New Hampshire, New Jersey, New Mexico, New York, North Carolina, North
909
     * Dakota, Ohio, Oklahoma, Oregon, Pennsylvania, Rhode Island, South Carolina, South Dakota, Tennessee, Texas,
910
     * Utah, Vermont, Virginia, Washington, West Virginia, Wisconsin and Wyoming; offshore Gulf of Mexico continental
911
     * shelf (GoM OCS). US Virgin Islands - onshore.
912
     * In CONUS and Hawaii replaces NAD83 for applications with an accuracy of better than 1m. Replaced by NAD83(FBN)
913
     * in CONUS, American Samoa and Guam/NMI, by NAD83(NSRS2007) in Alaska, by NAD83(PA11) in Hawaii and by NAD83(HARN
914
     * Corrected) in PRVI.
915
     */
916
    public const EPSG_NAD83_HARN = 'urn:ogc:def:crs:EPSG::4956';
917
918
    /**
919
     * NAD83(MA11)
920
     * Extent: Guam, Northern Mariana Islands and Palau; onshore and offshore.
921
     * Replaces NAD83(HARN) (GGN93) and NAD83(FBN) in Guam.
922
     */
923
    public const EPSG_NAD83_MA11 = 'urn:ogc:def:crs:EPSG::6323';
924
925
    /**
926
     * NAD83(MARP00)
927
     * Extent: Guam, Northern Mariana Islands and Palau; onshore and offshore.
928
     * Replaces NAD83(HARN) (GGN93) and NAD83(FBN) in Guam. Replaced by NAD83(MA11).
929
     */
930
    public const EPSG_NAD83_MARP00 = 'urn:ogc:def:crs:EPSG::9070';
931
932
    /**
933
     * NAD83(NSRS2007)
934
     * Extent: Puerto Rico - onshore and offshore. United States (USA) onshore and offshore - Alabama; Alaska; Arizona;
935
     * Arkansas; California; Colorado; Connecticut; Delaware; Florida; Georgia; Idaho; Illinois; Indiana; Iowa; Kansas;
936
     * Kentucky; Louisiana; Maine; Maryland; Massachusetts; Michigan; Minnesota; Mississippi; Missouri; Montana;
937
     * Nebraska; Nevada; New Hampshire; New Jersey; New Mexico; New York; North Carolina; North Dakota; Ohio; Oklahoma;
938
     * Oregon; Pennsylvania; Rhode Island; South Carolina; South Dakota; Tennessee; Texas; Utah; Vermont; Virginia;
939
     * Washington; West Virginia; Wisconsin; Wyoming. US Virgin Islands - onshore and offshore.
940
     * Replaces NAD83(HARN) and NAD83(FBN). Replaced by NAD83(2011).
941
     */
942
    public const EPSG_NAD83_NSRS2007 = 'urn:ogc:def:crs:EPSG::4892';
943
944
    /**
945
     * NAD83(PA11)
946
     * Extent: American Samoa, Marshall Islands, United States (USA) - Hawaii, United States minor outlying islands;
947
     * onshore and offshore.
948
     * Replaces NAD83(HARN) and NAD83(FBN) in Hawaii and American Samoa.
949
     */
950
    public const EPSG_NAD83_PA11 = 'urn:ogc:def:crs:EPSG::6320';
951
952
    /**
953
     * NAD83(PACP00)
954
     * Extent: American Samoa, Marshall Islands, United States (USA) - Hawaii, United States minor outlying islands;
955
     * onshore and offshore.
956
     * Replaces NAD83(HARN) and NAD83(FBN) in Hawaii and American Samoa. Replaced by NAD83(PA11).
957
     */
958
    public const EPSG_NAD83_PACP00 = 'urn:ogc:def:crs:EPSG::9073';
959
960
    /**
961
     * NZGD2000
962
     * Extent: New Zealand - onshore and offshore. Includes Antipodes Islands, Auckland Islands, Bounty Islands,
963
     * Chatham Islands, Cambell Island, Kermadec Islands, Raoul Island and Snares Islands.
964
     */
965
    public const EPSG_NZGD2000 = 'urn:ogc:def:crs:EPSG::4958';
966
967
    /**
968
     * ONGD14
969
     * Extent: Oman - onshore and offshore.
970
     * In Oman replaces usage of WGS 84 (G873) from 2014. Replaced by ONGD17 (CRS code 9292) from March 2019.
971
     */
972
    public const EPSG_ONGD14 = 'urn:ogc:def:crs:EPSG::7371';
973
974
    /**
975
     * ONGD17
976
     * Extent: Oman - onshore and offshore.
977
     * Replaces ONGD14 (CRS code 7371) from March 2019.
978
     */
979
    public const EPSG_ONGD17 = 'urn:ogc:def:crs:EPSG::9292';
980
981
    /**
982
     * PNG94
983
     * Extent: Papua New Guinea - onshore and offshore. Includes Bismark archipelago, Louisade archipelago, Admiralty
984
     * Islands, d'Entrecasteaux Islands, northern Solomon Islands, Trobriand Islands, New Britain, New Ireland,
985
     * Woodlark, and associated islands.
986
     */
987
    public const EPSG_PNG94 = 'urn:ogc:def:crs:EPSG::5544';
988
989
    /**
990
     * POSGAR 2007
991
     * Extent: Argentina - onshore and offshore.
992
     * Adopted as official replacement of POSGAR 94 in May 2009. Also replaces de facto use of POSGAR 98 as of same
993
     * date.
994
     */
995
    public const EPSG_POSGAR_2007 = 'urn:ogc:def:crs:EPSG::5341';
996
997
    /**
998
     * POSGAR 94
999
     * Extent: Argentina - onshore and offshore.
1000
     * Legally adopted in May 1997. Replaced by POSGAR 98 for scientific and many practical purposes until May 2009.
1001
     * Officially replaced by POSGAR 2007 in May 2009.
1002
     */
1003
    public const EPSG_POSGAR_94 = 'urn:ogc:def:crs:EPSG::4928';
1004
1005
    /**
1006
     * POSGAR 98
1007
     * Extent: Argentina - onshore and offshore.
1008
     * Densification in Argentina of SIRGAS 1995. Until May 2009 replaced POSGAR 94 for many practical purposes (but
1009
     * not as the legal system). POSGAR 94 was officially replaced by POSGAR 2007 in May 2009.
1010
     */
1011
    public const EPSG_POSGAR_98 = 'urn:ogc:def:crs:EPSG::4960';
1012
1013
    /**
1014
     * PRS92
1015
     * Extent: Philippines - onshore and offshore.
1016
     */
1017
    public const EPSG_PRS92 = 'urn:ogc:def:crs:EPSG::4994';
1018
1019
    /**
1020
     * PTRA08
1021
     * Extent: Portugal - Azores and Madeira island groups and surrounding EEZ - Flores, Corvo; Graciosa, Terceira, Sao
1022
     * Jorge, Pico, Faial; Sao Miguel, Santa Maria; Madeira, Porto Santo, Desertas; Selvagens.
1023
     */
1024
    public const EPSG_PTRA08 = 'urn:ogc:def:crs:EPSG::5011';
1025
1026
    /**
1027
     * PZ-90
1028
     * Extent: World.
1029
     * Replaced by PZ-90.02 from 2007-09-20.
1030
     */
1031
    public const EPSG_PZ_90 = 'urn:ogc:def:crs:EPSG::4922';
1032
1033
    /**
1034
     * PZ-90.02
1035
     * Extent: World.
1036
     * Replaces PZ-90 (CRS code 4922) from 2007-09-20. Replaced by PZ-90.11 (CRS code 7679) from 2014-01-15.
1037
     */
1038
    public const EPSG_PZ_90_02 = 'urn:ogc:def:crs:EPSG::7677';
1039
1040
    /**
1041
     * PZ-90.11
1042
     * Extent: World.
1043
     * Replaces PZ-90.02 (CRS code 7677) from 2014-01-15.
1044
     */
1045
    public const EPSG_PZ_90_11 = 'urn:ogc:def:crs:EPSG::7679';
1046
1047
    /**
1048
     * Peru96
1049
     * Extent: Peru - onshore and offshore.
1050
     * Densification of SIRGAS95 in Peru.
1051
     */
1052
    public const EPSG_PERU96 = 'urn:ogc:def:crs:EPSG::5369';
1053
1054
    /**
1055
     * RDN2008
1056
     * Extent: Italy - onshore and offshore; San Marino, Vatican City State.
1057
     * Replaces IGM95 (CRS code 4982) from 2011-11-10.
1058
     */
1059
    public const EPSG_RDN2008 = 'urn:ogc:def:crs:EPSG::6704';
1060
1061
    /**
1062
     * REDGEOMIN
1063
     * Extent: Chile - onshore and offshore. Includes Easter Island, Juan Fernandez Islands, San Felix, and Sala y
1064
     * Gomez.
1065
     */
1066
    public const EPSG_REDGEOMIN = 'urn:ogc:def:crs:EPSG::9694';
1067
1068
    /**
1069
     * REGCAN95
1070
     * Extent: Spain - Canary Islands onshore and offshore.
1071
     */
1072
    public const EPSG_REGCAN95 = 'urn:ogc:def:crs:EPSG::4079';
1073
1074
    /**
1075
     * REGVEN
1076
     * Extent: Venezuela - onshore and offshore.
1077
     * Densification in Venezuela of SIRGAS.
1078
     */
1079
    public const EPSG_REGVEN = 'urn:ogc:def:crs:EPSG::4962';
1080
1081
    /**
1082
     * RGAF09
1083
     * Extent: French Antilles onshore and offshore - Guadeloupe (including Grande Terre, Basse Terre, Marie Galante,
1084
     * Les Saintes, Iles de la Petite Terre, La Desirade); Martinique; St Barthélemy; St Martin.
1085
     * Replaces RRAF 1991 (CRS code 4556).
1086
     */
1087
    public const EPSG_RGAF09 = 'urn:ogc:def:crs:EPSG::5487';
1088
1089
    /**
1090
     * RGF93 v1
1091
     * Extent: France - onshore and offshore, mainland and Corsica (France métropolitaine including Corsica).
1092
     * Replaced by RGF93 v2 (CRS code 9775) from 2010-06-18.
1093
     */
1094
    public const EPSG_RGF93_V1 = 'urn:ogc:def:crs:EPSG::4964';
1095
1096
    /**
1097
     * RGF93 v2
1098
     * Extent: France - onshore and offshore, mainland and Corsica (France métropolitaine including Corsica).
1099
     * Replaces RGF93 v1 (CRS code 4964) from 2010-06-18. Replaced by RGF93 v2b (CRS code 9780) from 2021-01-05.
1100
     */
1101
    public const EPSG_RGF93_V2 = 'urn:ogc:def:crs:EPSG::9775';
1102
1103
    /**
1104
     * RGF93 v2b
1105
     * Extent: France - onshore and offshore, mainland and Corsica (France métropolitaine including Corsica).
1106
     * Replaces RGF93 v2 (CRS code 9775) from 2021-01-05.
1107
     */
1108
    public const EPSG_RGF93_V2B = 'urn:ogc:def:crs:EPSG::9780';
1109
1110
    /**
1111
     * RGFG95
1112
     * Extent: French Guiana - onshore and offshore.
1113
     */
1114
    public const EPSG_RGFG95 = 'urn:ogc:def:crs:EPSG::4966';
1115
1116
    /**
1117
     * RGM04
1118
     * Extent: Mayotte - onshore and offshore.
1119
     */
1120
    public const EPSG_RGM04 = 'urn:ogc:def:crs:EPSG::4468';
1121
1122
    /**
1123
     * RGNC15
1124
     * Extent: New Caledonia - onshore and offshore. Isle de Pins, Loyalty Islands, Huon Islands, Belep archipelago,
1125
     * Chesterfield Islands, and Walpole.
1126
     * Replaces RGNC91-93 (CRS code 4906).
1127
     */
1128
    public const EPSG_RGNC15 = 'urn:ogc:def:crs:EPSG::10308';
1129
1130
    /**
1131
     * RGNC91-93
1132
     * Extent: New Caledonia - onshore and offshore. Isle de Pins, Loyalty Islands, Huon Islands, Belep archipelago,
1133
     * Chesterfield Islands, and Walpole.
1134
     * Replaces older local geographic 2D systems IGN56 Lifou, IGN72 Grande Terre, ST87 Ouvea, IGN53 Mare, ST84 Ile des
1135
     * Pins, ST71 Belep and NEA74 Noumea (CRS codes 4633, 4641-44, 4662 and 4750). Replaced by RGNC15 (CRS code 10308).
1136
     */
1137
    public const EPSG_RGNC91_93 = 'urn:ogc:def:crs:EPSG::4906';
1138
1139
    /**
1140
     * RGPF
1141
     * Extent: French Polynesia - onshore and offshore. Includes Society archipelago, Tuamotu archipelago, Marquesas
1142
     * Islands, Gambier Islands and Austral Islands.
1143
     */
1144
    public const EPSG_RGPF = 'urn:ogc:def:crs:EPSG::4998';
1145
1146
    /**
1147
     * RGR92
1148
     * Extent: Reunion - onshore and offshore.
1149
     */
1150
    public const EPSG_RGR92 = 'urn:ogc:def:crs:EPSG::4970';
1151
1152
    /**
1153
     * RGRDC 2005
1154
     * Extent: The Democratic Republic of the Congo (Zaire) - south of a line through Bandundu, Seke and Pweto -
1155
     * onshore and offshore.
1156
     */
1157
    public const EPSG_RGRDC_2005 = 'urn:ogc:def:crs:EPSG::4039';
1158
1159
    /**
1160
     * RGSH2020
1161
     * Extent: Algeria - onshore and offshore.
1162
     */
1163
    public const EPSG_RGSH2020 = 'urn:ogc:def:crs:EPSG::10297';
1164
1165
    /**
1166
     * RGSPM06
1167
     * Extent: St Pierre and Miquelon - onshore and offshore.
1168
     */
1169
    public const EPSG_RGSPM06 = 'urn:ogc:def:crs:EPSG::4465';
1170
1171
    /**
1172
     * RGTAAF07
1173
     * Extent: French Southern Territories - onshore and offshore: Amsterdam and St Paul, Crozet, Europa and Kerguelen.
1174
     * Antarctica - Adelie Land coastal area.
1175
     */
1176
    public const EPSG_RGTAAF07 = 'urn:ogc:def:crs:EPSG::7071';
1177
1178
    /**
1179
     * RGWF96
1180
     * Extent: Wallis and Futuna - onshore and offshore - Uvea, Futuna, and Alofi.
1181
     */
1182
    public const EPSG_RGWF96 = 'urn:ogc:def:crs:EPSG::8898';
1183
1184
    /**
1185
     * RRAF 1991
1186
     * Extent: French Antilles onshore and offshore - Guadeloupe (including Grande Terre, Basse Terre, Marie Galante,
1187
     * Les Saintes, Iles de la Petite Terre, La Desirade); Martinique; St Barthélemy; St Martin.
1188
     * Replaces older local geographic 2D systems Fort Marigot and Sainte Anne CRS (codes 4621-22) in Guadeloupe and
1189
     * Fort Desaix (CRS code 4625) in Martinique. Replaced by RGAF09 (CRS code 5487).
1190
     */
1191
    public const EPSG_RRAF_1991 = 'urn:ogc:def:crs:EPSG::4556';
1192
1193
    /**
1194
     * RSAO13
1195
     * Extent: Angola - onshore and offshore.
1196
     */
1197
    public const EPSG_RSAO13 = 'urn:ogc:def:crs:EPSG::8697';
1198
1199
    /**
1200
     * RSRGD2000
1201
     * Extent: Antarctica - Ross Sea Region - nominally between 160°E and 150°W but includes buffer on eastern
1202
     * hemisphere margin to include Transantarctic Mountains.
1203
     */
1204
    public const EPSG_RSRGD2000 = 'urn:ogc:def:crs:EPSG::4884';
1205
1206
    /**
1207
     * SHGD2015
1208
     * Extent: St Helena, Ascension and Tristan da Cunha - St Helena Island - onshore.
1209
     */
1210
    public const EPSG_SHGD2015 = 'urn:ogc:def:crs:EPSG::7884';
1211
1212
    /**
1213
     * SIRGAS 1995
1214
     * Extent: South America - onshore and offshore. Ecuador (mainland and Galapagos) - onshore and offshore.
1215
     * Replaced by SIRGAS 2000 (CRS code 4988).
1216
     */
1217
    public const EPSG_SIRGAS_1995 = 'urn:ogc:def:crs:EPSG::4974';
1218
1219
    /**
1220
     * SIRGAS 2000
1221
     * Extent: Latin America - Central America and South America - onshore and offshore. Brazil - onshore and offshore.
1222
     * Replaces SIRGAS 1995 system (CRS code 4974) for South America; expands SIRGAS to Central America.
1223
     */
1224
    public const EPSG_SIRGAS_2000 = 'urn:ogc:def:crs:EPSG::4988';
1225
1226
    /**
1227
     * SIRGAS-CON DGF00P01
1228
     * Extent: Latin America - Central America and South America, onshore and offshore.
1229
     * Replaced by SIRGAS-CON DGF01P01 (CRS code 8917).
1230
     */
1231
    public const EPSG_SIRGAS_CON_DGF00P01 = 'urn:ogc:def:crs:EPSG::8915';
1232
1233
    /**
1234
     * SIRGAS-CON DGF01P01
1235
     * Extent: Latin America - Central America and South America, onshore and offshore.
1236
     * Replaces SIRGAS-CON DGF00P01 (CRS code 8915). Replaced by SIRGAS-CON DGF01P02 (CRS code 8919).
1237
     */
1238
    public const EPSG_SIRGAS_CON_DGF01P01 = 'urn:ogc:def:crs:EPSG::8917';
1239
1240
    /**
1241
     * SIRGAS-CON DGF01P02
1242
     * Extent: Latin America - Central America and South America, onshore and offshore.
1243
     * Replaces SIRGAS-CON DGF01P01 (CRS code 8917). Replaced by SIRGAS-CON DGF02P01 (CRS code 8921).
1244
     */
1245
    public const EPSG_SIRGAS_CON_DGF01P02 = 'urn:ogc:def:crs:EPSG::8919';
1246
1247
    /**
1248
     * SIRGAS-CON DGF02P01
1249
     * Extent: Latin America - Central America and South America, onshore and offshore.
1250
     * Replaces SIRGAS-CON DGF01P02 (CRS code 8919). Replaced by SIRGAS-CON DGF04P01 (CRS code 8923).
1251
     */
1252
    public const EPSG_SIRGAS_CON_DGF02P01 = 'urn:ogc:def:crs:EPSG::8921';
1253
1254
    /**
1255
     * SIRGAS-CON DGF04P01
1256
     * Extent: Latin America - Central America and South America, onshore and offshore.
1257
     * Replaces SIRGAS-CON DGF02P01 (CRS code 8921). Replaced by SIRGAS-CON DGF05P01 (CRS code 8925).
1258
     */
1259
    public const EPSG_SIRGAS_CON_DGF04P01 = 'urn:ogc:def:crs:EPSG::8923';
1260
1261
    /**
1262
     * SIRGAS-CON DGF05P01
1263
     * Extent: Latin America - Central America and South America, onshore and offshore.
1264
     * Replaces SIRGAS-CON DGF04P01 (CRS code 8923). Replaced by SIRGAS-CON DGF06P01 (CRS code 8927).
1265
     */
1266
    public const EPSG_SIRGAS_CON_DGF05P01 = 'urn:ogc:def:crs:EPSG::8925';
1267
1268
    /**
1269
     * SIRGAS-CON DGF06P01
1270
     * Extent: Latin America - Central America and South America, onshore and offshore.
1271
     * Replaces SIRGAS-CON DGF05P01 (CRS code 8925). Replaced by SIRGAS-CON DGF07P01 (CRS code 8929).
1272
     */
1273
    public const EPSG_SIRGAS_CON_DGF06P01 = 'urn:ogc:def:crs:EPSG::8927';
1274
1275
    /**
1276
     * SIRGAS-CON DGF07P01
1277
     * Extent: Latin America - Central America and South America, onshore and offshore.
1278
     * Replaces SIRGAS-CON DGF06P01 (CRS code 8927). Replaced by SIRGAS-CON DGF08P01 (CRS code 8931).
1279
     */
1280
    public const EPSG_SIRGAS_CON_DGF07P01 = 'urn:ogc:def:crs:EPSG::8929';
1281
1282
    /**
1283
     * SIRGAS-CON DGF08P01
1284
     * Extent: Latin America - Central America and South America, onshore and offshore.
1285
     * Replaces SIRGAS-CON DGF07P01 (CRS code 8929). Replaced by SIRGAS-CON SIR09P01 (CRS code 8933).
1286
     */
1287
    public const EPSG_SIRGAS_CON_DGF08P01 = 'urn:ogc:def:crs:EPSG::8931';
1288
1289
    /**
1290
     * SIRGAS-CON SIR09P01
1291
     * Extent: Latin America - Central America and South America, onshore and offshore.
1292
     * Replaces SIRGAS-CON DGF08P01 (CRS code 8931). Replaced by SIRGAS-CON SIR10P01 (CRS code 8935).
1293
     */
1294
    public const EPSG_SIRGAS_CON_SIR09P01 = 'urn:ogc:def:crs:EPSG::8933';
1295
1296
    /**
1297
     * SIRGAS-CON SIR10P01
1298
     * Extent: Latin America - Central America and South America, onshore and offshore.
1299
     * Replaces SIRGAS-CON SIR09P01 (CRS code 8933). Replaced by SIRGAS-CON SIR11P01 (CRS code 8937).
1300
     */
1301
    public const EPSG_SIRGAS_CON_SIR10P01 = 'urn:ogc:def:crs:EPSG::8935';
1302
1303
    /**
1304
     * SIRGAS-CON SIR11P01
1305
     * Extent: Latin America - Central America and South America, onshore and offshore.
1306
     * Replaces SIRGAS-CON SIR10P01 (CRS code 8935). Replaced by SIRGAS-CON SIR13P01 (CRS code 8939).
1307
     */
1308
    public const EPSG_SIRGAS_CON_SIR11P01 = 'urn:ogc:def:crs:EPSG::8937';
1309
1310
    /**
1311
     * SIRGAS-CON SIR13P01
1312
     * Extent: Latin America - Central America and South America, onshore and offshore.
1313
     * Replaces SIRGAS-CON SIR11P01 (CRS code 8937). Replaced by SIRGAS-CON SIR14P01 (CRS code 8941).
1314
     */
1315
    public const EPSG_SIRGAS_CON_SIR13P01 = 'urn:ogc:def:crs:EPSG::8939';
1316
1317
    /**
1318
     * SIRGAS-CON SIR14P01
1319
     * Extent: Latin America - Central America and South America, onshore and offshore.
1320
     * Replaces SIRGAS-CON SIR13P01 (CRS code 8939). Replaced by SIRGAS-CON SIR15P01 (CRS code 8943).
1321
     */
1322
    public const EPSG_SIRGAS_CON_SIR14P01 = 'urn:ogc:def:crs:EPSG::8941';
1323
1324
    /**
1325
     * SIRGAS-CON SIR15P01
1326
     * Extent: Latin America - Central America and South America, onshore and offshore.
1327
     * Replaces SIRGAS-CON SIR14P01 (CRS code 8941). Replaced by SIRGAS-CON SIR17P01 (CRS code 8945).
1328
     */
1329
    public const EPSG_SIRGAS_CON_SIR15P01 = 'urn:ogc:def:crs:EPSG::8943';
1330
1331
    /**
1332
     * SIRGAS-CON SIR17P01
1333
     * Extent: Latin America - Central America and South America, onshore and offshore.
1334
     * Replaces SIRGAS-CON SIR15P01 (CRS code 8943).
1335
     */
1336
    public const EPSG_SIRGAS_CON_SIR17P01 = 'urn:ogc:def:crs:EPSG::8945';
1337
1338
    /**
1339
     * SIRGAS-Chile 2002
1340
     * Extent: Chile - onshore and offshore. Includes Easter Island, Juan Fernandez Islands, San Felix, and Sala y
1341
     * Gomez.
1342
     * Densification of SIRGAS 2000 within Chile. Replaced by SIRGAS-Chile 2010 (CRS code 8947).
1343
     */
1344
    public const EPSG_SIRGAS_CHILE_2002 = 'urn:ogc:def:crs:EPSG::5358';
1345
1346
    /**
1347
     * SIRGAS-Chile 2010
1348
     * Extent: Chile - onshore and offshore. Includes Easter Island, Juan Fernandez Islands, San Felix, and Sala y
1349
     * Gomez.
1350
     * Densification of SIRGAS-CON within Chile at epoch 2010.00. Replaces SIRGAS-Chile 2002 (CRS code 5358), replaced
1351
     * by SIRGAS-Chile 2013 (CRS code 9146) due to significant tectonic deformation.
1352
     */
1353
    public const EPSG_SIRGAS_CHILE_2010 = 'urn:ogc:def:crs:EPSG::8947';
1354
1355
    /**
1356
     * SIRGAS-Chile 2013
1357
     * Extent: Chile - onshore and offshore. Includes Easter Island, Juan Fernandez Islands, San Felix, and Sala y
1358
     * Gomez.
1359
     * Densification of SIRGAS-CON within Chile at epoch 2013.00. Replaces SIRGAS-Chile 2010 (CRS code 8947), replaced
1360
     * by SIRGAS-Chile 2016 (CRS code 9151) due to significant tectonic deformation.
1361
     */
1362
    public const EPSG_SIRGAS_CHILE_2013 = 'urn:ogc:def:crs:EPSG::9146';
1363
1364
    /**
1365
     * SIRGAS-Chile 2016
1366
     * Extent: Chile - onshore and offshore. Includes Easter Island, Juan Fernandez Islands, San Felix, and Sala y
1367
     * Gomez.
1368
     * Densification of SIRGAS-CON within Chile at epoch 2016.00. Replaces SIRGAS-Chile 2013 (CRS code 9146), replaced
1369
     * by SIRGAS-Chile 2021 (CRS code 20039) due to significant tectonic deformation.
1370
     */
1371
    public const EPSG_SIRGAS_CHILE_2016 = 'urn:ogc:def:crs:EPSG::9151';
1372
1373
    /**
1374
     * SIRGAS-Chile 2021
1375
     * Extent: Chile - onshore and offshore. Includes Easter Island, Juan Fernandez Islands, San Felix, and Sala y
1376
     * Gomez.
1377
     * Densification of SIRGAS-CON within Chile at epoch 2021.00. Replaces SIRGAS-Chile 2016 (CRS code 9151) due to
1378
     * significant tectonic deformation.
1379
     */
1380
    public const EPSG_SIRGAS_CHILE_2021 = 'urn:ogc:def:crs:EPSG::20039';
1381
1382
    /**
1383
     * SIRGAS-ROU98
1384
     * Extent: Uruguay - onshore and offshore.
1385
     */
1386
    public const EPSG_SIRGAS_ROU98 = 'urn:ogc:def:crs:EPSG::5379';
1387
1388
    /**
1389
     * SIRGAS_ES2007.8
1390
     * Extent: El Salvador - onshore and offshore.
1391
     * Densification of SIRGAS 2000 within El Salvador.
1392
     */
1393
    public const EPSG_SIRGAS_ES2007_8 = 'urn:ogc:def:crs:EPSG::5391';
1394
1395
    /**
1396
     * SRB_ETRS89
1397
     * Extent: Serbia including Vojvodina.
1398
     * Replaces SREF98 (CRS code 4073).
1399
     */
1400
    public const EPSG_SRB_ETRS89 = 'urn:ogc:def:crs:EPSG::8683';
1401
1402
    /**
1403
     * SREF98
1404
     * Extent: Serbia including Vojvodina.
1405
     * Replaced by SRB_ETRS89 (STRS00) (CRS code 8683).
1406
     */
1407
    public const EPSG_SREF98 = 'urn:ogc:def:crs:EPSG::4073';
1408
1409
    /**
1410
     * SRGI2013
1411
     * Extent: Indonesia - onshore and offshore.
1412
     * Supports horizontal component of national horizontal control network (JKHN). Adopted 2013-10-11. Replaces DGN95
1413
     * and all older systems.
1414
     */
1415
    public const EPSG_SRGI2013 = 'urn:ogc:def:crs:EPSG::9468';
1416
1417
    /**
1418
     * SWEREF99
1419
     * Extent: Sweden - onshore and offshore.
1420
     */
1421
    public const EPSG_SWEREF99 = 'urn:ogc:def:crs:EPSG::4976';
1422
1423
    /**
1424
     * Slovenia 1996
1425
     * Extent: Slovenia - onshore and offshore.
1426
     */
1427
    public const EPSG_SLOVENIA_1996 = 'urn:ogc:def:crs:EPSG::4882';
1428
1429
    /**
1430
     * St. Helena Tritan
1431
     * Extent: St Helena, Ascension and Tristan da Cunha - St Helena Island - onshore.
1432
     * Replaced by SHGD2015 (CRS code 7884) from 2015.
1433
     */
1434
    public const EPSG_ST_HELENA_TRITAN = 'urn:ogc:def:crs:EPSG::7879';
1435
1436
    /**
1437
     * TGD2005
1438
     * Extent: Tonga - onshore and offshore.
1439
     */
1440
    public const EPSG_TGD2005 = 'urn:ogc:def:crs:EPSG::5884';
1441
1442
    /**
1443
     * TUREF
1444
     * Extent: Türkiye (Turkey) - onshore and offshore.
1445
     */
1446
    public const EPSG_TUREF = 'urn:ogc:def:crs:EPSG::5250';
1447
1448
    /**
1449
     * TWD97
1450
     * Extent: Taiwan, Republic of China - onshore and offshore - Taiwan Island, Penghu (Pescadores) Islands.
1451
     */
1452
    public const EPSG_TWD97 = 'urn:ogc:def:crs:EPSG::3822';
1453
1454
    /**
1455
     * UCS-2000
1456
     * Extent: Ukraine - onshore and offshore.
1457
     * Adopted 1st January 2007. Defined through transformation code 7817 at epoch 2005.0.
1458
     */
1459
    public const EPSG_UCS_2000 = 'urn:ogc:def:crs:EPSG::5558';
1460
1461
    /**
1462
     * WGS 66
1463
     * Extent: World.
1464
     * Replaced by WGS 72.
1465
     */
1466
    public const EPSG_WGS_66 = 'urn:ogc:def:crs:EPSG::4890';
1467
1468
    /**
1469
     * WGS 72
1470
     * Extent: World.
1471
     * Replaced by WGS 84.
1472
     */
1473
    public const EPSG_WGS_72 = 'urn:ogc:def:crs:EPSG::4984';
1474
1475
    /**
1476
     * WGS 72BE
1477
     * Extent: World.
1478
     * Broadcast ephemeris. Replaced by WGS 84.
1479
     */
1480
    public const EPSG_WGS_72BE = 'urn:ogc:def:crs:EPSG::4986';
1481
1482
    /**
1483
     * WGS 84
1484
     * Extent: World.
1485
     */
1486
    public const EPSG_WGS_84 = 'urn:ogc:def:crs:EPSG::4978';
1487
1488
    /**
1489
     * WGS 84 (G1150)
1490
     * Extent: World.
1491
     * Replaces WGS 84 (G873) (CRS code 7658) from 2002-01-20. Replaced by WGS 84 (G1674) (CRS code 7662) from
1492
     * 2012-02-08.
1493
     */
1494
    public const EPSG_WGS_84_G1150 = 'urn:ogc:def:crs:EPSG::7660';
1495
1496
    /**
1497
     * WGS 84 (G1674)
1498
     * Extent: World.
1499
     * Replaces WGS 84 (G1150) (CRS code 7660) from 2012-02-08. Replaced by WGS 84 (G1762) (CRS code 7664) from
1500
     * 2013-10-16.
1501
     */
1502
    public const EPSG_WGS_84_G1674 = 'urn:ogc:def:crs:EPSG::7662';
1503
1504
    /**
1505
     * WGS 84 (G1762)
1506
     * Extent: World.
1507
     * Replaces WGS 84 (G1674) (CRS code 7662) from 2013-10-16. Redesignated WGS 84 (G1762') in 2015 after changes to 7
1508
     * NGA tracking station locations and antennas. Replaced by WGS 84 (G2139) (CRS code 9753) from 2021-01-03.
1509
     */
1510
    public const EPSG_WGS_84_G1762 = 'urn:ogc:def:crs:EPSG::7664';
1511
1512
    /**
1513
     * WGS 84 (G2139)
1514
     * Extent: World.
1515
     * Replaces WGS 84 (G1762) (CRS code 7664) from 2021-01-03.
1516
     */
1517
    public const EPSG_WGS_84_G2139 = 'urn:ogc:def:crs:EPSG::9753';
1518
1519
    /**
1520
     * WGS 84 (G730)
1521
     * Extent: World.
1522
     * Replaces WGS 84 (Transit) (CRS code 7815) from 1994-06-29. Replaced by WGS84 (G873) (CRS code 7658) from
1523
     * 1997-01-29.
1524
     */
1525
    public const EPSG_WGS_84_G730 = 'urn:ogc:def:crs:EPSG::7656';
1526
1527
    /**
1528
     * WGS 84 (G873)
1529
     * Extent: World.
1530
     * Replaces WGS 84 (G730) (CRS code 7656) from 1997-01-29. Replaced by WGS 84 (G1150) (CRS code 7660) from
1531
     * 2002-01-20.
1532
     */
1533
    public const EPSG_WGS_84_G873 = 'urn:ogc:def:crs:EPSG::7658';
1534
1535
    /**
1536
     * WGS 84 (Transit)
1537
     * Extent: World.
1538
     * Replaced by WGS84 (G730) (CRS code 7656) from 1994-06-29.
1539
     */
1540
    public const EPSG_WGS_84_TRANSIT = 'urn:ogc:def:crs:EPSG::7815';
1541
1542 538
    /**
1543
     * Yemen NGN96
1544
     * Extent: Yemen - onshore and offshore.
1545
     */
1546
    public const EPSG_YEMEN_NGN96 = 'urn:ogc:def:crs:EPSG::4980';
1547
1548
    /**
1549 538
     * @deprecated use EPSG_LKS_92 instead
1550 538
     */
1551 538
    public const EPSG_LKS92 = 'urn:ogc:def:crs:EPSG::4948';
1552 538
1553 538
    /**
1554
     * @var array<string, self>
1555 538
     */
1556
    private static array $cachedObjects = [];
1557
1558 1052
    public function __construct(
1559
        string $srid,
1560 1052
        CoordinateSystem $coordinateSystem,
1561 9
        Datum $datum,
1562
        BoundingArea $boundingArea,
1563
        string $name = ''
1564 1043
    ) {
1565 538
        $this->srid = $srid;
1566
        $this->coordinateSystem = $coordinateSystem;
1567 538
        $this->datum = $datum;
1568
        $this->boundingArea = $boundingArea;
1569 538
        $this->name = $name;
1570 538
1571 538
        assert(count($coordinateSystem->getAxes()) === 3);
1572 538
    }
1573 538
1574 538
    public static function fromSRID(string $srid): self
1575 538
    {
1576
        if (!isset(static::$sridData[$srid])) {
1577
            throw new UnknownCoordinateReferenceSystemException($srid);
1578 1043
        }
1579
1580
        if (!isset(self::$cachedObjects[$srid])) {
1581 719
            $data = static::$sridData[$srid];
1582
1583 719
            $extent = $data['extent'] instanceof BoundingArea ? $data['extent'] : BoundingArea::createFromExtentCodes($data['extent']);
1584 9
1585 9
            self::$cachedObjects[$srid] = new self(
1586
                $srid,
1587
                Cartesian::fromSRID($data['coordinate_system']),
1588
                Datum::fromSRID($data['datum']),
1589 719
                $extent,
1590
                $data['name']
1591
            );
1592 9
        }
1593
1594 9
        return self::$cachedObjects[$srid];
1595 9
    }
1596 9
1597
    /**
1598
     * @return array<string, string>
1599
     */
1600
    public static function getSupportedSRIDs(): array
1601
    {
1602
        return array_map(fn (array $data) => $data['name'], static::$sridData);
1603
    }
1604
1605
    /**
1606
     * @return array<string, array{name: string, extent_description: string, help: string}>
1607
     */
1608
    public static function getSupportedSRIDsWithHelp(): array
1609
    {
1610
        return array_map(fn (array $data) => ['name' => $data['name'], 'extent_description' => $data['extent_description'], 'help' => $data['help']], static::$sridData);
1611
    }
1612
1613
    public static function registerCustomCRS(string $srid, string $name, string $coordinateSystemSrid, string $datumSrid, BoundingArea $extent, string $help = ''): void
1614
    {
1615
        self::$sridData[$srid] = ['name' => $name, 'coordinate_system' => $coordinateSystemSrid, 'datum' => $datumSrid, 'extent' => $extent, 'extent_description' => '', 'help' => $help];
1616
    }
1617
}
1618