@math.gl/crs 4.2.0-alpha.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,613 @@
1
+ // math.gl
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright (c) vis.gl contributors
4
+
5
+ // Generated from PROJJSON v0.7. Do not edit by hand.
6
+ // Source: https://proj.org/schemas/v0.7/projjson.schema.json
7
+
8
+ /**
9
+ * Schema for PROJJSON (v0.7)
10
+ */
11
+ export type PROJJSONCRS =
12
+ | BoundCrs
13
+ | CompoundCrs
14
+ | DerivedEngineeringCrs
15
+ | DerivedGeodeticCrs
16
+ | DerivedParametricCrs
17
+ | DerivedProjectedCrs
18
+ | DerivedTemporalCrs
19
+ | DerivedVerticalCrs
20
+ | EngineeringCrs
21
+ | GeodeticCrs
22
+ | ParametricCrs
23
+ | ProjectedCrs
24
+ | TemporalCrs
25
+ | VerticalCrs;
26
+ export type BoundCrs = ObjectUsage & {
27
+ $schema?: string;
28
+ type?: 'BoundCRS';
29
+ name?: string;
30
+ source_crs: Crs;
31
+ target_crs: Crs;
32
+ transformation: AbridgedTransformation;
33
+ scope?: unknown;
34
+ area?: unknown;
35
+ bbox?: unknown;
36
+ vertical_extent?: unknown;
37
+ temporal_extent?: unknown;
38
+ usages?: unknown;
39
+ remarks?: unknown;
40
+ id?: unknown;
41
+ ids?: unknown;
42
+ };
43
+ export type ObjectUsage = IdIdsMutuallyExclusive;
44
+ export type Crs =
45
+ | BoundCrs
46
+ | CompoundCrs
47
+ | DerivedEngineeringCrs
48
+ | DerivedGeodeticCrs
49
+ | DerivedParametricCrs
50
+ | DerivedProjectedCrs
51
+ | DerivedTemporalCrs
52
+ | DerivedVerticalCrs
53
+ | EngineeringCrs
54
+ | GeodeticCrs
55
+ | ParametricCrs
56
+ | ProjectedCrs
57
+ | TemporalCrs
58
+ | VerticalCrs;
59
+ export type CompoundCrs = ObjectUsage & {
60
+ type?: 'CompoundCRS';
61
+ name: string;
62
+ components: Crs[];
63
+ $schema?: unknown;
64
+ scope?: unknown;
65
+ area?: unknown;
66
+ bbox?: unknown;
67
+ vertical_extent?: unknown;
68
+ temporal_extent?: unknown;
69
+ usages?: unknown;
70
+ remarks?: unknown;
71
+ id?: unknown;
72
+ ids?: unknown;
73
+ };
74
+ export type DerivedEngineeringCrs = ObjectUsage & {
75
+ type?: 'DerivedEngineeringCRS';
76
+ name: string;
77
+ base_crs: EngineeringCrs;
78
+ conversion: Conversion;
79
+ coordinate_system: CoordinateSystem;
80
+ $schema?: unknown;
81
+ scope?: unknown;
82
+ area?: unknown;
83
+ bbox?: unknown;
84
+ vertical_extent?: unknown;
85
+ temporal_extent?: unknown;
86
+ usages?: unknown;
87
+ remarks?: unknown;
88
+ id?: unknown;
89
+ ids?: unknown;
90
+ };
91
+ export type EngineeringCrs = ObjectUsage & {
92
+ type?: 'EngineeringCRS';
93
+ name: string;
94
+ datum: EngineeringDatum;
95
+ coordinate_system?: CoordinateSystem;
96
+ $schema?: unknown;
97
+ scope?: unknown;
98
+ area?: unknown;
99
+ bbox?: unknown;
100
+ vertical_extent?: unknown;
101
+ temporal_extent?: unknown;
102
+ usages?: unknown;
103
+ remarks?: unknown;
104
+ id?: unknown;
105
+ ids?: unknown;
106
+ };
107
+ export type EngineeringDatum = ObjectUsage & {
108
+ type?: 'EngineeringDatum';
109
+ name: string;
110
+ anchor?: string;
111
+ $schema?: unknown;
112
+ scope?: unknown;
113
+ area?: unknown;
114
+ bbox?: unknown;
115
+ vertical_extent?: unknown;
116
+ temporal_extent?: unknown;
117
+ usages?: unknown;
118
+ remarks?: unknown;
119
+ id?: unknown;
120
+ ids?: unknown;
121
+ };
122
+ export type CoordinateSystem = IdIdsMutuallyExclusive & {
123
+ $schema?: string;
124
+ type?: 'CoordinateSystem';
125
+ name?: string;
126
+ subtype:
127
+ | 'Cartesian'
128
+ | 'spherical'
129
+ | 'ellipsoidal'
130
+ | 'vertical'
131
+ | 'ordinal'
132
+ | 'parametric'
133
+ | 'affine'
134
+ | 'TemporalDateTime'
135
+ | 'TemporalCount'
136
+ | 'TemporalMeasure';
137
+ axis: Axis[];
138
+ id?: Id;
139
+ ids?: Ids;
140
+ };
141
+ export type Axis = IdIdsMutuallyExclusive & {
142
+ $schema?: string;
143
+ type?: 'Axis';
144
+ name: string;
145
+ abbreviation: string;
146
+ direction:
147
+ | 'north'
148
+ | 'northNorthEast'
149
+ | 'northEast'
150
+ | 'eastNorthEast'
151
+ | 'east'
152
+ | 'eastSouthEast'
153
+ | 'southEast'
154
+ | 'southSouthEast'
155
+ | 'south'
156
+ | 'southSouthWest'
157
+ | 'southWest'
158
+ | 'westSouthWest'
159
+ | 'west'
160
+ | 'westNorthWest'
161
+ | 'northWest'
162
+ | 'northNorthWest'
163
+ | 'up'
164
+ | 'down'
165
+ | 'geocentricX'
166
+ | 'geocentricY'
167
+ | 'geocentricZ'
168
+ | 'columnPositive'
169
+ | 'columnNegative'
170
+ | 'rowPositive'
171
+ | 'rowNegative'
172
+ | 'displayRight'
173
+ | 'displayLeft'
174
+ | 'displayUp'
175
+ | 'displayDown'
176
+ | 'forward'
177
+ | 'aft'
178
+ | 'port'
179
+ | 'starboard'
180
+ | 'clockwise'
181
+ | 'counterClockwise'
182
+ | 'towards'
183
+ | 'awayFrom'
184
+ | 'future'
185
+ | 'past'
186
+ | 'unspecified';
187
+ meridian?: Meridian;
188
+ unit?: Unit;
189
+ minimum_value?: number;
190
+ maximum_value?: number;
191
+ range_meaning?: 'exact' | 'wraparound';
192
+ id?: Id;
193
+ ids?: Ids;
194
+ };
195
+ export type Meridian = IdIdsMutuallyExclusive & {
196
+ $schema?: string;
197
+ type?: 'Meridian';
198
+ longitude: ValueInDegreeOrValueAndUnit;
199
+ id?: Id;
200
+ ids?: Ids;
201
+ };
202
+ export type ValueInDegreeOrValueAndUnit = number | ValueAndUnit;
203
+ export type Unit = ('metre' | 'degree' | 'unity') | IdIdsMutuallyExclusive;
204
+ export type Ids = Id[];
205
+ export type Conversion = IdIdsMutuallyExclusive & {
206
+ $schema?: string;
207
+ type?: 'Conversion';
208
+ name: string;
209
+ method: Method;
210
+ parameters?: ParameterValue[];
211
+ id?: Id;
212
+ ids?: Ids;
213
+ };
214
+ export type Method = IdIdsMutuallyExclusive & {
215
+ $schema?: string;
216
+ type?: 'OperationMethod';
217
+ name: string;
218
+ id?: Id;
219
+ ids?: Ids;
220
+ };
221
+ export type ParameterValue = IdIdsMutuallyExclusive & {
222
+ $schema?: string;
223
+ type?: 'ParameterValue';
224
+ name: string;
225
+ value: string | number;
226
+ unit?: Unit;
227
+ id?: Id;
228
+ ids?: Ids;
229
+ };
230
+ export type DerivedGeodeticCrs = ObjectUsage & {
231
+ type?: 'DerivedGeodeticCRS' | 'DerivedGeographicCRS';
232
+ name: string;
233
+ base_crs: GeodeticCrs;
234
+ conversion: Conversion;
235
+ coordinate_system: CoordinateSystem;
236
+ $schema?: unknown;
237
+ scope?: unknown;
238
+ area?: unknown;
239
+ bbox?: unknown;
240
+ vertical_extent?: unknown;
241
+ temporal_extent?: unknown;
242
+ usages?: unknown;
243
+ remarks?: unknown;
244
+ id?: unknown;
245
+ ids?: unknown;
246
+ };
247
+ /**
248
+ * One and only one of datum and datum_ensemble must be provided
249
+ */
250
+ export type GeodeticCrs = ObjectUsage &
251
+ OneAndOnlyOneOfDatumOrDatumEnsemble & {
252
+ type?: 'GeodeticCRS' | 'GeographicCRS';
253
+ name: string;
254
+ datum?: GeodeticReferenceFrame | DynamicGeodeticReferenceFrame;
255
+ datum_ensemble?: DatumEnsemble;
256
+ coordinate_system?: CoordinateSystem;
257
+ deformation_models?: DeformationModel[];
258
+ $schema?: unknown;
259
+ scope?: unknown;
260
+ area?: unknown;
261
+ bbox?: unknown;
262
+ vertical_extent?: unknown;
263
+ temporal_extent?: unknown;
264
+ usages?: unknown;
265
+ remarks?: unknown;
266
+ id?: unknown;
267
+ ids?: unknown;
268
+ };
269
+ export type OneAndOnlyOneOfDatumOrDatumEnsemble = {
270
+ [k: string]: unknown;
271
+ };
272
+ export type GeodeticReferenceFrame = ObjectUsage & {
273
+ type?: 'GeodeticReferenceFrame';
274
+ name: string;
275
+ anchor?: string;
276
+ anchor_epoch?: number;
277
+ ellipsoid: Ellipsoid;
278
+ prime_meridian?: PrimeMeridian;
279
+ $schema?: unknown;
280
+ scope?: unknown;
281
+ area?: unknown;
282
+ bbox?: unknown;
283
+ vertical_extent?: unknown;
284
+ temporal_extent?: unknown;
285
+ usages?: unknown;
286
+ remarks?: unknown;
287
+ id?: unknown;
288
+ ids?: unknown;
289
+ };
290
+ export type Ellipsoid = IdIdsMutuallyExclusive & Ellipsoid1;
291
+ export type Ellipsoid1 =
292
+ | {
293
+ $schema?: string;
294
+ type?: 'Ellipsoid';
295
+ name: string;
296
+ semi_major_axis: ValueInMetreOrValueAndUnit;
297
+ semi_minor_axis: ValueInMetreOrValueAndUnit;
298
+ id?: Id;
299
+ ids?: Ids;
300
+ }
301
+ | {
302
+ $schema?: string;
303
+ type?: 'Ellipsoid';
304
+ name: string;
305
+ semi_major_axis: ValueInMetreOrValueAndUnit;
306
+ inverse_flattening: number;
307
+ id?: Id;
308
+ ids?: Ids;
309
+ }
310
+ | {
311
+ $schema?: string;
312
+ type?: 'Ellipsoid';
313
+ name: string;
314
+ radius: ValueInMetreOrValueAndUnit;
315
+ id?: Id;
316
+ ids?: Ids;
317
+ };
318
+ export type ValueInMetreOrValueAndUnit = number | ValueAndUnit;
319
+ export type PrimeMeridian = IdIdsMutuallyExclusive & {
320
+ $schema?: string;
321
+ type?: 'PrimeMeridian';
322
+ name: string;
323
+ longitude?: ValueInDegreeOrValueAndUnit;
324
+ id?: Id;
325
+ ids?: Ids;
326
+ };
327
+ export type DynamicGeodeticReferenceFrame = ObjectUsage & {
328
+ type?: 'DynamicGeodeticReferenceFrame';
329
+ name: unknown;
330
+ anchor?: unknown;
331
+ anchor_epoch?: unknown;
332
+ ellipsoid: unknown;
333
+ prime_meridian?: unknown;
334
+ frame_reference_epoch: number;
335
+ $schema?: unknown;
336
+ scope?: unknown;
337
+ area?: unknown;
338
+ bbox?: unknown;
339
+ vertical_extent?: unknown;
340
+ temporal_extent?: unknown;
341
+ usages?: unknown;
342
+ remarks?: unknown;
343
+ id?: unknown;
344
+ ids?: unknown;
345
+ };
346
+ export type DatumEnsemble = IdIdsMutuallyExclusive & {
347
+ $schema?: string;
348
+ type?: 'DatumEnsemble';
349
+ name: string;
350
+ members: IdIdsMutuallyExclusive[];
351
+ ellipsoid?: Ellipsoid;
352
+ accuracy: string;
353
+ id?: Id;
354
+ ids?: Ids;
355
+ };
356
+ export type DerivedParametricCrs = ObjectUsage & {
357
+ type?: 'DerivedParametricCRS';
358
+ name: string;
359
+ base_crs: ParametricCrs;
360
+ conversion: Conversion;
361
+ coordinate_system: CoordinateSystem;
362
+ $schema?: unknown;
363
+ scope?: unknown;
364
+ area?: unknown;
365
+ bbox?: unknown;
366
+ vertical_extent?: unknown;
367
+ temporal_extent?: unknown;
368
+ usages?: unknown;
369
+ remarks?: unknown;
370
+ id?: unknown;
371
+ ids?: unknown;
372
+ };
373
+ export type ParametricCrs = ObjectUsage & {
374
+ type?: 'ParametricCRS';
375
+ name: string;
376
+ datum: ParametricDatum;
377
+ coordinate_system?: CoordinateSystem;
378
+ $schema?: unknown;
379
+ scope?: unknown;
380
+ area?: unknown;
381
+ bbox?: unknown;
382
+ vertical_extent?: unknown;
383
+ temporal_extent?: unknown;
384
+ usages?: unknown;
385
+ remarks?: unknown;
386
+ id?: unknown;
387
+ ids?: unknown;
388
+ };
389
+ export type ParametricDatum = ObjectUsage & {
390
+ type?: 'ParametricDatum';
391
+ name: string;
392
+ anchor?: string;
393
+ $schema?: unknown;
394
+ scope?: unknown;
395
+ area?: unknown;
396
+ bbox?: unknown;
397
+ vertical_extent?: unknown;
398
+ temporal_extent?: unknown;
399
+ usages?: unknown;
400
+ remarks?: unknown;
401
+ id?: unknown;
402
+ ids?: unknown;
403
+ };
404
+ export type DerivedProjectedCrs = ObjectUsage & {
405
+ type?: 'DerivedProjectedCRS';
406
+ name: string;
407
+ base_crs: ProjectedCrs;
408
+ conversion: Conversion;
409
+ coordinate_system: CoordinateSystem;
410
+ $schema?: unknown;
411
+ scope?: unknown;
412
+ area?: unknown;
413
+ bbox?: unknown;
414
+ vertical_extent?: unknown;
415
+ temporal_extent?: unknown;
416
+ usages?: unknown;
417
+ remarks?: unknown;
418
+ id?: unknown;
419
+ ids?: unknown;
420
+ };
421
+ export type ProjectedCrs = ObjectUsage & {
422
+ type?: 'ProjectedCRS';
423
+ name: string;
424
+ base_crs: GeodeticCrs;
425
+ conversion: Conversion;
426
+ coordinate_system: CoordinateSystem;
427
+ $schema?: unknown;
428
+ scope?: unknown;
429
+ area?: unknown;
430
+ bbox?: unknown;
431
+ vertical_extent?: unknown;
432
+ temporal_extent?: unknown;
433
+ usages?: unknown;
434
+ remarks?: unknown;
435
+ id?: unknown;
436
+ ids?: unknown;
437
+ };
438
+ export type DerivedTemporalCrs = ObjectUsage & {
439
+ type?: 'DerivedTemporalCRS';
440
+ name: string;
441
+ base_crs: TemporalCrs;
442
+ conversion: Conversion;
443
+ coordinate_system: CoordinateSystem;
444
+ $schema?: unknown;
445
+ scope?: unknown;
446
+ area?: unknown;
447
+ bbox?: unknown;
448
+ vertical_extent?: unknown;
449
+ temporal_extent?: unknown;
450
+ usages?: unknown;
451
+ remarks?: unknown;
452
+ id?: unknown;
453
+ ids?: unknown;
454
+ };
455
+ export type TemporalCrs = ObjectUsage & {
456
+ type?: 'TemporalCRS';
457
+ name: string;
458
+ datum: TemporalDatum;
459
+ coordinate_system?: CoordinateSystem;
460
+ $schema?: unknown;
461
+ scope?: unknown;
462
+ area?: unknown;
463
+ bbox?: unknown;
464
+ vertical_extent?: unknown;
465
+ temporal_extent?: unknown;
466
+ usages?: unknown;
467
+ remarks?: unknown;
468
+ id?: unknown;
469
+ ids?: unknown;
470
+ };
471
+ export type TemporalDatum = ObjectUsage & {
472
+ type?: 'TemporalDatum';
473
+ name: string;
474
+ calendar: string;
475
+ time_origin?: string;
476
+ $schema?: unknown;
477
+ scope?: unknown;
478
+ area?: unknown;
479
+ bbox?: unknown;
480
+ vertical_extent?: unknown;
481
+ temporal_extent?: unknown;
482
+ usages?: unknown;
483
+ remarks?: unknown;
484
+ id?: unknown;
485
+ ids?: unknown;
486
+ };
487
+ export type DerivedVerticalCrs = ObjectUsage & {
488
+ type?: 'DerivedVerticalCRS';
489
+ name: string;
490
+ base_crs: VerticalCrs;
491
+ conversion: Conversion;
492
+ coordinate_system: CoordinateSystem;
493
+ $schema?: unknown;
494
+ scope?: unknown;
495
+ area?: unknown;
496
+ bbox?: unknown;
497
+ vertical_extent?: unknown;
498
+ temporal_extent?: unknown;
499
+ usages?: unknown;
500
+ remarks?: unknown;
501
+ id?: unknown;
502
+ ids?: unknown;
503
+ };
504
+ /**
505
+ * One and only one of datum and datum_ensemble must be provided
506
+ */
507
+ export type VerticalCrs = ObjectUsage &
508
+ OneAndOnlyOneOfDatumOrDatumEnsemble & {
509
+ [k: string]: unknown;
510
+ } & {
511
+ type?: 'VerticalCRS';
512
+ name: string;
513
+ datum?: VerticalReferenceFrame | DynamicVerticalReferenceFrame;
514
+ datum_ensemble?: DatumEnsemble;
515
+ coordinate_system?: CoordinateSystem;
516
+ geoid_model?: GeoidModel;
517
+ geoid_models?: GeoidModel[];
518
+ deformation_models?: DeformationModel[];
519
+ $schema?: unknown;
520
+ scope?: unknown;
521
+ area?: unknown;
522
+ bbox?: unknown;
523
+ vertical_extent?: unknown;
524
+ temporal_extent?: unknown;
525
+ usages?: unknown;
526
+ remarks?: unknown;
527
+ id?: unknown;
528
+ ids?: unknown;
529
+ };
530
+ export type VerticalReferenceFrame = ObjectUsage & {
531
+ type?: 'VerticalReferenceFrame';
532
+ name: string;
533
+ anchor?: string;
534
+ anchor_epoch?: number;
535
+ $schema?: unknown;
536
+ scope?: unknown;
537
+ area?: unknown;
538
+ bbox?: unknown;
539
+ vertical_extent?: unknown;
540
+ temporal_extent?: unknown;
541
+ usages?: unknown;
542
+ remarks?: unknown;
543
+ id?: unknown;
544
+ ids?: unknown;
545
+ };
546
+ export type DynamicVerticalReferenceFrame = ObjectUsage & {
547
+ type?: 'DynamicVerticalReferenceFrame';
548
+ name: unknown;
549
+ anchor?: unknown;
550
+ anchor_epoch?: unknown;
551
+ frame_reference_epoch: number;
552
+ $schema?: unknown;
553
+ scope?: unknown;
554
+ area?: unknown;
555
+ bbox?: unknown;
556
+ vertical_extent?: unknown;
557
+ temporal_extent?: unknown;
558
+ usages?: unknown;
559
+ remarks?: unknown;
560
+ id?: unknown;
561
+ ids?: unknown;
562
+ };
563
+ export type AbridgedTransformation = IdIdsMutuallyExclusive & {
564
+ $schema?: string;
565
+ type?: 'AbridgedTransformation';
566
+ name: string;
567
+ source_crs?:
568
+ | BoundCrs
569
+ | CompoundCrs
570
+ | DerivedEngineeringCrs
571
+ | DerivedGeodeticCrs
572
+ | DerivedParametricCrs
573
+ | DerivedProjectedCrs
574
+ | DerivedTemporalCrs
575
+ | DerivedVerticalCrs
576
+ | EngineeringCrs
577
+ | GeodeticCrs
578
+ | ParametricCrs
579
+ | ProjectedCrs
580
+ | TemporalCrs
581
+ | VerticalCrs;
582
+ method: Method;
583
+ parameters: ParameterValue[];
584
+ id?: Id;
585
+ ids?: Ids;
586
+ };
587
+
588
+ export interface IdIdsMutuallyExclusive {
589
+ [k: string]: unknown;
590
+ }
591
+ export interface ValueAndUnit {
592
+ value: number;
593
+ unit: Unit;
594
+ }
595
+ export interface Id {
596
+ authority: string;
597
+ code: string | number;
598
+ version?: string | number;
599
+ authority_citation?: string;
600
+ uri?: string;
601
+ }
602
+ /**
603
+ * Association to a PointMotionOperation
604
+ */
605
+ export interface DeformationModel {
606
+ name: string;
607
+ id?: Id;
608
+ }
609
+ export interface GeoidModel {
610
+ name: string;
611
+ interpolation_crs?: Crs;
612
+ id?: Id;
613
+ }