@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,509 @@
1
+ /**
2
+ * Schema for PROJJSON (v0.7)
3
+ */
4
+ export type PROJJSONCRS = BoundCrs | CompoundCrs | DerivedEngineeringCrs | DerivedGeodeticCrs | DerivedParametricCrs | DerivedProjectedCrs | DerivedTemporalCrs | DerivedVerticalCrs | EngineeringCrs | GeodeticCrs | ParametricCrs | ProjectedCrs | TemporalCrs | VerticalCrs;
5
+ export type BoundCrs = ObjectUsage & {
6
+ $schema?: string;
7
+ type?: 'BoundCRS';
8
+ name?: string;
9
+ source_crs: Crs;
10
+ target_crs: Crs;
11
+ transformation: AbridgedTransformation;
12
+ scope?: unknown;
13
+ area?: unknown;
14
+ bbox?: unknown;
15
+ vertical_extent?: unknown;
16
+ temporal_extent?: unknown;
17
+ usages?: unknown;
18
+ remarks?: unknown;
19
+ id?: unknown;
20
+ ids?: unknown;
21
+ };
22
+ export type ObjectUsage = IdIdsMutuallyExclusive;
23
+ export type Crs = BoundCrs | CompoundCrs | DerivedEngineeringCrs | DerivedGeodeticCrs | DerivedParametricCrs | DerivedProjectedCrs | DerivedTemporalCrs | DerivedVerticalCrs | EngineeringCrs | GeodeticCrs | ParametricCrs | ProjectedCrs | TemporalCrs | VerticalCrs;
24
+ export type CompoundCrs = ObjectUsage & {
25
+ type?: 'CompoundCRS';
26
+ name: string;
27
+ components: Crs[];
28
+ $schema?: unknown;
29
+ scope?: unknown;
30
+ area?: unknown;
31
+ bbox?: unknown;
32
+ vertical_extent?: unknown;
33
+ temporal_extent?: unknown;
34
+ usages?: unknown;
35
+ remarks?: unknown;
36
+ id?: unknown;
37
+ ids?: unknown;
38
+ };
39
+ export type DerivedEngineeringCrs = ObjectUsage & {
40
+ type?: 'DerivedEngineeringCRS';
41
+ name: string;
42
+ base_crs: EngineeringCrs;
43
+ conversion: Conversion;
44
+ coordinate_system: CoordinateSystem;
45
+ $schema?: unknown;
46
+ scope?: unknown;
47
+ area?: unknown;
48
+ bbox?: unknown;
49
+ vertical_extent?: unknown;
50
+ temporal_extent?: unknown;
51
+ usages?: unknown;
52
+ remarks?: unknown;
53
+ id?: unknown;
54
+ ids?: unknown;
55
+ };
56
+ export type EngineeringCrs = ObjectUsage & {
57
+ type?: 'EngineeringCRS';
58
+ name: string;
59
+ datum: EngineeringDatum;
60
+ coordinate_system?: CoordinateSystem;
61
+ $schema?: unknown;
62
+ scope?: unknown;
63
+ area?: unknown;
64
+ bbox?: unknown;
65
+ vertical_extent?: unknown;
66
+ temporal_extent?: unknown;
67
+ usages?: unknown;
68
+ remarks?: unknown;
69
+ id?: unknown;
70
+ ids?: unknown;
71
+ };
72
+ export type EngineeringDatum = ObjectUsage & {
73
+ type?: 'EngineeringDatum';
74
+ name: string;
75
+ anchor?: string;
76
+ $schema?: unknown;
77
+ scope?: unknown;
78
+ area?: unknown;
79
+ bbox?: unknown;
80
+ vertical_extent?: unknown;
81
+ temporal_extent?: unknown;
82
+ usages?: unknown;
83
+ remarks?: unknown;
84
+ id?: unknown;
85
+ ids?: unknown;
86
+ };
87
+ export type CoordinateSystem = IdIdsMutuallyExclusive & {
88
+ $schema?: string;
89
+ type?: 'CoordinateSystem';
90
+ name?: string;
91
+ subtype: 'Cartesian' | 'spherical' | 'ellipsoidal' | 'vertical' | 'ordinal' | 'parametric' | 'affine' | 'TemporalDateTime' | 'TemporalCount' | 'TemporalMeasure';
92
+ axis: Axis[];
93
+ id?: Id;
94
+ ids?: Ids;
95
+ };
96
+ export type Axis = IdIdsMutuallyExclusive & {
97
+ $schema?: string;
98
+ type?: 'Axis';
99
+ name: string;
100
+ abbreviation: string;
101
+ direction: 'north' | 'northNorthEast' | 'northEast' | 'eastNorthEast' | 'east' | 'eastSouthEast' | 'southEast' | 'southSouthEast' | 'south' | 'southSouthWest' | 'southWest' | 'westSouthWest' | 'west' | 'westNorthWest' | 'northWest' | 'northNorthWest' | 'up' | 'down' | 'geocentricX' | 'geocentricY' | 'geocentricZ' | 'columnPositive' | 'columnNegative' | 'rowPositive' | 'rowNegative' | 'displayRight' | 'displayLeft' | 'displayUp' | 'displayDown' | 'forward' | 'aft' | 'port' | 'starboard' | 'clockwise' | 'counterClockwise' | 'towards' | 'awayFrom' | 'future' | 'past' | 'unspecified';
102
+ meridian?: Meridian;
103
+ unit?: Unit;
104
+ minimum_value?: number;
105
+ maximum_value?: number;
106
+ range_meaning?: 'exact' | 'wraparound';
107
+ id?: Id;
108
+ ids?: Ids;
109
+ };
110
+ export type Meridian = IdIdsMutuallyExclusive & {
111
+ $schema?: string;
112
+ type?: 'Meridian';
113
+ longitude: ValueInDegreeOrValueAndUnit;
114
+ id?: Id;
115
+ ids?: Ids;
116
+ };
117
+ export type ValueInDegreeOrValueAndUnit = number | ValueAndUnit;
118
+ export type Unit = ('metre' | 'degree' | 'unity') | IdIdsMutuallyExclusive;
119
+ export type Ids = Id[];
120
+ export type Conversion = IdIdsMutuallyExclusive & {
121
+ $schema?: string;
122
+ type?: 'Conversion';
123
+ name: string;
124
+ method: Method;
125
+ parameters?: ParameterValue[];
126
+ id?: Id;
127
+ ids?: Ids;
128
+ };
129
+ export type Method = IdIdsMutuallyExclusive & {
130
+ $schema?: string;
131
+ type?: 'OperationMethod';
132
+ name: string;
133
+ id?: Id;
134
+ ids?: Ids;
135
+ };
136
+ export type ParameterValue = IdIdsMutuallyExclusive & {
137
+ $schema?: string;
138
+ type?: 'ParameterValue';
139
+ name: string;
140
+ value: string | number;
141
+ unit?: Unit;
142
+ id?: Id;
143
+ ids?: Ids;
144
+ };
145
+ export type DerivedGeodeticCrs = ObjectUsage & {
146
+ type?: 'DerivedGeodeticCRS' | 'DerivedGeographicCRS';
147
+ name: string;
148
+ base_crs: GeodeticCrs;
149
+ conversion: Conversion;
150
+ coordinate_system: CoordinateSystem;
151
+ $schema?: unknown;
152
+ scope?: unknown;
153
+ area?: unknown;
154
+ bbox?: unknown;
155
+ vertical_extent?: unknown;
156
+ temporal_extent?: unknown;
157
+ usages?: unknown;
158
+ remarks?: unknown;
159
+ id?: unknown;
160
+ ids?: unknown;
161
+ };
162
+ /**
163
+ * One and only one of datum and datum_ensemble must be provided
164
+ */
165
+ export type GeodeticCrs = ObjectUsage & OneAndOnlyOneOfDatumOrDatumEnsemble & {
166
+ type?: 'GeodeticCRS' | 'GeographicCRS';
167
+ name: string;
168
+ datum?: GeodeticReferenceFrame | DynamicGeodeticReferenceFrame;
169
+ datum_ensemble?: DatumEnsemble;
170
+ coordinate_system?: CoordinateSystem;
171
+ deformation_models?: DeformationModel[];
172
+ $schema?: unknown;
173
+ scope?: unknown;
174
+ area?: unknown;
175
+ bbox?: unknown;
176
+ vertical_extent?: unknown;
177
+ temporal_extent?: unknown;
178
+ usages?: unknown;
179
+ remarks?: unknown;
180
+ id?: unknown;
181
+ ids?: unknown;
182
+ };
183
+ export type OneAndOnlyOneOfDatumOrDatumEnsemble = {
184
+ [k: string]: unknown;
185
+ };
186
+ export type GeodeticReferenceFrame = ObjectUsage & {
187
+ type?: 'GeodeticReferenceFrame';
188
+ name: string;
189
+ anchor?: string;
190
+ anchor_epoch?: number;
191
+ ellipsoid: Ellipsoid;
192
+ prime_meridian?: PrimeMeridian;
193
+ $schema?: unknown;
194
+ scope?: unknown;
195
+ area?: unknown;
196
+ bbox?: unknown;
197
+ vertical_extent?: unknown;
198
+ temporal_extent?: unknown;
199
+ usages?: unknown;
200
+ remarks?: unknown;
201
+ id?: unknown;
202
+ ids?: unknown;
203
+ };
204
+ export type Ellipsoid = IdIdsMutuallyExclusive & Ellipsoid1;
205
+ export type Ellipsoid1 = {
206
+ $schema?: string;
207
+ type?: 'Ellipsoid';
208
+ name: string;
209
+ semi_major_axis: ValueInMetreOrValueAndUnit;
210
+ semi_minor_axis: ValueInMetreOrValueAndUnit;
211
+ id?: Id;
212
+ ids?: Ids;
213
+ } | {
214
+ $schema?: string;
215
+ type?: 'Ellipsoid';
216
+ name: string;
217
+ semi_major_axis: ValueInMetreOrValueAndUnit;
218
+ inverse_flattening: number;
219
+ id?: Id;
220
+ ids?: Ids;
221
+ } | {
222
+ $schema?: string;
223
+ type?: 'Ellipsoid';
224
+ name: string;
225
+ radius: ValueInMetreOrValueAndUnit;
226
+ id?: Id;
227
+ ids?: Ids;
228
+ };
229
+ export type ValueInMetreOrValueAndUnit = number | ValueAndUnit;
230
+ export type PrimeMeridian = IdIdsMutuallyExclusive & {
231
+ $schema?: string;
232
+ type?: 'PrimeMeridian';
233
+ name: string;
234
+ longitude?: ValueInDegreeOrValueAndUnit;
235
+ id?: Id;
236
+ ids?: Ids;
237
+ };
238
+ export type DynamicGeodeticReferenceFrame = ObjectUsage & {
239
+ type?: 'DynamicGeodeticReferenceFrame';
240
+ name: unknown;
241
+ anchor?: unknown;
242
+ anchor_epoch?: unknown;
243
+ ellipsoid: unknown;
244
+ prime_meridian?: unknown;
245
+ frame_reference_epoch: number;
246
+ $schema?: unknown;
247
+ scope?: unknown;
248
+ area?: unknown;
249
+ bbox?: unknown;
250
+ vertical_extent?: unknown;
251
+ temporal_extent?: unknown;
252
+ usages?: unknown;
253
+ remarks?: unknown;
254
+ id?: unknown;
255
+ ids?: unknown;
256
+ };
257
+ export type DatumEnsemble = IdIdsMutuallyExclusive & {
258
+ $schema?: string;
259
+ type?: 'DatumEnsemble';
260
+ name: string;
261
+ members: IdIdsMutuallyExclusive[];
262
+ ellipsoid?: Ellipsoid;
263
+ accuracy: string;
264
+ id?: Id;
265
+ ids?: Ids;
266
+ };
267
+ export type DerivedParametricCrs = ObjectUsage & {
268
+ type?: 'DerivedParametricCRS';
269
+ name: string;
270
+ base_crs: ParametricCrs;
271
+ conversion: Conversion;
272
+ coordinate_system: CoordinateSystem;
273
+ $schema?: unknown;
274
+ scope?: unknown;
275
+ area?: unknown;
276
+ bbox?: unknown;
277
+ vertical_extent?: unknown;
278
+ temporal_extent?: unknown;
279
+ usages?: unknown;
280
+ remarks?: unknown;
281
+ id?: unknown;
282
+ ids?: unknown;
283
+ };
284
+ export type ParametricCrs = ObjectUsage & {
285
+ type?: 'ParametricCRS';
286
+ name: string;
287
+ datum: ParametricDatum;
288
+ coordinate_system?: CoordinateSystem;
289
+ $schema?: unknown;
290
+ scope?: unknown;
291
+ area?: unknown;
292
+ bbox?: unknown;
293
+ vertical_extent?: unknown;
294
+ temporal_extent?: unknown;
295
+ usages?: unknown;
296
+ remarks?: unknown;
297
+ id?: unknown;
298
+ ids?: unknown;
299
+ };
300
+ export type ParametricDatum = ObjectUsage & {
301
+ type?: 'ParametricDatum';
302
+ name: string;
303
+ anchor?: string;
304
+ $schema?: unknown;
305
+ scope?: unknown;
306
+ area?: unknown;
307
+ bbox?: unknown;
308
+ vertical_extent?: unknown;
309
+ temporal_extent?: unknown;
310
+ usages?: unknown;
311
+ remarks?: unknown;
312
+ id?: unknown;
313
+ ids?: unknown;
314
+ };
315
+ export type DerivedProjectedCrs = ObjectUsage & {
316
+ type?: 'DerivedProjectedCRS';
317
+ name: string;
318
+ base_crs: ProjectedCrs;
319
+ conversion: Conversion;
320
+ coordinate_system: CoordinateSystem;
321
+ $schema?: unknown;
322
+ scope?: unknown;
323
+ area?: unknown;
324
+ bbox?: unknown;
325
+ vertical_extent?: unknown;
326
+ temporal_extent?: unknown;
327
+ usages?: unknown;
328
+ remarks?: unknown;
329
+ id?: unknown;
330
+ ids?: unknown;
331
+ };
332
+ export type ProjectedCrs = ObjectUsage & {
333
+ type?: 'ProjectedCRS';
334
+ name: string;
335
+ base_crs: GeodeticCrs;
336
+ conversion: Conversion;
337
+ coordinate_system: CoordinateSystem;
338
+ $schema?: unknown;
339
+ scope?: unknown;
340
+ area?: unknown;
341
+ bbox?: unknown;
342
+ vertical_extent?: unknown;
343
+ temporal_extent?: unknown;
344
+ usages?: unknown;
345
+ remarks?: unknown;
346
+ id?: unknown;
347
+ ids?: unknown;
348
+ };
349
+ export type DerivedTemporalCrs = ObjectUsage & {
350
+ type?: 'DerivedTemporalCRS';
351
+ name: string;
352
+ base_crs: TemporalCrs;
353
+ conversion: Conversion;
354
+ coordinate_system: CoordinateSystem;
355
+ $schema?: unknown;
356
+ scope?: unknown;
357
+ area?: unknown;
358
+ bbox?: unknown;
359
+ vertical_extent?: unknown;
360
+ temporal_extent?: unknown;
361
+ usages?: unknown;
362
+ remarks?: unknown;
363
+ id?: unknown;
364
+ ids?: unknown;
365
+ };
366
+ export type TemporalCrs = ObjectUsage & {
367
+ type?: 'TemporalCRS';
368
+ name: string;
369
+ datum: TemporalDatum;
370
+ coordinate_system?: CoordinateSystem;
371
+ $schema?: unknown;
372
+ scope?: unknown;
373
+ area?: unknown;
374
+ bbox?: unknown;
375
+ vertical_extent?: unknown;
376
+ temporal_extent?: unknown;
377
+ usages?: unknown;
378
+ remarks?: unknown;
379
+ id?: unknown;
380
+ ids?: unknown;
381
+ };
382
+ export type TemporalDatum = ObjectUsage & {
383
+ type?: 'TemporalDatum';
384
+ name: string;
385
+ calendar: string;
386
+ time_origin?: string;
387
+ $schema?: unknown;
388
+ scope?: unknown;
389
+ area?: unknown;
390
+ bbox?: unknown;
391
+ vertical_extent?: unknown;
392
+ temporal_extent?: unknown;
393
+ usages?: unknown;
394
+ remarks?: unknown;
395
+ id?: unknown;
396
+ ids?: unknown;
397
+ };
398
+ export type DerivedVerticalCrs = ObjectUsage & {
399
+ type?: 'DerivedVerticalCRS';
400
+ name: string;
401
+ base_crs: VerticalCrs;
402
+ conversion: Conversion;
403
+ coordinate_system: CoordinateSystem;
404
+ $schema?: unknown;
405
+ scope?: unknown;
406
+ area?: unknown;
407
+ bbox?: unknown;
408
+ vertical_extent?: unknown;
409
+ temporal_extent?: unknown;
410
+ usages?: unknown;
411
+ remarks?: unknown;
412
+ id?: unknown;
413
+ ids?: unknown;
414
+ };
415
+ /**
416
+ * One and only one of datum and datum_ensemble must be provided
417
+ */
418
+ export type VerticalCrs = ObjectUsage & OneAndOnlyOneOfDatumOrDatumEnsemble & {
419
+ [k: string]: unknown;
420
+ } & {
421
+ type?: 'VerticalCRS';
422
+ name: string;
423
+ datum?: VerticalReferenceFrame | DynamicVerticalReferenceFrame;
424
+ datum_ensemble?: DatumEnsemble;
425
+ coordinate_system?: CoordinateSystem;
426
+ geoid_model?: GeoidModel;
427
+ geoid_models?: GeoidModel[];
428
+ deformation_models?: DeformationModel[];
429
+ $schema?: unknown;
430
+ scope?: unknown;
431
+ area?: unknown;
432
+ bbox?: unknown;
433
+ vertical_extent?: unknown;
434
+ temporal_extent?: unknown;
435
+ usages?: unknown;
436
+ remarks?: unknown;
437
+ id?: unknown;
438
+ ids?: unknown;
439
+ };
440
+ export type VerticalReferenceFrame = ObjectUsage & {
441
+ type?: 'VerticalReferenceFrame';
442
+ name: string;
443
+ anchor?: string;
444
+ anchor_epoch?: number;
445
+ $schema?: unknown;
446
+ scope?: unknown;
447
+ area?: unknown;
448
+ bbox?: unknown;
449
+ vertical_extent?: unknown;
450
+ temporal_extent?: unknown;
451
+ usages?: unknown;
452
+ remarks?: unknown;
453
+ id?: unknown;
454
+ ids?: unknown;
455
+ };
456
+ export type DynamicVerticalReferenceFrame = ObjectUsage & {
457
+ type?: 'DynamicVerticalReferenceFrame';
458
+ name: unknown;
459
+ anchor?: unknown;
460
+ anchor_epoch?: unknown;
461
+ frame_reference_epoch: number;
462
+ $schema?: unknown;
463
+ scope?: unknown;
464
+ area?: unknown;
465
+ bbox?: unknown;
466
+ vertical_extent?: unknown;
467
+ temporal_extent?: unknown;
468
+ usages?: unknown;
469
+ remarks?: unknown;
470
+ id?: unknown;
471
+ ids?: unknown;
472
+ };
473
+ export type AbridgedTransformation = IdIdsMutuallyExclusive & {
474
+ $schema?: string;
475
+ type?: 'AbridgedTransformation';
476
+ name: string;
477
+ source_crs?: BoundCrs | CompoundCrs | DerivedEngineeringCrs | DerivedGeodeticCrs | DerivedParametricCrs | DerivedProjectedCrs | DerivedTemporalCrs | DerivedVerticalCrs | EngineeringCrs | GeodeticCrs | ParametricCrs | ProjectedCrs | TemporalCrs | VerticalCrs;
478
+ method: Method;
479
+ parameters: ParameterValue[];
480
+ id?: Id;
481
+ ids?: Ids;
482
+ };
483
+ export interface IdIdsMutuallyExclusive {
484
+ [k: string]: unknown;
485
+ }
486
+ export interface ValueAndUnit {
487
+ value: number;
488
+ unit: Unit;
489
+ }
490
+ export interface Id {
491
+ authority: string;
492
+ code: string | number;
493
+ version?: string | number;
494
+ authority_citation?: string;
495
+ uri?: string;
496
+ }
497
+ /**
498
+ * Association to a PointMotionOperation
499
+ */
500
+ export interface DeformationModel {
501
+ name: string;
502
+ id?: Id;
503
+ }
504
+ export interface GeoidModel {
505
+ name: string;
506
+ interpolation_crs?: Crs;
507
+ id?: Id;
508
+ }
509
+ //# sourceMappingURL=projjson-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"projjson-types.d.ts","sourceRoot":"","sources":["../src/projjson-types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ // math.gl
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright (c) vis.gl contributors
4
+ export {};
5
+ //# sourceMappingURL=projjson-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"projjson-types.js","sourceRoot":"","sources":["../src/projjson-types.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,+BAA+B;AAC/B,oCAAoC"}
@@ -0,0 +1,86 @@
1
+ /** WKT-CRS standards and common compatibility dialects understood by the validator. */
2
+ export type WKTCRSProfile = 'wkt1' | 'wkt2:2015' | 'wkt2:2019' | 'gdal' | 'esri';
3
+ /** Delimiter used by a WKT node. */
4
+ export type WKTCRSDelimiter = 'bracket' | 'parenthesis';
5
+ /** A quoted WKT string literal. */
6
+ export type WKTCRSString = {
7
+ readonly type: 'string';
8
+ readonly value: string;
9
+ };
10
+ /** A WKT number with its source lexeme retained to preserve precision. */
11
+ export type WKTCRSNumber = {
12
+ readonly type: 'number';
13
+ readonly value: number;
14
+ readonly raw: string;
15
+ };
16
+ /** An unquoted WKT enumeration or identifier. */
17
+ export type WKTCRSEnumeration = {
18
+ readonly type: 'enumeration';
19
+ readonly value: string;
20
+ };
21
+ /** A keyword and its ordered WKT values. */
22
+ export type WKTCRSNode = {
23
+ readonly type: 'node';
24
+ readonly keyword: string;
25
+ readonly delimiter: WKTCRSDelimiter;
26
+ readonly values: readonly WKTCRSValue[];
27
+ };
28
+ /** Values accepted inside a WKT node. */
29
+ export type WKTCRSValue = WKTCRSNode | WKTCRSString | WKTCRSNumber | WKTCRSEnumeration;
30
+ /** Syntax tree for one WKT coordinate reference system or coordinate operation. */
31
+ export type WKTCRSAst = {
32
+ readonly type: 'wkt-crs';
33
+ readonly root: WKTCRSNode;
34
+ };
35
+ /** Options for parsing WKT coordinate reference systems. */
36
+ export type ParseWKTCRSOptions = {
37
+ /** Validation profile. `auto` distinguishes WKT1 from WKT2 by root keyword. */
38
+ profile?: WKTCRSProfile | 'auto';
39
+ /** Validate known profile keywords and unambiguous value shapes after parsing. */
40
+ strict?: boolean;
41
+ };
42
+ /** Options for encoding a WKT syntax tree. */
43
+ export type EncodeWKTCRSOptions = {
44
+ /** Compact output is the canonical serialization. */
45
+ format?: 'compact' | 'pretty';
46
+ /** Number of spaces used for each pretty-print indentation level. */
47
+ indent?: number;
48
+ };
49
+ /** Options for validating a WKT syntax tree. */
50
+ export type ValidateWKTCRSOptions = {
51
+ /** Validation profile. `auto` distinguishes WKT1 from WKT2 by root keyword. */
52
+ profile?: WKTCRSProfile | 'auto';
53
+ /** Permit unrecognized extension keywords. Defaults to `false`. */
54
+ allowExtensions?: boolean;
55
+ };
56
+ /** Stable validation issue codes returned by {@link validateWKTCRS}. */
57
+ export type WKTCRSValidationIssueCode = 'invalid-root' | 'unknown-keyword' | 'empty-node' | 'invalid-value';
58
+ /** One profile validation issue in a WKT syntax tree. */
59
+ export type WKTCRSValidationIssue = {
60
+ readonly code: WKTCRSValidationIssueCode;
61
+ readonly message: string;
62
+ /** Zero-based value indices from the root node to the offending node. */
63
+ readonly path: readonly number[];
64
+ readonly keyword: string;
65
+ };
66
+ /** Syntax error containing a source offset and one-based line and column. */
67
+ export declare class WKTCRSSyntaxError extends SyntaxError {
68
+ readonly offset: number;
69
+ readonly line: number;
70
+ readonly column: number;
71
+ /** Create a WKT syntax error at a source location. */
72
+ constructor(message: string, source: string, offset: number);
73
+ }
74
+ /** Error thrown when strict WKT profile validation fails. */
75
+ export declare class WKTCRSValidationError extends Error {
76
+ readonly issues: readonly WKTCRSValidationIssue[];
77
+ /** Create an error from one or more validation issues. */
78
+ constructor(issues: readonly WKTCRSValidationIssue[]);
79
+ }
80
+ /** Parse WKT1, WKT2, or a compatible vendor WKT serialization. */
81
+ export declare function parseWKTCRS(text: string, options?: ParseWKTCRSOptions): WKTCRSAst;
82
+ /** Encode a WKT syntax tree without changing value lexemes or keyword spelling. */
83
+ export declare function encodeWKTCRS(ast: WKTCRSAst, options?: EncodeWKTCRSOptions): string;
84
+ /** Validate root keywords, known profile keywords, and unambiguous value shapes. */
85
+ export declare function validateWKTCRS(ast: WKTCRSAst, options?: ValidateWKTCRSOptions): WKTCRSValidationIssue[];
86
+ //# sourceMappingURL=wkt-crs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wkt-crs.d.ts","sourceRoot":"","sources":["../src/wkt-crs.ts"],"names":[],"mappings":"AAIA,uFAAuF;AACvF,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,WAAW,GAAG,WAAW,GAAG,MAAM,GAAG,MAAM,CAAC;AAEjF,oCAAoC;AACpC,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,aAAa,CAAC;AAExD,mCAAmC;AACnC,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,0EAA0E;AAC1E,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,iDAAiD;AACjD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,4CAA4C;AAC5C,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAC;IACpC,QAAQ,CAAC,MAAM,EAAE,SAAS,WAAW,EAAE,CAAC;CACzC,CAAC;AAEF,yCAAyC;AACzC,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG,YAAY,GAAG,YAAY,GAAG,iBAAiB,CAAC;AAEvF,mFAAmF;AACnF,MAAM,MAAM,SAAS,GAAG;IACtB,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;CAC3B,CAAC;AAEF,4DAA4D;AAC5D,MAAM,MAAM,kBAAkB,GAAG;IAC/B,+EAA+E;IAC/E,OAAO,CAAC,EAAE,aAAa,GAAG,MAAM,CAAC;IACjC,kFAAkF;IAClF,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,8CAA8C;AAC9C,MAAM,MAAM,mBAAmB,GAAG;IAChC,qDAAqD;IACrD,MAAM,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC;IAC9B,qEAAqE;IACrE,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,gDAAgD;AAChD,MAAM,MAAM,qBAAqB,GAAG;IAClC,+EAA+E;IAC/E,OAAO,CAAC,EAAE,aAAa,GAAG,MAAM,CAAC;IACjC,mEAAmE;IACnE,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEF,wEAAwE;AACxE,MAAM,MAAM,yBAAyB,GACjC,cAAc,GACd,iBAAiB,GACjB,YAAY,GACZ,eAAe,CAAC;AAEpB,yDAAyD;AACzD,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,CAAC,IAAI,EAAE,yBAAyB,CAAC;IACzC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,yEAAyE;IACzE,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,6EAA6E;AAC7E,qBAAa,iBAAkB,SAAQ,WAAW;IAChD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAExB,sDAAsD;gBAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;CAQ5D;AAED,6DAA6D;AAC7D,qBAAa,qBAAsB,SAAQ,KAAK;IAC9C,QAAQ,CAAC,MAAM,EAAE,SAAS,qBAAqB,EAAE,CAAC;IAElD,0DAA0D;gBAC9C,MAAM,EAAE,SAAS,qBAAqB,EAAE;CAKrD;AA+LD,kEAAkE;AAClE,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,SAAS,CAejF;AAED,mFAAmF;AACnF,wBAAgB,YAAY,CAAC,GAAG,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,MAAM,CAWlF;AAED,oFAAoF;AACpF,wBAAgB,cAAc,CAC5B,GAAG,EAAE,SAAS,EACd,OAAO,CAAC,EAAE,qBAAqB,GAC9B,qBAAqB,EAAE,CAkDzB"}