Passed
Push — master ( 2a4317...e180e7 )
by Doug
47:34
created

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

If this is a false-positive, you can also ignore this issue in your code via the ignore-type  annotation

1661
                /** @scrutinizer ignore-type */ $baseCRS,
Loading history...
1662 564
            );
1663
        }
1664
1665 1812
        return self::$cachedObjects[$srid];
1666
    }
1667
1668 1601
    public static function getSupportedSRIDs(): array
1669
    {
1670 1601
        if (!self::$supportedCache) {
0 ignored issues
show
Bug Best Practice introduced by
The expression self::supportedCache of type array is implicitly converted to a boolean; are you sure this is intended? If so, consider using empty($expr) instead to make it clear that you intend to check for an array without elements.

This check marks implicit conversions of arrays to boolean values in a comparison. While in PHP an empty array is considered to be equal (but not identical) to false, this is not always apparent.

Consider making the comparison explicit by using empty(..) or ! empty(...) instead.

Loading history...
1671 9
            foreach (static::$sridData as $srid => $data) {
1672 9
                self::$supportedCache[$srid] = $data['name'];
1673
            }
1674
        }
1675
1676 1601
        return self::$supportedCache;
1677
    }
1678
1679 63
    public static function registerCustomCRS(string $srid, string $name, string $coordinateSystemSrid, string $datumSrid, BoundingArea $extent, ?string $baseCRSSrid = null): void
1680
    {
1681 63
        self::$sridData[$srid] = ['name' => $name, 'coordinate_system' => $coordinateSystemSrid, 'datum' => $datumSrid, 'extent' => $extent, 'base_crs' => $baseCRSSrid];
1682 63
        self::getSupportedSRIDs(); // init cache if not already
1683 63
        self::$supportedCache[$srid] = $name; // update cache
1684
    }
1685
}
1686