@math.gl/geospatial 4.1.0 → 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.
Files changed (45) hide show
  1. package/LICENSE +51 -0
  2. package/dist/ellipsoid-helpers/ellipsoid-transform.d.ts.map +1 -0
  3. package/dist/ellipsoid-helpers/ellipsoid-transform.js.map +1 -0
  4. package/dist/ellipsoid-helpers/scale-to-geodetic-surface.d.ts.map +1 -0
  5. package/dist/ellipsoid-helpers/scale-to-geodetic-surface.js.map +1 -0
  6. package/dist/ellipsoid-tangent-plane.d.ts +32 -0
  7. package/dist/ellipsoid-tangent-plane.d.ts.map +1 -0
  8. package/dist/ellipsoid-tangent-plane.js +65 -0
  9. package/dist/ellipsoid-tangent-plane.js.map +1 -0
  10. package/dist/{ellipsoid/ellipsoid.d.ts → ellipsoid.d.ts} +13 -6
  11. package/dist/ellipsoid.d.ts.map +1 -0
  12. package/dist/{ellipsoid/ellipsoid.js → ellipsoid.js} +4 -4
  13. package/dist/ellipsoid.js.map +1 -0
  14. package/dist/index.cjs +329 -8
  15. package/dist/index.cjs.map +3 -4
  16. package/dist/index.d.ts +5 -1
  17. package/dist/index.d.ts.map +1 -1
  18. package/dist/index.js +4 -1
  19. package/dist/index.js.map +1 -1
  20. package/dist/lng-lat-rectangle.d.ts +27 -0
  21. package/dist/lng-lat-rectangle.d.ts.map +1 -0
  22. package/dist/lng-lat-rectangle.js +54 -0
  23. package/dist/lng-lat-rectangle.js.map +1 -0
  24. package/dist/make-obb-from-region.d.ts +28 -0
  25. package/dist/make-obb-from-region.d.ts.map +1 -0
  26. package/dist/make-obb-from-region.js +246 -0
  27. package/dist/make-obb-from-region.js.map +1 -0
  28. package/package.json +5 -4
  29. package/src/ellipsoid-tangent-plane.ts +87 -0
  30. package/src/{ellipsoid/ellipsoid.ts → ellipsoid.ts} +17 -10
  31. package/src/index.ts +5 -1
  32. package/src/lng-lat-rectangle.ts +67 -0
  33. package/src/make-obb-from-region.ts +414 -0
  34. package/dist/ellipsoid/ellipsoid.d.ts.map +0 -1
  35. package/dist/ellipsoid/ellipsoid.js.map +0 -1
  36. package/dist/ellipsoid/helpers/ellipsoid-transform.d.ts.map +0 -1
  37. package/dist/ellipsoid/helpers/ellipsoid-transform.js.map +0 -1
  38. package/dist/ellipsoid/helpers/scale-to-geodetic-surface.d.ts.map +0 -1
  39. package/dist/ellipsoid/helpers/scale-to-geodetic-surface.js.map +0 -1
  40. /package/dist/{ellipsoid/helpers → ellipsoid-helpers}/ellipsoid-transform.d.ts +0 -0
  41. /package/dist/{ellipsoid/helpers → ellipsoid-helpers}/ellipsoid-transform.js +0 -0
  42. /package/dist/{ellipsoid/helpers → ellipsoid-helpers}/scale-to-geodetic-surface.d.ts +0 -0
  43. /package/dist/{ellipsoid/helpers → ellipsoid-helpers}/scale-to-geodetic-surface.js +0 -0
  44. /package/src/{ellipsoid/helpers → ellipsoid-helpers}/ellipsoid-transform.ts +0 -0
  45. /package/src/{ellipsoid/helpers → ellipsoid-helpers}/scale-to-geodetic-surface.ts +0 -0
@@ -0,0 +1,414 @@
1
+ // math.gl
2
+ // SPDX-License-Identifier: MIT and Apache-2.0
3
+ // Copyright (c) vis.gl contributors
4
+
5
+ // This file is derived from the Cesium math library under Apache 2 license
6
+ // See LICENSE.md and https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md
7
+
8
+ import {Matrix3, Matrix4, Vector2, Vector3, degrees, radians, _MathUtils} from '@math.gl/core';
9
+ import {OrientedBoundingBox, Plane} from '@math.gl/culling';
10
+ // @ts-ignore
11
+ // eslint-disable-next-line import/no-unresolved
12
+ import {LngLatRectangle} from './lng-lat-rectangle';
13
+ import {Ellipsoid} from './ellipsoid';
14
+ import {EllipsoidTangentPlane} from './ellipsoid-tangent-plane';
15
+
16
+ const scratchOffset = new Vector3();
17
+
18
+ const scratchTangentPoint = new Vector3();
19
+ const scratchPerimeterCartographicNC = new Vector3();
20
+ const scratchPerimeterCartographicNW = new Vector3();
21
+ const scratchPerimeterCartographicCW = new Vector3();
22
+ const scratchPerimeterCartographicSW = new Vector3();
23
+ const scratchPerimeterCartographicSC = new Vector3();
24
+ const scratchPerimeterCartesianNC = new Vector3();
25
+ const scratchPerimeterCartesianNW = new Vector3();
26
+ const scratchPerimeterCartesianCW = new Vector3();
27
+ const scratchPerimeterCartesianSW = new Vector3();
28
+ const scratchPerimeterCartesianSC = new Vector3();
29
+ const scratchPerimeterProjectedNC = new Vector2();
30
+ const scratchPerimeterProjectedNW = new Vector2();
31
+ const scratchPerimeterProjectedCW = new Vector2();
32
+ const scratchPerimeterProjectedSW = new Vector2();
33
+ const scratchPerimeterProjectedSC = new Vector2();
34
+
35
+ const scratchPlane = new Plane();
36
+ const scratchPlaneOrigin = new Vector3();
37
+ const scratchPlaneNormal = new Vector3();
38
+ const scratchPlaneXAxis = new Vector3();
39
+ const scratchHorizonCartesian = new Vector3();
40
+ const scratchHorizonProjected = new Vector2();
41
+ const scratchMaxY = new Vector3();
42
+ const scratchZ = new Vector3();
43
+
44
+ const VECTOR3_UNIT_X = new Vector3(1, 0, 0);
45
+ const VECTOR3_UNIT_Z = new Vector3(0, 0, 1);
46
+
47
+ export type GeodeticRegion = readonly [
48
+ west: number,
49
+ south: number,
50
+ east: number,
51
+ north: number,
52
+ minimumHeight: number,
53
+ maximumHeight: number
54
+ ];
55
+
56
+ export type MakeOBBFromRegionOptions = {
57
+ /** Longitude and latitude units. Defaults to radians, as in 3D Tiles regions. */
58
+ units?: 'radians' | 'degrees';
59
+ /** Affine transform from ellipsoid-fixed coordinates into the caller's world space. */
60
+ transform?: Matrix4;
61
+ };
62
+
63
+ /**
64
+ * Creates a conservative oriented bounding box for a geodetic region.
65
+ *
66
+ * Longitudes and latitudes are radians by default. An east longitude smaller than west
67
+ * denotes the directed eastward interval crossing the antimeridian; equal longitudes denote
68
+ * zero width unless the original endpoints differ by a full turn.
69
+ * Heights use the ellipsoid's linear unit. Inputs and the supplied ellipsoid and transform are
70
+ * never mutated.
71
+ */
72
+ // eslint-disable-next-line max-statements
73
+ export function makeOBBFromRegion(
74
+ region: readonly number[],
75
+ ellipsoid: Ellipsoid = Ellipsoid.WGS84,
76
+ options: MakeOBBFromRegionOptions = {}
77
+ ): OrientedBoundingBox {
78
+ if (!region || region.length !== 6 || region.some(value => !Number.isFinite(value))) {
79
+ throw new Error('makeOBBFromRegion: region must contain exactly six finite numbers');
80
+ }
81
+ const unitScale = options.units === 'degrees' ? radians(1) : 1;
82
+ const [rawWest, rawSouth, rawEast, rawNorth, minimumHeight, maximumHeight] = region;
83
+ if (minimumHeight > maximumHeight) {
84
+ throw new Error('makeOBBFromRegion: minimumHeight must not exceed maximumHeight');
85
+ }
86
+ const south = rawSouth * unitScale;
87
+ const north = rawNorth * unitScale;
88
+ const west = normalizeLongitude(rawWest * unitScale);
89
+ let east = normalizeLongitude(rawEast * unitScale);
90
+ // Preserve a complete directed turn, which would otherwise collapse when both endpoints
91
+ // are normalized to the same longitude. Reversed boundaries retain Cesium/3D Tiles semantics.
92
+ const directedSpan = rawEast * unitScale - rawWest * unitScale;
93
+ if (directedSpan >= _MathUtils.TWO_PI - 1e-12) {
94
+ east = west + _MathUtils.TWO_PI;
95
+ }
96
+ const latitudeTolerance = 1e-12;
97
+ if (
98
+ south > north ||
99
+ south < -_MathUtils.PI_OVER_TWO - latitudeTolerance ||
100
+ north > _MathUtils.PI_OVER_TWO + latitudeTolerance
101
+ ) {
102
+ throw new Error('makeOBBFromRegion: latitude must be within [-π/2, π/2] and south ≤ north');
103
+ }
104
+ // Avoid passing a tiny out-of-range value to the ellipsoid conversion at a boundary.
105
+ const clampedSouth = Math.max(-_MathUtils.PI_OVER_TWO, Math.min(_MathUtils.PI_OVER_TWO, south));
106
+ const clampedNorth = Math.max(-_MathUtils.PI_OVER_TWO, Math.min(_MathUtils.PI_OVER_TWO, north));
107
+ return makeOBBFromNormalizedRegion(
108
+ [west, clampedSouth, east, clampedNorth, minimumHeight, maximumHeight],
109
+ ellipsoid,
110
+ options.transform
111
+ );
112
+ }
113
+
114
+ function normalizeLongitude(value: number): number {
115
+ const normalized =
116
+ ((((value + Math.PI) % _MathUtils.TWO_PI) + _MathUtils.TWO_PI) % _MathUtils.TWO_PI) - Math.PI;
117
+ return normalized === -Math.PI && value > 0 ? Math.PI : normalized;
118
+ }
119
+
120
+ function makeOBBFromNormalizedRegion(
121
+ region: GeodeticRegion,
122
+ ellipsoid: Ellipsoid,
123
+ transform?: Matrix4
124
+ ): OrientedBoundingBox {
125
+ const obb = new OrientedBoundingBox();
126
+
127
+ const [west, south, east, north, minimumHeight, maximumHeight] = region;
128
+
129
+ const northDeg = degrees(north);
130
+ const southDeg = degrees(south);
131
+
132
+ let maxX: number;
133
+ let maxY: number;
134
+ let maxZ: number;
135
+ let minX: number;
136
+ let minY: number;
137
+ let minZ: number;
138
+ let plane: Plane;
139
+
140
+ const rectangle = new LngLatRectangle(west, south, east, north);
141
+ const tangentPoint = LngLatRectangle.center(rectangle, scratchTangentPoint);
142
+ const tangentPointCartographic = new Vector3([
143
+ degrees(tangentPoint.x),
144
+ degrees(tangentPoint.y),
145
+ 0.0
146
+ ]);
147
+
148
+ const lonCenter = tangentPoint.x;
149
+ const lonCenterDeg = tangentPointCartographic.x;
150
+
151
+ if (rectangle.width <= _MathUtils.PI) {
152
+ const westDeg = degrees(west);
153
+
154
+ const tangentPoint = ellipsoid.cartographicToCartesian(tangentPointCartographic);
155
+ const ellipsoidTangentPlane = new EllipsoidTangentPlane(tangentPoint, ellipsoid);
156
+
157
+ const latCenter = southDeg < 0.0 && northDeg > 0.0 ? 0.0 : tangentPointCartographic.y;
158
+
159
+ const perimeterCartographicNC = scratchPerimeterCartographicNC.copy([
160
+ lonCenterDeg,
161
+ northDeg,
162
+ maximumHeight
163
+ ]);
164
+ const perimeterCartographicNW = scratchPerimeterCartographicNW.copy([
165
+ westDeg,
166
+ northDeg,
167
+ maximumHeight
168
+ ]);
169
+ const perimeterCartographicCW = scratchPerimeterCartographicCW.copy([
170
+ westDeg,
171
+ latCenter,
172
+ maximumHeight
173
+ ]);
174
+ const perimeterCartographicSW = scratchPerimeterCartographicSW.copy([
175
+ westDeg,
176
+ southDeg,
177
+ maximumHeight
178
+ ]);
179
+ const perimeterCartographicSC = scratchPerimeterCartographicSC.copy([
180
+ lonCenterDeg,
181
+ southDeg,
182
+ maximumHeight
183
+ ]);
184
+
185
+ const perimeterCartesianNC = ellipsoid.cartographicToCartesian(
186
+ perimeterCartographicNC,
187
+ scratchPerimeterCartesianNC
188
+ );
189
+ let perimeterCartesianNW = ellipsoid.cartographicToCartesian(
190
+ perimeterCartographicNW,
191
+ scratchPerimeterCartesianNW
192
+ );
193
+ const perimeterCartesianCW = ellipsoid.cartographicToCartesian(
194
+ perimeterCartographicCW,
195
+ scratchPerimeterCartesianCW
196
+ );
197
+ let perimeterCartesianSW = ellipsoid.cartographicToCartesian(
198
+ perimeterCartographicSW,
199
+ scratchPerimeterCartesianSW
200
+ );
201
+ const perimeterCartesianSC = ellipsoid.cartographicToCartesian(
202
+ perimeterCartographicSC,
203
+ scratchPerimeterCartesianSC
204
+ );
205
+
206
+ const perimeterProjectedNC = ellipsoidTangentPlane.projectPointToNearestOnPlane(
207
+ perimeterCartesianNC,
208
+ scratchPerimeterProjectedNC
209
+ );
210
+ const perimeterProjectedNW = ellipsoidTangentPlane.projectPointToNearestOnPlane(
211
+ perimeterCartesianNW,
212
+ scratchPerimeterProjectedNW
213
+ );
214
+ const perimeterProjectedCW = ellipsoidTangentPlane.projectPointToNearestOnPlane(
215
+ perimeterCartesianCW,
216
+ scratchPerimeterProjectedCW
217
+ );
218
+ const perimeterProjectedSW = ellipsoidTangentPlane.projectPointToNearestOnPlane(
219
+ perimeterCartesianSW,
220
+ scratchPerimeterProjectedSW
221
+ );
222
+ const perimeterProjectedSC = ellipsoidTangentPlane.projectPointToNearestOnPlane(
223
+ perimeterCartesianSC,
224
+ scratchPerimeterProjectedSC
225
+ );
226
+
227
+ minX = Math.min(perimeterProjectedNW.x, perimeterProjectedCW.x, perimeterProjectedSW.x);
228
+ maxX = -minX;
229
+
230
+ maxY = Math.max(perimeterProjectedNW.y, perimeterProjectedNC.y);
231
+ minY = Math.min(perimeterProjectedSW.y, perimeterProjectedSC.y);
232
+
233
+ perimeterCartographicNW.z = perimeterCartographicSW.z = minimumHeight;
234
+ perimeterCartesianNW = ellipsoid.cartographicToCartesian(
235
+ perimeterCartographicNW,
236
+ scratchPerimeterCartesianNW
237
+ );
238
+ perimeterCartesianSW = ellipsoid.cartographicToCartesian(
239
+ perimeterCartographicSW,
240
+ scratchPerimeterCartesianSW
241
+ );
242
+
243
+ plane = ellipsoidTangentPlane.plane;
244
+ minZ = Math.min(
245
+ plane.getPointDistance(perimeterCartesianNW),
246
+ plane.getPointDistance(perimeterCartesianSW)
247
+ );
248
+ maxZ = maximumHeight;
249
+
250
+ return applyTransform(
251
+ fromPlaneExtents(
252
+ ellipsoidTangentPlane.origin,
253
+ ellipsoidTangentPlane.xAxis,
254
+ ellipsoidTangentPlane.yAxis,
255
+ ellipsoidTangentPlane.zAxis,
256
+ minX,
257
+ maxX,
258
+ minY,
259
+ maxY,
260
+ minZ,
261
+ maxZ,
262
+ obb
263
+ ),
264
+ transform
265
+ );
266
+ }
267
+
268
+ const eastDeg = degrees(east);
269
+
270
+ const fullyAboveEquator = south > 0.0;
271
+ const fullyBelowEquator = north < 0.0;
272
+ const latitudeNearestToEquator = fullyAboveEquator
273
+ ? southDeg
274
+ : fullyBelowEquator
275
+ ? northDeg
276
+ : 0.0;
277
+
278
+ const planeOrigin = ellipsoid.cartographicToCartesian(
279
+ [lonCenterDeg, latitudeNearestToEquator, maximumHeight],
280
+ scratchPlaneOrigin
281
+ );
282
+ planeOrigin.z = 0.0;
283
+ const isPole =
284
+ Math.abs(planeOrigin.x) < _MathUtils.EPSILON10 &&
285
+ Math.abs(planeOrigin.y) < _MathUtils.EPSILON10;
286
+ const planeNormal = !isPole ? scratchPlaneNormal.copy(planeOrigin).normalize() : VECTOR3_UNIT_X;
287
+ const planeYAxis = VECTOR3_UNIT_Z;
288
+ const planeXAxis = scratchPlaneXAxis.copy(planeNormal).cross(planeYAxis);
289
+ plane = scratchPlane.fromPointNormal(planeOrigin, planeNormal);
290
+
291
+ const horizonCartesian = ellipsoid.cartographicToCartesian(
292
+ [degrees(lonCenter + _MathUtils.PI_OVER_TWO), latitudeNearestToEquator, maximumHeight],
293
+ scratchHorizonCartesian
294
+ );
295
+ const projectedPoint = plane.projectPointOntoPlane(
296
+ horizonCartesian,
297
+ scratchHorizonProjected
298
+ ) as Vector3;
299
+ maxX = projectedPoint.dot(planeXAxis);
300
+ minX = -maxX;
301
+
302
+ const northHeight = fullyBelowEquator ? minimumHeight : maximumHeight;
303
+ const southHeight = fullyAboveEquator ? minimumHeight : maximumHeight;
304
+ maxY = latitudeZExtent(ellipsoid, northDeg, northHeight, true);
305
+ minY = latitudeZExtent(ellipsoid, southDeg, southHeight, false);
306
+
307
+ const farZ = ellipsoid.cartographicToCartesian(
308
+ [eastDeg, latitudeNearestToEquator, maximumHeight],
309
+ scratchZ
310
+ );
311
+
312
+ minZ = plane.getPointDistance(farZ);
313
+ maxZ = 0.0;
314
+
315
+ return applyTransform(
316
+ fromPlaneExtents(
317
+ planeOrigin,
318
+ planeXAxis,
319
+ planeYAxis,
320
+ planeNormal,
321
+ minX,
322
+ maxX,
323
+ minY,
324
+ maxY,
325
+ minZ,
326
+ maxZ,
327
+ obb
328
+ ),
329
+ transform
330
+ );
331
+ }
332
+
333
+ function applyTransform(obb: OrientedBoundingBox, transform?: Matrix4): OrientedBoundingBox {
334
+ if (!transform) return obb;
335
+ // A general affine transform turns an OBB into a parallelepiped. Refit its eight
336
+ // corners to an axis-aligned OBB so culling methods that assume orthogonal axes remain safe.
337
+ const axes = [0, 1, 2].map(column => obb.halfAxes.getColumn(column, new Vector3()));
338
+ const center = transform.transformAsPoint(obb.center) as number[];
339
+ const minimum = [Infinity, Infinity, Infinity];
340
+ const maximum = [-Infinity, -Infinity, -Infinity];
341
+ for (let mask = 0; mask < 8; mask++) {
342
+ const corner = new Vector3(center);
343
+ for (let axis = 0; axis < 3; axis++) {
344
+ const transformedAxis = transform.transformAsVector(axes[axis]) as number[];
345
+ corner.add(new Vector3(transformedAxis).scale((mask & (1 << axis)) === 0 ? -1 : 1));
346
+ }
347
+ for (let component = 0; component < 3; component++) {
348
+ minimum[component] = Math.min(minimum[component], corner[component]);
349
+ maximum[component] = Math.max(maximum[component], corner[component]);
350
+ }
351
+ }
352
+ obb.center.copy(minimum).add(maximum).scale(0.5);
353
+ const halfSize = new Vector3(maximum).subtract(minimum).scale(0.5);
354
+ obb.halfAxes = new Matrix3().set(halfSize.x, 0, 0, 0, halfSize.y, 0, 0, 0, halfSize.z);
355
+ return obb;
356
+ }
357
+
358
+ function latitudeZExtent(
359
+ ellipsoid: Ellipsoid,
360
+ latitude: number,
361
+ height: number,
362
+ maximum: boolean
363
+ ): number {
364
+ let extent = maximum ? -Infinity : Infinity;
365
+ // A triaxial ellipsoid's fixed-latitude extrema occur at a principal longitude.
366
+ for (const longitude of [0, 90, 180, 270]) {
367
+ const z = ellipsoid.cartographicToCartesian([longitude, latitude, height], scratchMaxY).z;
368
+ extent = maximum ? Math.max(extent, z) : Math.min(extent, z);
369
+ }
370
+ return extent;
371
+ }
372
+
373
+ /** Helper function for makeOBBFromRegion(). */
374
+ // eslint-disable-next-line max-params
375
+ function fromPlaneExtents(
376
+ planeOrigin: Vector3,
377
+ planeXAxis: Vector3,
378
+ planeYAxis: Vector3,
379
+ planeZAxis: Vector3,
380
+ minimumX: number,
381
+ maximumX: number,
382
+ minimumY: number,
383
+ maximumY: number,
384
+ minimumZ: number,
385
+ maximumZ: number,
386
+ result: OrientedBoundingBox
387
+ ) {
388
+ const center = result.center;
389
+ const halfAxes = result.halfAxes;
390
+ halfAxes.setColumn(0, planeXAxis);
391
+ halfAxes.setColumn(1, planeYAxis);
392
+ halfAxes.setColumn(2, planeZAxis);
393
+
394
+ const centerOffset = scratchOffset
395
+ .set((minimumX + maximumX) / 2.0, (minimumY + maximumY) / 2.0, (minimumZ + maximumZ) / 2.0)
396
+ .transformByMatrix3(halfAxes);
397
+
398
+ const scaleX = (maximumX - minimumX) / 2.0;
399
+ const scaleY = (maximumY - minimumY) / 2.0;
400
+ const scaleZ = (maximumZ - minimumZ) / 2.0;
401
+ halfAxes[0] *= scaleX;
402
+ halfAxes[1] *= scaleX;
403
+ halfAxes[2] *= scaleX;
404
+ halfAxes[3] *= scaleY;
405
+ halfAxes[4] *= scaleY;
406
+ halfAxes[5] *= scaleY;
407
+ halfAxes[6] *= scaleZ;
408
+ halfAxes[7] *= scaleZ;
409
+ halfAxes[8] *= scaleZ;
410
+
411
+ center.copy(planeOrigin).add(centerOffset);
412
+
413
+ return result;
414
+ }
@@ -1 +0,0 @@
1
- {"version":3,"file":"ellipsoid.d.ts","sourceRoot":"","sources":["../../src/ellipsoid/ellipsoid.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ellipsoid.js","sourceRoot":"","sources":["../../src/ellipsoid/ellipsoid.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ellipsoid-transform.d.ts","sourceRoot":"","sources":["../../../src/ellipsoid/helpers/ellipsoid-transform.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAG5C,OAAO,KAAK,EAAC,SAAS,EAAC,wBAAqB;AAM5C,MAAM,MAAM,aAAa,GAAG,IAAI,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;AAsEhF,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,aAAa,EACxB,UAAU,EAAE,aAAa,EACzB,SAAS,EAAE,aAAa,EACxB,eAAe,EAAE,QAAQ,CAAC,YAAY,CAAC,EACvC,MAAM,EAAE,MAAM,EAAE,GACf,MAAM,EAAE,CAuEV"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ellipsoid-transform.js","sourceRoot":"","sources":["../../../src/ellipsoid/helpers/ellipsoid-transform.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"scale-to-geodetic-surface.d.ts","sourceRoot":"","sources":["../../../src/ellipsoid/helpers/scale-to-geodetic-surface.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAC,SAAS,EAAC,wBAAqB;AAS5C,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,MAAM,EAAE,EACnB,SAAS,EAAE,SAAS,EACpB,MAAM,GAAE,MAAM,EAAO,GACpB,MAAM,EAAE,CAuFV"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"scale-to-geodetic-surface.js","sourceRoot":"","sources":["../../../src/ellipsoid/helpers/scale-to-geodetic-surface.ts"],"names":[],"mappings":"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"}