planning
All checks were successful
Publish To Prod / deploy_and_publish (push) Successful in 35s

This commit is contained in:
2024-10-14 09:15:30 +02:00
parent bcba00a730
commit 6e64e138e2
21059 changed files with 2317811 additions and 1 deletions

28
node_modules/ol/geom/flat/area.d.ts generated vendored Normal file
View File

@@ -0,0 +1,28 @@
/**
* @module ol/geom/flat/area
*/
/**
* @param {Array<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {number} end End.
* @param {number} stride Stride.
* @return {number} Area.
*/
export function linearRing(flatCoordinates: Array<number>, offset: number, end: number, stride: number): number;
/**
* @param {Array<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {Array<number>} ends Ends.
* @param {number} stride Stride.
* @return {number} Area.
*/
export function linearRings(flatCoordinates: Array<number>, offset: number, ends: Array<number>, stride: number): number;
/**
* @param {Array<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {Array<Array<number>>} endss Endss.
* @param {number} stride Stride.
* @return {number} Area.
*/
export function linearRingss(flatCoordinates: Array<number>, offset: number, endss: Array<Array<number>>, stride: number): number;
//# sourceMappingURL=area.d.ts.map

1
node_modules/ol/geom/flat/area.d.ts.map generated vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"area.d.ts","sourceRoot":"","sources":["../../src/geom/flat/area.js"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;;;GAMG;AACH,4CANW,MAAM,MAAM,CAAC,UACb,MAAM,OACN,MAAM,UACN,MAAM,GACL,MAAM,CAcjB;AAED;;;;;;GAMG;AACH,6CANW,MAAM,MAAM,CAAC,UACb,MAAM,QACN,MAAM,MAAM,CAAC,UACb,MAAM,GACL,MAAM,CAUjB;AAED;;;;;;GAMG;AACH,8CANW,MAAM,MAAM,CAAC,UACb,MAAM,SACN,MAAM,MAAM,MAAM,CAAC,CAAC,UACpB,MAAM,GACL,MAAM,CAUjB"}

56
node_modules/ol/geom/flat/area.js generated vendored Normal file
View File

@@ -0,0 +1,56 @@
/**
* @module ol/geom/flat/area
*/
/**
* @param {Array<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {number} end End.
* @param {number} stride Stride.
* @return {number} Area.
*/
export function linearRing(flatCoordinates, offset, end, stride) {
var twiceArea = 0;
var x1 = flatCoordinates[end - stride];
var y1 = flatCoordinates[end - stride + 1];
for (; offset < end; offset += stride) {
var x2 = flatCoordinates[offset];
var y2 = flatCoordinates[offset + 1];
twiceArea += y1 * x2 - x1 * y2;
x1 = x2;
y1 = y2;
}
return twiceArea / 2;
}
/**
* @param {Array<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {Array<number>} ends Ends.
* @param {number} stride Stride.
* @return {number} Area.
*/
export function linearRings(flatCoordinates, offset, ends, stride) {
var area = 0;
for (var i = 0, ii = ends.length; i < ii; ++i) {
var end = ends[i];
area += linearRing(flatCoordinates, offset, end, stride);
offset = end;
}
return area;
}
/**
* @param {Array<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {Array<Array<number>>} endss Endss.
* @param {number} stride Stride.
* @return {number} Area.
*/
export function linearRingss(flatCoordinates, offset, endss, stride) {
var area = 0;
for (var i = 0, ii = endss.length; i < ii; ++i) {
var ends = endss[i];
area += linearRings(flatCoordinates, offset, ends, stride);
offset = ends[ends.length - 1];
}
return area;
}
//# sourceMappingURL=area.js.map

1
node_modules/ol/geom/flat/area.js.map generated vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"area.js","sourceRoot":"","sources":["../../src/geom/flat/area.js"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;;;GAMG;AACH,MAAM,UAAU,UAAU,CAAC,eAAe,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;IAC7D,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,IAAI,EAAE,GAAG,eAAe,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC;IACvC,IAAI,EAAE,GAAG,eAAe,CAAC,GAAG,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC;IAC3C,OAAO,MAAM,GAAG,GAAG,EAAE,MAAM,IAAI,MAAM,EAAE;QACrC,IAAM,EAAE,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;QACnC,IAAM,EAAE,GAAG,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACvC,SAAS,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;QAC/B,EAAE,GAAG,EAAE,CAAC;QACR,EAAE,GAAG,EAAE,CAAC;KACT;IACD,OAAO,SAAS,GAAG,CAAC,CAAC;AACvB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,WAAW,CAAC,eAAe,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAC/D,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE;QAC7C,IAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,IAAI,IAAI,UAAU,CAAC,eAAe,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;QACzD,MAAM,GAAG,GAAG,CAAC;KACd;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAAC,eAAe,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IACjE,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE;QAC9C,IAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,IAAI,IAAI,WAAW,CAAC,eAAe,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAC3D,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;KAChC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}

9
node_modules/ol/geom/flat/center.d.ts generated vendored Normal file
View File

@@ -0,0 +1,9 @@
/**
* @param {Array<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {Array<Array<number>>} endss Endss.
* @param {number} stride Stride.
* @return {Array<number>} Flat centers.
*/
export function linearRingss(flatCoordinates: Array<number>, offset: number, endss: Array<Array<number>>, stride: number): Array<number>;
//# sourceMappingURL=center.d.ts.map

1
node_modules/ol/geom/flat/center.d.ts.map generated vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"center.d.ts","sourceRoot":"","sources":["../../src/geom/flat/center.js"],"names":[],"mappings":"AAKA;;;;;;GAMG;AACH,8CANW,MAAM,MAAM,CAAC,UACb,MAAM,SACN,MAAM,MAAM,MAAM,CAAC,CAAC,UACpB,MAAM,GACL,MAAM,MAAM,CAAC,CAiBxB"}

23
node_modules/ol/geom/flat/center.js generated vendored Normal file
View File

@@ -0,0 +1,23 @@
/**
* @module ol/geom/flat/center
*/
import { createEmpty, createOrUpdateFromFlatCoordinates } from '../../extent.js';
/**
* @param {Array<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {Array<Array<number>>} endss Endss.
* @param {number} stride Stride.
* @return {Array<number>} Flat centers.
*/
export function linearRingss(flatCoordinates, offset, endss, stride) {
var flatCenters = [];
var extent = createEmpty();
for (var i = 0, ii = endss.length; i < ii; ++i) {
var ends = endss[i];
extent = createOrUpdateFromFlatCoordinates(flatCoordinates, offset, ends[0], stride);
flatCenters.push((extent[0] + extent[2]) / 2, (extent[1] + extent[3]) / 2);
offset = ends[ends.length - 1];
}
return flatCenters;
}
//# sourceMappingURL=center.js.map

1
node_modules/ol/geom/flat/center.js.map generated vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"center.js","sourceRoot":"","sources":["../../src/geom/flat/center.js"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAC,WAAW,EAAE,iCAAiC,EAAC,MAAM,iBAAiB,CAAC;AAE/E;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAAC,eAAe,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IACjE,IAAM,WAAW,GAAG,EAAE,CAAC;IACvB,IAAI,MAAM,GAAG,WAAW,EAAE,CAAC;IAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE;QAC9C,IAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,MAAM,GAAG,iCAAiC,CACxC,eAAe,EACf,MAAM,EACN,IAAI,CAAC,CAAC,CAAC,EACP,MAAM,CACP,CAAC;QACF,WAAW,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC3E,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;KAChC;IACD,OAAO,WAAW,CAAC;AACrB,CAAC"}

75
node_modules/ol/geom/flat/closest.d.ts generated vendored Normal file
View File

@@ -0,0 +1,75 @@
/**
* Return the squared of the largest distance between any pair of consecutive
* coordinates.
* @param {Array<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {number} end End.
* @param {number} stride Stride.
* @param {number} max Max squared delta.
* @return {number} Max squared delta.
*/
export function maxSquaredDelta(flatCoordinates: Array<number>, offset: number, end: number, stride: number, max: number): number;
/**
* @param {Array<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {Array<number>} ends Ends.
* @param {number} stride Stride.
* @param {number} max Max squared delta.
* @return {number} Max squared delta.
*/
export function arrayMaxSquaredDelta(flatCoordinates: Array<number>, offset: number, ends: Array<number>, stride: number, max: number): number;
/**
* @param {Array<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {Array<Array<number>>} endss Endss.
* @param {number} stride Stride.
* @param {number} max Max squared delta.
* @return {number} Max squared delta.
*/
export function multiArrayMaxSquaredDelta(flatCoordinates: Array<number>, offset: number, endss: Array<Array<number>>, stride: number, max: number): number;
/**
* @param {Array<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {number} end End.
* @param {number} stride Stride.
* @param {number} maxDelta Max delta.
* @param {boolean} isRing Is ring.
* @param {number} x X.
* @param {number} y Y.
* @param {Array<number>} closestPoint Closest point.
* @param {number} minSquaredDistance Minimum squared distance.
* @param {Array<number>} [opt_tmpPoint] Temporary point object.
* @return {number} Minimum squared distance.
*/
export function assignClosestPoint(flatCoordinates: Array<number>, offset: number, end: number, stride: number, maxDelta: number, isRing: boolean, x: number, y: number, closestPoint: Array<number>, minSquaredDistance: number, opt_tmpPoint?: number[] | undefined): number;
/**
* @param {Array<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {Array<number>} ends Ends.
* @param {number} stride Stride.
* @param {number} maxDelta Max delta.
* @param {boolean} isRing Is ring.
* @param {number} x X.
* @param {number} y Y.
* @param {Array<number>} closestPoint Closest point.
* @param {number} minSquaredDistance Minimum squared distance.
* @param {Array<number>} [opt_tmpPoint] Temporary point object.
* @return {number} Minimum squared distance.
*/
export function assignClosestArrayPoint(flatCoordinates: Array<number>, offset: number, ends: Array<number>, stride: number, maxDelta: number, isRing: boolean, x: number, y: number, closestPoint: Array<number>, minSquaredDistance: number, opt_tmpPoint?: number[] | undefined): number;
/**
* @param {Array<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {Array<Array<number>>} endss Endss.
* @param {number} stride Stride.
* @param {number} maxDelta Max delta.
* @param {boolean} isRing Is ring.
* @param {number} x X.
* @param {number} y Y.
* @param {Array<number>} closestPoint Closest point.
* @param {number} minSquaredDistance Minimum squared distance.
* @param {Array<number>} [opt_tmpPoint] Temporary point object.
* @return {number} Minimum squared distance.
*/
export function assignClosestMultiArrayPoint(flatCoordinates: Array<number>, offset: number, endss: Array<Array<number>>, stride: number, maxDelta: number, isRing: boolean, x: number, y: number, closestPoint: Array<number>, minSquaredDistance: number, opt_tmpPoint?: number[] | undefined): number;
//# sourceMappingURL=closest.d.ts.map

1
node_modules/ol/geom/flat/closest.d.ts.map generated vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"closest.d.ts","sourceRoot":"","sources":["../../src/geom/flat/closest.js"],"names":[],"mappings":"AAyDA;;;;;;;;;GASG;AACH,iDAPW,MAAM,MAAM,CAAC,UACb,MAAM,OACN,MAAM,UACN,MAAM,OACN,MAAM,GACL,MAAM,CAgBjB;AAED;;;;;;;GAOG;AACH,sDAPW,MAAM,MAAM,CAAC,UACb,MAAM,QACN,MAAM,MAAM,CAAC,UACb,MAAM,OACN,MAAM,GACL,MAAM,CAejB;AAED;;;;;;;GAOG;AACH,2DAPW,MAAM,MAAM,CAAC,UACb,MAAM,SACN,MAAM,MAAM,MAAM,CAAC,CAAC,UACpB,MAAM,OACN,MAAM,GACL,MAAM,CAejB;AAED;;;;;;;;;;;;;GAaG;AACH,oDAbW,MAAM,MAAM,CAAC,UACb,MAAM,OACN,MAAM,UACN,MAAM,YACN,MAAM,UACN,OAAO,KACP,MAAM,KACN,MAAM,gBACN,MAAM,MAAM,CAAC,sBACb,MAAM,wCAEL,MAAM,CAmGjB;AAED;;;;;;;;;;;;;GAaG;AACH,yDAbW,MAAM,MAAM,CAAC,UACb,MAAM,QACN,MAAM,MAAM,CAAC,UACb,MAAM,YACN,MAAM,UACN,OAAO,KACP,MAAM,KACN,MAAM,gBACN,MAAM,MAAM,CAAC,sBACb,MAAM,wCAEL,MAAM,CAkCjB;AAED;;;;;;;;;;;;;GAaG;AACH,8DAbW,MAAM,MAAM,CAAC,UACb,MAAM,SACN,MAAM,MAAM,MAAM,CAAC,CAAC,UACpB,MAAM,YACN,MAAM,UACN,OAAO,KACP,MAAM,KACN,MAAM,gBACN,MAAM,MAAM,CAAC,sBACb,MAAM,wCAEL,MAAM,CAkCjB"}

228
node_modules/ol/geom/flat/closest.js generated vendored Normal file
View File

@@ -0,0 +1,228 @@
/**
* @module ol/geom/flat/closest
*/
import { lerp, squaredDistance as squaredDx } from '../../math.js';
/**
* Returns the point on the 2D line segment flatCoordinates[offset1] to
* flatCoordinates[offset2] that is closest to the point (x, y). Extra
* dimensions are linearly interpolated.
* @param {Array<number>} flatCoordinates Flat coordinates.
* @param {number} offset1 Offset 1.
* @param {number} offset2 Offset 2.
* @param {number} stride Stride.
* @param {number} x X.
* @param {number} y Y.
* @param {Array<number>} closestPoint Closest point.
*/
function assignClosest(flatCoordinates, offset1, offset2, stride, x, y, closestPoint) {
var x1 = flatCoordinates[offset1];
var y1 = flatCoordinates[offset1 + 1];
var dx = flatCoordinates[offset2] - x1;
var dy = flatCoordinates[offset2 + 1] - y1;
var offset;
if (dx === 0 && dy === 0) {
offset = offset1;
}
else {
var t = ((x - x1) * dx + (y - y1) * dy) / (dx * dx + dy * dy);
if (t > 1) {
offset = offset2;
}
else if (t > 0) {
for (var i = 0; i < stride; ++i) {
closestPoint[i] = lerp(flatCoordinates[offset1 + i], flatCoordinates[offset2 + i], t);
}
closestPoint.length = stride;
return;
}
else {
offset = offset1;
}
}
for (var i = 0; i < stride; ++i) {
closestPoint[i] = flatCoordinates[offset + i];
}
closestPoint.length = stride;
}
/**
* Return the squared of the largest distance between any pair of consecutive
* coordinates.
* @param {Array<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {number} end End.
* @param {number} stride Stride.
* @param {number} max Max squared delta.
* @return {number} Max squared delta.
*/
export function maxSquaredDelta(flatCoordinates, offset, end, stride, max) {
var x1 = flatCoordinates[offset];
var y1 = flatCoordinates[offset + 1];
for (offset += stride; offset < end; offset += stride) {
var x2 = flatCoordinates[offset];
var y2 = flatCoordinates[offset + 1];
var squaredDelta = squaredDx(x1, y1, x2, y2);
if (squaredDelta > max) {
max = squaredDelta;
}
x1 = x2;
y1 = y2;
}
return max;
}
/**
* @param {Array<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {Array<number>} ends Ends.
* @param {number} stride Stride.
* @param {number} max Max squared delta.
* @return {number} Max squared delta.
*/
export function arrayMaxSquaredDelta(flatCoordinates, offset, ends, stride, max) {
for (var i = 0, ii = ends.length; i < ii; ++i) {
var end = ends[i];
max = maxSquaredDelta(flatCoordinates, offset, end, stride, max);
offset = end;
}
return max;
}
/**
* @param {Array<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {Array<Array<number>>} endss Endss.
* @param {number} stride Stride.
* @param {number} max Max squared delta.
* @return {number} Max squared delta.
*/
export function multiArrayMaxSquaredDelta(flatCoordinates, offset, endss, stride, max) {
for (var i = 0, ii = endss.length; i < ii; ++i) {
var ends = endss[i];
max = arrayMaxSquaredDelta(flatCoordinates, offset, ends, stride, max);
offset = ends[ends.length - 1];
}
return max;
}
/**
* @param {Array<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {number} end End.
* @param {number} stride Stride.
* @param {number} maxDelta Max delta.
* @param {boolean} isRing Is ring.
* @param {number} x X.
* @param {number} y Y.
* @param {Array<number>} closestPoint Closest point.
* @param {number} minSquaredDistance Minimum squared distance.
* @param {Array<number>} [opt_tmpPoint] Temporary point object.
* @return {number} Minimum squared distance.
*/
export function assignClosestPoint(flatCoordinates, offset, end, stride, maxDelta, isRing, x, y, closestPoint, minSquaredDistance, opt_tmpPoint) {
if (offset == end) {
return minSquaredDistance;
}
var i, squaredDistance;
if (maxDelta === 0) {
// All points are identical, so just test the first point.
squaredDistance = squaredDx(x, y, flatCoordinates[offset], flatCoordinates[offset + 1]);
if (squaredDistance < minSquaredDistance) {
for (i = 0; i < stride; ++i) {
closestPoint[i] = flatCoordinates[offset + i];
}
closestPoint.length = stride;
return squaredDistance;
}
else {
return minSquaredDistance;
}
}
var tmpPoint = opt_tmpPoint ? opt_tmpPoint : [NaN, NaN];
var index = offset + stride;
while (index < end) {
assignClosest(flatCoordinates, index - stride, index, stride, x, y, tmpPoint);
squaredDistance = squaredDx(x, y, tmpPoint[0], tmpPoint[1]);
if (squaredDistance < minSquaredDistance) {
minSquaredDistance = squaredDistance;
for (i = 0; i < stride; ++i) {
closestPoint[i] = tmpPoint[i];
}
closestPoint.length = stride;
index += stride;
}
else {
// Skip ahead multiple points, because we know that all the skipped
// points cannot be any closer than the closest point we have found so
// far. We know this because we know how close the current point is, how
// close the closest point we have found so far is, and the maximum
// distance between consecutive points. For example, if we're currently
// at distance 10, the best we've found so far is 3, and that the maximum
// distance between consecutive points is 2, then we'll need to skip at
// least (10 - 3) / 2 == 3 (rounded down) points to have any chance of
// finding a closer point. We use Math.max(..., 1) to ensure that we
// always advance at least one point, to avoid an infinite loop.
index +=
stride *
Math.max(((Math.sqrt(squaredDistance) - Math.sqrt(minSquaredDistance)) /
maxDelta) |
0, 1);
}
}
if (isRing) {
// Check the closing segment.
assignClosest(flatCoordinates, end - stride, offset, stride, x, y, tmpPoint);
squaredDistance = squaredDx(x, y, tmpPoint[0], tmpPoint[1]);
if (squaredDistance < minSquaredDistance) {
minSquaredDistance = squaredDistance;
for (i = 0; i < stride; ++i) {
closestPoint[i] = tmpPoint[i];
}
closestPoint.length = stride;
}
}
return minSquaredDistance;
}
/**
* @param {Array<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {Array<number>} ends Ends.
* @param {number} stride Stride.
* @param {number} maxDelta Max delta.
* @param {boolean} isRing Is ring.
* @param {number} x X.
* @param {number} y Y.
* @param {Array<number>} closestPoint Closest point.
* @param {number} minSquaredDistance Minimum squared distance.
* @param {Array<number>} [opt_tmpPoint] Temporary point object.
* @return {number} Minimum squared distance.
*/
export function assignClosestArrayPoint(flatCoordinates, offset, ends, stride, maxDelta, isRing, x, y, closestPoint, minSquaredDistance, opt_tmpPoint) {
var tmpPoint = opt_tmpPoint ? opt_tmpPoint : [NaN, NaN];
for (var i = 0, ii = ends.length; i < ii; ++i) {
var end = ends[i];
minSquaredDistance = assignClosestPoint(flatCoordinates, offset, end, stride, maxDelta, isRing, x, y, closestPoint, minSquaredDistance, tmpPoint);
offset = end;
}
return minSquaredDistance;
}
/**
* @param {Array<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {Array<Array<number>>} endss Endss.
* @param {number} stride Stride.
* @param {number} maxDelta Max delta.
* @param {boolean} isRing Is ring.
* @param {number} x X.
* @param {number} y Y.
* @param {Array<number>} closestPoint Closest point.
* @param {number} minSquaredDistance Minimum squared distance.
* @param {Array<number>} [opt_tmpPoint] Temporary point object.
* @return {number} Minimum squared distance.
*/
export function assignClosestMultiArrayPoint(flatCoordinates, offset, endss, stride, maxDelta, isRing, x, y, closestPoint, minSquaredDistance, opt_tmpPoint) {
var tmpPoint = opt_tmpPoint ? opt_tmpPoint : [NaN, NaN];
for (var i = 0, ii = endss.length; i < ii; ++i) {
var ends = endss[i];
minSquaredDistance = assignClosestArrayPoint(flatCoordinates, offset, ends, stride, maxDelta, isRing, x, y, closestPoint, minSquaredDistance, tmpPoint);
offset = ends[ends.length - 1];
}
return minSquaredDistance;
}
//# sourceMappingURL=closest.js.map

1
node_modules/ol/geom/flat/closest.js.map generated vendored Normal file

File diff suppressed because one or more lines are too long

40
node_modules/ol/geom/flat/contains.d.ts generated vendored Normal file
View File

@@ -0,0 +1,40 @@
/**
* @param {Array<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {number} end End.
* @param {number} stride Stride.
* @param {import("../../extent.js").Extent} extent Extent.
* @return {boolean} Contains extent.
*/
export function linearRingContainsExtent(flatCoordinates: Array<number>, offset: number, end: number, stride: number, extent: import("../../extent.js").Extent): boolean;
/**
* @param {Array<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {number} end End.
* @param {number} stride Stride.
* @param {number} x X.
* @param {number} y Y.
* @return {boolean} Contains (x, y).
*/
export function linearRingContainsXY(flatCoordinates: Array<number>, offset: number, end: number, stride: number, x: number, y: number): boolean;
/**
* @param {Array<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {Array<number>} ends Ends.
* @param {number} stride Stride.
* @param {number} x X.
* @param {number} y Y.
* @return {boolean} Contains (x, y).
*/
export function linearRingsContainsXY(flatCoordinates: Array<number>, offset: number, ends: Array<number>, stride: number, x: number, y: number): boolean;
/**
* @param {Array<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {Array<Array<number>>} endss Endss.
* @param {number} stride Stride.
* @param {number} x X.
* @param {number} y Y.
* @return {boolean} Contains (x, y).
*/
export function linearRingssContainsXY(flatCoordinates: Array<number>, offset: number, endss: Array<Array<number>>, stride: number, x: number, y: number): boolean;
//# sourceMappingURL=contains.d.ts.map

1
node_modules/ol/geom/flat/contains.d.ts.map generated vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"contains.d.ts","sourceRoot":"","sources":["../../src/geom/flat/contains.js"],"names":[],"mappings":"AAKA;;;;;;;GAOG;AACH,0DAPW,MAAM,MAAM,CAAC,UACb,MAAM,OACN,MAAM,UACN,MAAM,UACN,OAAO,iBAAiB,EAAE,MAAM,GAC/B,OAAO,CA2BlB;AAED;;;;;;;;GAQG;AACH,sDARW,MAAM,MAAM,CAAC,UACb,MAAM,OACN,MAAM,UACN,MAAM,KACN,MAAM,KACN,MAAM,GACL,OAAO,CAkClB;AAED;;;;;;;;GAQG;AACH,uDARW,MAAM,MAAM,CAAC,UACb,MAAM,QACN,MAAM,MAAM,CAAC,UACb,MAAM,KACN,MAAM,KACN,MAAM,GACL,OAAO,CAwBlB;AAED;;;;;;;;GAQG;AACH,wDARW,MAAM,MAAM,CAAC,UACb,MAAM,SACN,MAAM,MAAM,MAAM,CAAC,CAAC,UACpB,MAAM,KACN,MAAM,KACN,MAAM,GACL,OAAO,CAqBlB"}

105
node_modules/ol/geom/flat/contains.js generated vendored Normal file
View File

@@ -0,0 +1,105 @@
/**
* @module ol/geom/flat/contains
*/
import { forEachCorner } from '../../extent.js';
/**
* @param {Array<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {number} end End.
* @param {number} stride Stride.
* @param {import("../../extent.js").Extent} extent Extent.
* @return {boolean} Contains extent.
*/
export function linearRingContainsExtent(flatCoordinates, offset, end, stride, extent) {
var outside = forEachCorner(extent,
/**
* @param {import("../../coordinate.js").Coordinate} coordinate Coordinate.
* @return {boolean} Contains (x, y).
*/
function (coordinate) {
return !linearRingContainsXY(flatCoordinates, offset, end, stride, coordinate[0], coordinate[1]);
});
return !outside;
}
/**
* @param {Array<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {number} end End.
* @param {number} stride Stride.
* @param {number} x X.
* @param {number} y Y.
* @return {boolean} Contains (x, y).
*/
export function linearRingContainsXY(flatCoordinates, offset, end, stride, x, y) {
// https://geomalgorithms.com/a03-_inclusion.html
// Copyright 2000 softSurfer, 2012 Dan Sunday
// This code may be freely used and modified for any purpose
// providing that this copyright notice is included with it.
// SoftSurfer makes no warranty for this code, and cannot be held
// liable for any real or imagined damage resulting from its use.
// Users of this code must verify correctness for their application.
var wn = 0;
var x1 = flatCoordinates[end - stride];
var y1 = flatCoordinates[end - stride + 1];
for (; offset < end; offset += stride) {
var x2 = flatCoordinates[offset];
var y2 = flatCoordinates[offset + 1];
if (y1 <= y) {
if (y2 > y && (x2 - x1) * (y - y1) - (x - x1) * (y2 - y1) > 0) {
wn++;
}
}
else if (y2 <= y && (x2 - x1) * (y - y1) - (x - x1) * (y2 - y1) < 0) {
wn--;
}
x1 = x2;
y1 = y2;
}
return wn !== 0;
}
/**
* @param {Array<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {Array<number>} ends Ends.
* @param {number} stride Stride.
* @param {number} x X.
* @param {number} y Y.
* @return {boolean} Contains (x, y).
*/
export function linearRingsContainsXY(flatCoordinates, offset, ends, stride, x, y) {
if (ends.length === 0) {
return false;
}
if (!linearRingContainsXY(flatCoordinates, offset, ends[0], stride, x, y)) {
return false;
}
for (var i = 1, ii = ends.length; i < ii; ++i) {
if (linearRingContainsXY(flatCoordinates, ends[i - 1], ends[i], stride, x, y)) {
return false;
}
}
return true;
}
/**
* @param {Array<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {Array<Array<number>>} endss Endss.
* @param {number} stride Stride.
* @param {number} x X.
* @param {number} y Y.
* @return {boolean} Contains (x, y).
*/
export function linearRingssContainsXY(flatCoordinates, offset, endss, stride, x, y) {
if (endss.length === 0) {
return false;
}
for (var i = 0, ii = endss.length; i < ii; ++i) {
var ends = endss[i];
if (linearRingsContainsXY(flatCoordinates, offset, ends, stride, x, y)) {
return true;
}
offset = ends[ends.length - 1];
}
return false;
}
//# sourceMappingURL=contains.js.map

1
node_modules/ol/geom/flat/contains.js.map generated vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"contains.js","sourceRoot":"","sources":["../../src/geom/flat/contains.js"],"names":[],"mappings":"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"}

38
node_modules/ol/geom/flat/deflate.d.ts generated vendored Normal file
View File

@@ -0,0 +1,38 @@
/**
* @module ol/geom/flat/deflate
*/
/**
* @param {Array<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {import("../../coordinate.js").Coordinate} coordinate Coordinate.
* @param {number} stride Stride.
* @return {number} offset Offset.
*/
export function deflateCoordinate(flatCoordinates: Array<number>, offset: number, coordinate: import("../../coordinate.js").Coordinate, stride: number): number;
/**
* @param {Array<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {Array<import("../../coordinate.js").Coordinate>} coordinates Coordinates.
* @param {number} stride Stride.
* @return {number} offset Offset.
*/
export function deflateCoordinates(flatCoordinates: Array<number>, offset: number, coordinates: Array<import("../../coordinate.js").Coordinate>, stride: number): number;
/**
* @param {Array<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {Array<Array<import("../../coordinate.js").Coordinate>>} coordinatess Coordinatess.
* @param {number} stride Stride.
* @param {Array<number>} [opt_ends] Ends.
* @return {Array<number>} Ends.
*/
export function deflateCoordinatesArray(flatCoordinates: Array<number>, offset: number, coordinatess: Array<Array<import("../../coordinate.js").Coordinate>>, stride: number, opt_ends?: number[] | undefined): Array<number>;
/**
* @param {Array<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {Array<Array<Array<import("../../coordinate.js").Coordinate>>>} coordinatesss Coordinatesss.
* @param {number} stride Stride.
* @param {Array<Array<number>>} [opt_endss] Endss.
* @return {Array<Array<number>>} Endss.
*/
export function deflateMultiCoordinatesArray(flatCoordinates: Array<number>, offset: number, coordinatesss: Array<Array<Array<import("../../coordinate.js").Coordinate>>>, stride: number, opt_endss?: number[][] | undefined): Array<Array<number>>;
//# sourceMappingURL=deflate.d.ts.map

1
node_modules/ol/geom/flat/deflate.d.ts.map generated vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"deflate.d.ts","sourceRoot":"","sources":["../../src/geom/flat/deflate.js"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;;;GAMG;AACH,mDANW,MAAM,MAAM,CAAC,UACb,MAAM,cACN,OAAO,qBAAqB,EAAE,UAAU,UACxC,MAAM,GACL,MAAM,CAOjB;AAED;;;;;;GAMG;AACH,oDANW,MAAM,MAAM,CAAC,UACb,MAAM,eACN,MAAM,OAAO,qBAAqB,EAAE,UAAU,CAAC,UAC/C,MAAM,GACL,MAAM,CAejB;AAED;;;;;;;GAOG;AACH,yDAPW,MAAM,MAAM,CAAC,UACb,MAAM,gBACN,MAAM,MAAM,OAAO,qBAAqB,EAAE,UAAU,CAAC,CAAC,UACtD,MAAM,oCAEL,MAAM,MAAM,CAAC,CAuBxB;AAED;;;;;;;GAOG;AACH,8DAPW,MAAM,MAAM,CAAC,UACb,MAAM,iBACN,MAAM,MAAM,MAAM,OAAO,qBAAqB,EAAE,UAAU,CAAC,CAAC,CAAC,UAC7D,MAAM,uCAEL,MAAM,MAAM,MAAM,CAAC,CAAC,CAwB/B"}

71
node_modules/ol/geom/flat/deflate.js generated vendored Normal file
View File

@@ -0,0 +1,71 @@
/**
* @module ol/geom/flat/deflate
*/
/**
* @param {Array<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {import("../../coordinate.js").Coordinate} coordinate Coordinate.
* @param {number} stride Stride.
* @return {number} offset Offset.
*/
export function deflateCoordinate(flatCoordinates, offset, coordinate, stride) {
for (var i = 0, ii = coordinate.length; i < ii; ++i) {
flatCoordinates[offset++] = coordinate[i];
}
return offset;
}
/**
* @param {Array<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {Array<import("../../coordinate.js").Coordinate>} coordinates Coordinates.
* @param {number} stride Stride.
* @return {number} offset Offset.
*/
export function deflateCoordinates(flatCoordinates, offset, coordinates, stride) {
for (var i = 0, ii = coordinates.length; i < ii; ++i) {
var coordinate = coordinates[i];
for (var j = 0; j < stride; ++j) {
flatCoordinates[offset++] = coordinate[j];
}
}
return offset;
}
/**
* @param {Array<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {Array<Array<import("../../coordinate.js").Coordinate>>} coordinatess Coordinatess.
* @param {number} stride Stride.
* @param {Array<number>} [opt_ends] Ends.
* @return {Array<number>} Ends.
*/
export function deflateCoordinatesArray(flatCoordinates, offset, coordinatess, stride, opt_ends) {
var ends = opt_ends ? opt_ends : [];
var i = 0;
for (var j = 0, jj = coordinatess.length; j < jj; ++j) {
var end = deflateCoordinates(flatCoordinates, offset, coordinatess[j], stride);
ends[i++] = end;
offset = end;
}
ends.length = i;
return ends;
}
/**
* @param {Array<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {Array<Array<Array<import("../../coordinate.js").Coordinate>>>} coordinatesss Coordinatesss.
* @param {number} stride Stride.
* @param {Array<Array<number>>} [opt_endss] Endss.
* @return {Array<Array<number>>} Endss.
*/
export function deflateMultiCoordinatesArray(flatCoordinates, offset, coordinatesss, stride, opt_endss) {
var endss = opt_endss ? opt_endss : [];
var i = 0;
for (var j = 0, jj = coordinatesss.length; j < jj; ++j) {
var ends = deflateCoordinatesArray(flatCoordinates, offset, coordinatesss[j], stride, endss[i]);
endss[i++] = ends;
offset = ends[ends.length - 1];
}
endss.length = i;
return endss;
}
//# sourceMappingURL=deflate.js.map

1
node_modules/ol/geom/flat/deflate.js.map generated vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"deflate.js","sourceRoot":"","sources":["../../src/geom/flat/deflate.js"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAAC,eAAe,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;IAC3E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE;QACnD,eAAe,CAAC,MAAM,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;KAC3C;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAChC,eAAe,EACf,MAAM,EACN,WAAW,EACX,MAAM;IAEN,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE;QACpD,IAAM,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;QAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,EAAE,CAAC,EAAE;YAC/B,eAAe,CAAC,MAAM,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;SAC3C;KACF;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,uBAAuB,CACrC,eAAe,EACf,MAAM,EACN,YAAY,EACZ,MAAM,EACN,QAAQ;IAER,IAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;IACtC,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE;QACrD,IAAM,GAAG,GAAG,kBAAkB,CAC5B,eAAe,EACf,MAAM,EACN,YAAY,CAAC,CAAC,CAAC,EACf,MAAM,CACP,CAAC;QACF,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;QAChB,MAAM,GAAG,GAAG,CAAC;KACd;IACD,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IAChB,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,4BAA4B,CAC1C,eAAe,EACf,MAAM,EACN,aAAa,EACb,MAAM,EACN,SAAS;IAET,IAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;IACzC,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE;QACtD,IAAM,IAAI,GAAG,uBAAuB,CAClC,eAAe,EACf,MAAM,EACN,aAAa,CAAC,CAAC,CAAC,EAChB,MAAM,EACN,KAAK,CAAC,CAAC,CAAC,CACT,CAAC;QACF,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;QAClB,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;KAChC;IACD,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IACjB,OAAO,KAAK,CAAC;AACf,CAAC"}

14
node_modules/ol/geom/flat/flip.d.ts generated vendored Normal file
View File

@@ -0,0 +1,14 @@
/**
* @module ol/geom/flat/flip
*/
/**
* @param {Array<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {number} end End.
* @param {number} stride Stride.
* @param {Array<number>} [opt_dest] Destination.
* @param {number} [opt_destOffset] Destination offset.
* @return {Array<number>} Flat coordinates.
*/
export function flipXY(flatCoordinates: Array<number>, offset: number, end: number, stride: number, opt_dest?: number[] | undefined, opt_destOffset?: number | undefined): Array<number>;
//# sourceMappingURL=flip.d.ts.map

1
node_modules/ol/geom/flat/flip.d.ts.map generated vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"flip.d.ts","sourceRoot":"","sources":["../../src/geom/flat/flip.js"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;;;;;GAQG;AACH,wCARW,MAAM,MAAM,CAAC,UACb,MAAM,OACN,MAAM,UACN,MAAM,yEAGL,MAAM,MAAM,CAAC,CA6BxB"}

35
node_modules/ol/geom/flat/flip.js generated vendored Normal file
View File

@@ -0,0 +1,35 @@
/**
* @module ol/geom/flat/flip
*/
/**
* @param {Array<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {number} end End.
* @param {number} stride Stride.
* @param {Array<number>} [opt_dest] Destination.
* @param {number} [opt_destOffset] Destination offset.
* @return {Array<number>} Flat coordinates.
*/
export function flipXY(flatCoordinates, offset, end, stride, opt_dest, opt_destOffset) {
var dest, destOffset;
if (opt_dest !== undefined) {
dest = opt_dest;
destOffset = opt_destOffset !== undefined ? opt_destOffset : 0;
}
else {
dest = [];
destOffset = 0;
}
var j = offset;
while (j < end) {
var x = flatCoordinates[j++];
dest[destOffset++] = flatCoordinates[j++];
dest[destOffset++] = x;
for (var k = 2; k < stride; ++k) {
dest[destOffset++] = flatCoordinates[j++];
}
}
dest.length = destOffset;
return dest;
}
//# sourceMappingURL=flip.js.map

1
node_modules/ol/geom/flat/flip.js.map generated vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"flip.js","sourceRoot":"","sources":["../../src/geom/flat/flip.js"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;;;;;GAQG;AACH,MAAM,UAAU,MAAM,CACpB,eAAe,EACf,MAAM,EACN,GAAG,EACH,MAAM,EACN,QAAQ,EACR,cAAc;IAEd,IAAI,IAAI,EAAE,UAAU,CAAC;IACrB,IAAI,QAAQ,KAAK,SAAS,EAAE;QAC1B,IAAI,GAAG,QAAQ,CAAC;QAChB,UAAU,GAAG,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;KAChE;SAAM;QACL,IAAI,GAAG,EAAE,CAAC;QACV,UAAU,GAAG,CAAC,CAAC;KAChB;IACD,IAAI,CAAC,GAAG,MAAM,CAAC;IACf,OAAO,CAAC,GAAG,GAAG,EAAE;QACd,IAAM,CAAC,GAAG,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC;QAC/B,IAAI,CAAC,UAAU,EAAE,CAAC,GAAG,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC;QAC1C,IAAI,CAAC,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC;QACvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,EAAE,CAAC,EAAE;YAC/B,IAAI,CAAC,UAAU,EAAE,CAAC,GAAG,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC;SAC3C;KACF;IACD,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC;IACzB,OAAO,IAAI,CAAC;AACd,CAAC"}

32
node_modules/ol/geom/flat/geodesic.d.ts generated vendored Normal file
View File

@@ -0,0 +1,32 @@
/**
* Generate a great-circle arcs between two lat/lon points.
* @param {number} lon1 Longitude 1 in degrees.
* @param {number} lat1 Latitude 1 in degrees.
* @param {number} lon2 Longitude 2 in degrees.
* @param {number} lat2 Latitude 2 in degrees.
* @param {import("../../proj/Projection.js").default} projection Projection.
* @param {number} squaredTolerance Squared tolerance.
* @return {Array<number>} Flat coordinates.
*/
export function greatCircleArc(lon1: number, lat1: number, lon2: number, lat2: number, projection: import("../../proj/Projection.js").default, squaredTolerance: number): Array<number>;
/**
* Generate a meridian (line at constant longitude).
* @param {number} lon Longitude.
* @param {number} lat1 Latitude 1.
* @param {number} lat2 Latitude 2.
* @param {import("../../proj/Projection.js").default} projection Projection.
* @param {number} squaredTolerance Squared tolerance.
* @return {Array<number>} Flat coordinates.
*/
export function meridian(lon: number, lat1: number, lat2: number, projection: import("../../proj/Projection.js").default, squaredTolerance: number): Array<number>;
/**
* Generate a parallel (line at constant latitude).
* @param {number} lat Latitude.
* @param {number} lon1 Longitude 1.
* @param {number} lon2 Longitude 2.
* @param {import("../../proj/Projection.js").default} projection Projection.
* @param {number} squaredTolerance Squared tolerance.
* @return {Array<number>} Flat coordinates.
*/
export function parallel(lat: number, lon1: number, lon2: number, projection: import("../../proj/Projection.js").default, squaredTolerance: number): Array<number>;
//# sourceMappingURL=geodesic.d.ts.map

1
node_modules/ol/geom/flat/geodesic.d.ts.map generated vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"geodesic.d.ts","sourceRoot":"","sources":["../../src/geom/flat/geodesic.js"],"names":[],"mappings":"AAgFA;;;;;;;;;GASG;AACH,qCARW,MAAM,QACN,MAAM,QACN,MAAM,QACN,MAAM,cACN,OAAO,0BAA0B,EAAE,OAAO,oBAC1C,MAAM,GACL,MAAM,MAAM,CAAC,CA+CxB;AAED;;;;;;;;GAQG;AACH,8BAPW,MAAM,QACN,MAAM,QACN,MAAM,cACN,OAAO,0BAA0B,EAAE,OAAO,oBAC1C,MAAM,GACL,MAAM,MAAM,CAAC,CAexB;AAED;;;;;;;;GAQG;AACH,8BAPW,MAAM,QACN,MAAM,QACN,MAAM,cACN,OAAO,0BAA0B,EAAE,OAAO,oBAC1C,MAAM,GACL,MAAM,MAAM,CAAC,CAexB"}

150
node_modules/ol/geom/flat/geodesic.js generated vendored Normal file
View File

@@ -0,0 +1,150 @@
/**
* @module ol/geom/flat/geodesic
*/
import { get as getProjection, getTransform } from '../../proj.js';
import { squaredSegmentDistance, toDegrees, toRadians } from '../../math.js';
/**
* @param {function(number): import("../../coordinate.js").Coordinate} interpolate Interpolate function.
* @param {import("../../proj.js").TransformFunction} transform Transform from longitude/latitude to
* projected coordinates.
* @param {number} squaredTolerance Squared tolerance.
* @return {Array<number>} Flat coordinates.
*/
function line(interpolate, transform, squaredTolerance) {
// FIXME reduce garbage generation
// FIXME optimize stack operations
/** @type {Array<number>} */
var flatCoordinates = [];
var geoA = interpolate(0);
var geoB = interpolate(1);
var a = transform(geoA);
var b = transform(geoB);
/** @type {Array<import("../../coordinate.js").Coordinate>} */
var geoStack = [geoB, geoA];
/** @type {Array<import("../../coordinate.js").Coordinate>} */
var stack = [b, a];
/** @type {Array<number>} */
var fractionStack = [1, 0];
/** @type {!Object<string, boolean>} */
var fractions = {};
var maxIterations = 1e5;
var geoM, m, fracA, fracB, fracM, key;
while (--maxIterations > 0 && fractionStack.length > 0) {
// Pop the a coordinate off the stack
fracA = fractionStack.pop();
geoA = geoStack.pop();
a = stack.pop();
// Add the a coordinate if it has not been added yet
key = fracA.toString();
if (!(key in fractions)) {
flatCoordinates.push(a[0], a[1]);
fractions[key] = true;
}
// Pop the b coordinate off the stack
fracB = fractionStack.pop();
geoB = geoStack.pop();
b = stack.pop();
// Find the m point between the a and b coordinates
fracM = (fracA + fracB) / 2;
geoM = interpolate(fracM);
m = transform(geoM);
if (squaredSegmentDistance(m[0], m[1], a[0], a[1], b[0], b[1]) <
squaredTolerance) {
// If the m point is sufficiently close to the straight line, then we
// discard it. Just use the b coordinate and move on to the next line
// segment.
flatCoordinates.push(b[0], b[1]);
key = fracB.toString();
fractions[key] = true;
}
else {
// Otherwise, we need to subdivide the current line segment. Split it
// into two and push the two line segments onto the stack.
fractionStack.push(fracB, fracM, fracM, fracA);
stack.push(b, m, m, a);
geoStack.push(geoB, geoM, geoM, geoA);
}
}
return flatCoordinates;
}
/**
* Generate a great-circle arcs between two lat/lon points.
* @param {number} lon1 Longitude 1 in degrees.
* @param {number} lat1 Latitude 1 in degrees.
* @param {number} lon2 Longitude 2 in degrees.
* @param {number} lat2 Latitude 2 in degrees.
* @param {import("../../proj/Projection.js").default} projection Projection.
* @param {number} squaredTolerance Squared tolerance.
* @return {Array<number>} Flat coordinates.
*/
export function greatCircleArc(lon1, lat1, lon2, lat2, projection, squaredTolerance) {
var geoProjection = getProjection('EPSG:4326');
var cosLat1 = Math.cos(toRadians(lat1));
var sinLat1 = Math.sin(toRadians(lat1));
var cosLat2 = Math.cos(toRadians(lat2));
var sinLat2 = Math.sin(toRadians(lat2));
var cosDeltaLon = Math.cos(toRadians(lon2 - lon1));
var sinDeltaLon = Math.sin(toRadians(lon2 - lon1));
var d = sinLat1 * sinLat2 + cosLat1 * cosLat2 * cosDeltaLon;
return line(
/**
* @param {number} frac Fraction.
* @return {import("../../coordinate.js").Coordinate} Coordinate.
*/
function (frac) {
if (1 <= d) {
return [lon2, lat2];
}
var D = frac * Math.acos(d);
var cosD = Math.cos(D);
var sinD = Math.sin(D);
var y = sinDeltaLon * cosLat2;
var x = cosLat1 * sinLat2 - sinLat1 * cosLat2 * cosDeltaLon;
var theta = Math.atan2(y, x);
var lat = Math.asin(sinLat1 * cosD + cosLat1 * sinD * Math.cos(theta));
var lon = toRadians(lon1) +
Math.atan2(Math.sin(theta) * sinD * cosLat1, cosD - sinLat1 * Math.sin(lat));
return [toDegrees(lon), toDegrees(lat)];
}, getTransform(geoProjection, projection), squaredTolerance);
}
/**
* Generate a meridian (line at constant longitude).
* @param {number} lon Longitude.
* @param {number} lat1 Latitude 1.
* @param {number} lat2 Latitude 2.
* @param {import("../../proj/Projection.js").default} projection Projection.
* @param {number} squaredTolerance Squared tolerance.
* @return {Array<number>} Flat coordinates.
*/
export function meridian(lon, lat1, lat2, projection, squaredTolerance) {
var epsg4326Projection = getProjection('EPSG:4326');
return line(
/**
* @param {number} frac Fraction.
* @return {import("../../coordinate.js").Coordinate} Coordinate.
*/
function (frac) {
return [lon, lat1 + (lat2 - lat1) * frac];
}, getTransform(epsg4326Projection, projection), squaredTolerance);
}
/**
* Generate a parallel (line at constant latitude).
* @param {number} lat Latitude.
* @param {number} lon1 Longitude 1.
* @param {number} lon2 Longitude 2.
* @param {import("../../proj/Projection.js").default} projection Projection.
* @param {number} squaredTolerance Squared tolerance.
* @return {Array<number>} Flat coordinates.
*/
export function parallel(lat, lon1, lon2, projection, squaredTolerance) {
var epsg4326Projection = getProjection('EPSG:4326');
return line(
/**
* @param {number} frac Fraction.
* @return {import("../../coordinate.js").Coordinate} Coordinate.
*/
function (frac) {
return [lon1 + (lon2 - lon1) * frac, lat];
}, getTransform(epsg4326Projection, projection), squaredTolerance);
}
//# sourceMappingURL=geodesic.js.map

1
node_modules/ol/geom/flat/geodesic.js.map generated vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"geodesic.js","sourceRoot":"","sources":["../../src/geom/flat/geodesic.js"],"names":[],"mappings":"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"}

32
node_modules/ol/geom/flat/inflate.d.ts generated vendored Normal file
View File

@@ -0,0 +1,32 @@
/**
* @module ol/geom/flat/inflate
*/
/**
* @param {Array<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {number} end End.
* @param {number} stride Stride.
* @param {Array<import("../../coordinate.js").Coordinate>} [opt_coordinates] Coordinates.
* @return {Array<import("../../coordinate.js").Coordinate>} Coordinates.
*/
export function inflateCoordinates(flatCoordinates: Array<number>, offset: number, end: number, stride: number, opt_coordinates?: import("../../coordinate.js").Coordinate[] | undefined): Array<import("../../coordinate.js").Coordinate>;
/**
* @param {Array<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {Array<number>} ends Ends.
* @param {number} stride Stride.
* @param {Array<Array<import("../../coordinate.js").Coordinate>>} [opt_coordinatess] Coordinatess.
* @return {Array<Array<import("../../coordinate.js").Coordinate>>} Coordinatess.
*/
export function inflateCoordinatesArray(flatCoordinates: Array<number>, offset: number, ends: Array<number>, stride: number, opt_coordinatess?: import("../../coordinate.js").Coordinate[][] | undefined): Array<Array<import("../../coordinate.js").Coordinate>>;
/**
* @param {Array<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {Array<Array<number>>} endss Endss.
* @param {number} stride Stride.
* @param {Array<Array<Array<import("../../coordinate.js").Coordinate>>>} [opt_coordinatesss]
* Coordinatesss.
* @return {Array<Array<Array<import("../../coordinate.js").Coordinate>>>} Coordinatesss.
*/
export function inflateMultiCoordinatesArray(flatCoordinates: Array<number>, offset: number, endss: Array<Array<number>>, stride: number, opt_coordinatesss?: import("../../coordinate.js").Coordinate[][][] | undefined): Array<Array<Array<import("../../coordinate.js").Coordinate>>>;
//# sourceMappingURL=inflate.d.ts.map

1
node_modules/ol/geom/flat/inflate.d.ts.map generated vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"inflate.d.ts","sourceRoot":"","sources":["../../src/geom/flat/inflate.js"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;;;;GAOG;AACH,oDAPW,MAAM,MAAM,CAAC,UACb,MAAM,OACN,MAAM,UACN,MAAM,6EAEL,MAAM,OAAO,qBAAqB,EAAE,UAAU,CAAC,CAgB1D;AAED;;;;;;;GAOG;AACH,yDAPW,MAAM,MAAM,CAAC,UACb,MAAM,QACN,MAAM,MAAM,CAAC,UACb,MAAM,gFAEL,MAAM,MAAM,OAAO,qBAAqB,EAAE,UAAU,CAAC,CAAC,CAwBjE;AAED;;;;;;;;GAQG;AACH,8DARW,MAAM,MAAM,CAAC,UACb,MAAM,SACN,MAAM,MAAM,MAAM,CAAC,CAAC,UACpB,MAAM,mFAGL,MAAM,MAAM,MAAM,OAAO,qBAAqB,EAAE,UAAU,CAAC,CAAC,CAAC,CAyBxE"}

60
node_modules/ol/geom/flat/inflate.js generated vendored Normal file
View File

@@ -0,0 +1,60 @@
/**
* @module ol/geom/flat/inflate
*/
/**
* @param {Array<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {number} end End.
* @param {number} stride Stride.
* @param {Array<import("../../coordinate.js").Coordinate>} [opt_coordinates] Coordinates.
* @return {Array<import("../../coordinate.js").Coordinate>} Coordinates.
*/
export function inflateCoordinates(flatCoordinates, offset, end, stride, opt_coordinates) {
var coordinates = opt_coordinates !== undefined ? opt_coordinates : [];
var i = 0;
for (var j = offset; j < end; j += stride) {
coordinates[i++] = flatCoordinates.slice(j, j + stride);
}
coordinates.length = i;
return coordinates;
}
/**
* @param {Array<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {Array<number>} ends Ends.
* @param {number} stride Stride.
* @param {Array<Array<import("../../coordinate.js").Coordinate>>} [opt_coordinatess] Coordinatess.
* @return {Array<Array<import("../../coordinate.js").Coordinate>>} Coordinatess.
*/
export function inflateCoordinatesArray(flatCoordinates, offset, ends, stride, opt_coordinatess) {
var coordinatess = opt_coordinatess !== undefined ? opt_coordinatess : [];
var i = 0;
for (var j = 0, jj = ends.length; j < jj; ++j) {
var end = ends[j];
coordinatess[i++] = inflateCoordinates(flatCoordinates, offset, end, stride, coordinatess[i]);
offset = end;
}
coordinatess.length = i;
return coordinatess;
}
/**
* @param {Array<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {Array<Array<number>>} endss Endss.
* @param {number} stride Stride.
* @param {Array<Array<Array<import("../../coordinate.js").Coordinate>>>} [opt_coordinatesss]
* Coordinatesss.
* @return {Array<Array<Array<import("../../coordinate.js").Coordinate>>>} Coordinatesss.
*/
export function inflateMultiCoordinatesArray(flatCoordinates, offset, endss, stride, opt_coordinatesss) {
var coordinatesss = opt_coordinatesss !== undefined ? opt_coordinatesss : [];
var i = 0;
for (var j = 0, jj = endss.length; j < jj; ++j) {
var ends = endss[j];
coordinatesss[i++] = inflateCoordinatesArray(flatCoordinates, offset, ends, stride, coordinatesss[i]);
offset = ends[ends.length - 1];
}
coordinatesss.length = i;
return coordinatesss;
}
//# sourceMappingURL=inflate.js.map

1
node_modules/ol/geom/flat/inflate.js.map generated vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"inflate.js","sourceRoot":"","sources":["../../src/geom/flat/inflate.js"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;;;;GAOG;AACH,MAAM,UAAU,kBAAkB,CAChC,eAAe,EACf,MAAM,EACN,GAAG,EACH,MAAM,EACN,eAAe;IAEf,IAAM,WAAW,GAAG,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;IACzE,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,KAAK,IAAI,CAAC,GAAG,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,IAAI,MAAM,EAAE;QACzC,WAAW,CAAC,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC;KACzD;IACD,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;IACvB,OAAO,WAAW,CAAC;AACrB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,uBAAuB,CACrC,eAAe,EACf,MAAM,EACN,IAAI,EACJ,MAAM,EACN,gBAAgB;IAEhB,IAAM,YAAY,GAAG,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5E,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE;QAC7C,IAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,YAAY,CAAC,CAAC,EAAE,CAAC,GAAG,kBAAkB,CACpC,eAAe,EACf,MAAM,EACN,GAAG,EACH,MAAM,EACN,YAAY,CAAC,CAAC,CAAC,CAChB,CAAC;QACF,MAAM,GAAG,GAAG,CAAC;KACd;IACD,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;IACxB,OAAO,YAAY,CAAC;AACtB,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,4BAA4B,CAC1C,eAAe,EACf,MAAM,EACN,KAAK,EACL,MAAM,EACN,iBAAiB;IAEjB,IAAM,aAAa,GACjB,iBAAiB,KAAK,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3D,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE;QAC9C,IAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,aAAa,CAAC,CAAC,EAAE,CAAC,GAAG,uBAAuB,CAC1C,eAAe,EACf,MAAM,EACN,IAAI,EACJ,MAAM,EACN,aAAa,CAAC,CAAC,CAAC,CACjB,CAAC;QACF,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;KAChC;IACD,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;IACzB,OAAO,aAAa,CAAC;AACvB,CAAC"}

25
node_modules/ol/geom/flat/interiorpoint.d.ts generated vendored Normal file
View File

@@ -0,0 +1,25 @@
/**
* Calculates a point that is likely to lie in the interior of the linear rings.
* Inspired by JTS's com.vividsolutions.jts.geom.Geometry#getInteriorPoint.
* @param {Array<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {Array<number>} ends Ends.
* @param {number} stride Stride.
* @param {Array<number>} flatCenters Flat centers.
* @param {number} flatCentersOffset Flat center offset.
* @param {Array<number>} [opt_dest] Destination.
* @return {Array<number>} Destination point as XYM coordinate, where M is the
* length of the horizontal intersection that the point belongs to.
*/
export function getInteriorPointOfArray(flatCoordinates: Array<number>, offset: number, ends: Array<number>, stride: number, flatCenters: Array<number>, flatCentersOffset: number, opt_dest?: number[] | undefined): Array<number>;
/**
* @param {Array<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {Array<Array<number>>} endss Endss.
* @param {number} stride Stride.
* @param {Array<number>} flatCenters Flat centers.
* @return {Array<number>} Interior points as XYM coordinates, where M is the
* length of the horizontal intersection that the point belongs to.
*/
export function getInteriorPointsOfMultiArray(flatCoordinates: Array<number>, offset: number, endss: Array<Array<number>>, stride: number, flatCenters: Array<number>): Array<number>;
//# sourceMappingURL=interiorpoint.d.ts.map

1
node_modules/ol/geom/flat/interiorpoint.d.ts.map generated vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"interiorpoint.d.ts","sourceRoot":"","sources":["../../src/geom/flat/interiorpoint.js"],"names":[],"mappings":"AAMA;;;;;;;;;;;;GAYG;AACH,yDAVW,MAAM,MAAM,CAAC,UACb,MAAM,QACN,MAAM,MAAM,CAAC,UACb,MAAM,eACN,MAAM,MAAM,CAAC,qBACb,MAAM,oCAEL,MAAM,MAAM,CAAC,CA6DxB;AAED;;;;;;;;GAQG;AACH,+DARW,MAAM,MAAM,CAAC,UACb,MAAM,SACN,MAAM,MAAM,MAAM,CAAC,CAAC,UACpB,MAAM,eACN,MAAM,MAAM,CAAC,GACZ,MAAM,MAAM,CAAC,CAyBxB"}

89
node_modules/ol/geom/flat/interiorpoint.js generated vendored Normal file
View File

@@ -0,0 +1,89 @@
/**
* @module ol/geom/flat/interiorpoint
*/
import { linearRingsContainsXY } from './contains.js';
import { numberSafeCompareFunction } from '../../array.js';
/**
* Calculates a point that is likely to lie in the interior of the linear rings.
* Inspired by JTS's com.vividsolutions.jts.geom.Geometry#getInteriorPoint.
* @param {Array<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {Array<number>} ends Ends.
* @param {number} stride Stride.
* @param {Array<number>} flatCenters Flat centers.
* @param {number} flatCentersOffset Flat center offset.
* @param {Array<number>} [opt_dest] Destination.
* @return {Array<number>} Destination point as XYM coordinate, where M is the
* length of the horizontal intersection that the point belongs to.
*/
export function getInteriorPointOfArray(flatCoordinates, offset, ends, stride, flatCenters, flatCentersOffset, opt_dest) {
var i, ii, x, x1, x2, y1, y2;
var y = flatCenters[flatCentersOffset + 1];
/** @type {Array<number>} */
var intersections = [];
// Calculate intersections with the horizontal line
for (var r = 0, rr = ends.length; r < rr; ++r) {
var end = ends[r];
x1 = flatCoordinates[end - stride];
y1 = flatCoordinates[end - stride + 1];
for (i = offset; i < end; i += stride) {
x2 = flatCoordinates[i];
y2 = flatCoordinates[i + 1];
if ((y <= y1 && y2 <= y) || (y1 <= y && y <= y2)) {
x = ((y - y1) / (y2 - y1)) * (x2 - x1) + x1;
intersections.push(x);
}
x1 = x2;
y1 = y2;
}
}
// Find the longest segment of the horizontal line that has its center point
// inside the linear ring.
var pointX = NaN;
var maxSegmentLength = -Infinity;
intersections.sort(numberSafeCompareFunction);
x1 = intersections[0];
for (i = 1, ii = intersections.length; i < ii; ++i) {
x2 = intersections[i];
var segmentLength = Math.abs(x2 - x1);
if (segmentLength > maxSegmentLength) {
x = (x1 + x2) / 2;
if (linearRingsContainsXY(flatCoordinates, offset, ends, stride, x, y)) {
pointX = x;
maxSegmentLength = segmentLength;
}
}
x1 = x2;
}
if (isNaN(pointX)) {
// There is no horizontal line that has its center point inside the linear
// ring. Use the center of the the linear ring's extent.
pointX = flatCenters[flatCentersOffset];
}
if (opt_dest) {
opt_dest.push(pointX, y, maxSegmentLength);
return opt_dest;
}
else {
return [pointX, y, maxSegmentLength];
}
}
/**
* @param {Array<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {Array<Array<number>>} endss Endss.
* @param {number} stride Stride.
* @param {Array<number>} flatCenters Flat centers.
* @return {Array<number>} Interior points as XYM coordinates, where M is the
* length of the horizontal intersection that the point belongs to.
*/
export function getInteriorPointsOfMultiArray(flatCoordinates, offset, endss, stride, flatCenters) {
var interiorPoints = [];
for (var i = 0, ii = endss.length; i < ii; ++i) {
var ends = endss[i];
interiorPoints = getInteriorPointOfArray(flatCoordinates, offset, ends, stride, flatCenters, 2 * i, interiorPoints);
offset = ends[ends.length - 1];
}
return interiorPoints;
}
//# sourceMappingURL=interiorpoint.js.map

1
node_modules/ol/geom/flat/interiorpoint.js.map generated vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"interiorpoint.js","sourceRoot":"","sources":["../../src/geom/flat/interiorpoint.js"],"names":[],"mappings":"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"}

33
node_modules/ol/geom/flat/interpolate.d.ts generated vendored Normal file
View File

@@ -0,0 +1,33 @@
/**
* @param {Array<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {number} end End.
* @param {number} stride Stride.
* @param {number} fraction Fraction.
* @param {Array<number>} [opt_dest] Destination.
* @param {number} [opt_dimension] Destination dimension (default is `2`)
* @return {Array<number>} Destination.
*/
export function interpolatePoint(flatCoordinates: Array<number>, offset: number, end: number, stride: number, fraction: number, opt_dest?: number[] | undefined, opt_dimension?: number | undefined): Array<number>;
/**
* @param {Array<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {number} end End.
* @param {number} stride Stride.
* @param {number} m M.
* @param {boolean} extrapolate Extrapolate.
* @return {import("../../coordinate.js").Coordinate|null} Coordinate.
*/
export function lineStringCoordinateAtM(flatCoordinates: Array<number>, offset: number, end: number, stride: number, m: number, extrapolate: boolean): import("../../coordinate.js").Coordinate | null;
/**
* @param {Array<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {Array<number>} ends Ends.
* @param {number} stride Stride.
* @param {number} m M.
* @param {boolean} extrapolate Extrapolate.
* @param {boolean} interpolate Interpolate.
* @return {import("../../coordinate.js").Coordinate|null} Coordinate.
*/
export function lineStringsCoordinateAtM(flatCoordinates: Array<number>, offset: number, ends: Array<number>, stride: number, m: number, extrapolate: boolean, interpolate: boolean): import("../../coordinate.js").Coordinate | null;
//# sourceMappingURL=interpolate.d.ts.map

1
node_modules/ol/geom/flat/interpolate.d.ts.map generated vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"interpolate.d.ts","sourceRoot":"","sources":["../../src/geom/flat/interpolate.js"],"names":[],"mappings":"AAMA;;;;;;;;;GASG;AACH,kDATW,MAAM,MAAM,CAAC,UACb,MAAM,OACN,MAAM,UACN,MAAM,YACN,MAAM,wEAGL,MAAM,MAAM,CAAC,CAqDxB;AAED;;;;;;;;GAQG;AACH,yDARW,MAAM,MAAM,CAAC,UACb,MAAM,OACN,MAAM,UACN,MAAM,KACN,MAAM,eACN,OAAO,GACN,OAAO,qBAAqB,EAAE,UAAU,GAAC,IAAI,CA+DxD;AAED;;;;;;;;;GASG;AACH,0DATW,MAAM,MAAM,CAAC,UACb,MAAM,QACN,MAAM,MAAM,CAAC,UACb,MAAM,KACN,MAAM,eACN,OAAO,eACP,OAAO,GACN,OAAO,qBAAqB,EAAE,UAAU,GAAC,IAAI,CA4DxD"}

175
node_modules/ol/geom/flat/interpolate.js generated vendored Normal file
View File

@@ -0,0 +1,175 @@
/**
* @module ol/geom/flat/interpolate
*/
import { binarySearch } from '../../array.js';
import { lerp } from '../../math.js';
/**
* @param {Array<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {number} end End.
* @param {number} stride Stride.
* @param {number} fraction Fraction.
* @param {Array<number>} [opt_dest] Destination.
* @param {number} [opt_dimension] Destination dimension (default is `2`)
* @return {Array<number>} Destination.
*/
export function interpolatePoint(flatCoordinates, offset, end, stride, fraction, opt_dest, opt_dimension) {
var o, t;
var n = (end - offset) / stride;
if (n === 1) {
o = offset;
}
else if (n === 2) {
o = offset;
t = fraction;
}
else if (n !== 0) {
var x1 = flatCoordinates[offset];
var y1 = flatCoordinates[offset + 1];
var length_1 = 0;
var cumulativeLengths = [0];
for (var i = offset + stride; i < end; i += stride) {
var x2 = flatCoordinates[i];
var y2 = flatCoordinates[i + 1];
length_1 += Math.sqrt((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1));
cumulativeLengths.push(length_1);
x1 = x2;
y1 = y2;
}
var target = fraction * length_1;
var index = binarySearch(cumulativeLengths, target);
if (index < 0) {
t =
(target - cumulativeLengths[-index - 2]) /
(cumulativeLengths[-index - 1] - cumulativeLengths[-index - 2]);
o = offset + (-index - 2) * stride;
}
else {
o = offset + index * stride;
}
}
var dimension = opt_dimension > 1 ? opt_dimension : 2;
var dest = opt_dest ? opt_dest : new Array(dimension);
for (var i = 0; i < dimension; ++i) {
dest[i] =
o === undefined
? NaN
: t === undefined
? flatCoordinates[o + i]
: lerp(flatCoordinates[o + i], flatCoordinates[o + stride + i], t);
}
return dest;
}
/**
* @param {Array<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {number} end End.
* @param {number} stride Stride.
* @param {number} m M.
* @param {boolean} extrapolate Extrapolate.
* @return {import("../../coordinate.js").Coordinate|null} Coordinate.
*/
export function lineStringCoordinateAtM(flatCoordinates, offset, end, stride, m, extrapolate) {
if (end == offset) {
return null;
}
var coordinate;
if (m < flatCoordinates[offset + stride - 1]) {
if (extrapolate) {
coordinate = flatCoordinates.slice(offset, offset + stride);
coordinate[stride - 1] = m;
return coordinate;
}
else {
return null;
}
}
else if (flatCoordinates[end - 1] < m) {
if (extrapolate) {
coordinate = flatCoordinates.slice(end - stride, end);
coordinate[stride - 1] = m;
return coordinate;
}
else {
return null;
}
}
// FIXME use O(1) search
if (m == flatCoordinates[offset + stride - 1]) {
return flatCoordinates.slice(offset, offset + stride);
}
var lo = offset / stride;
var hi = end / stride;
while (lo < hi) {
var mid = (lo + hi) >> 1;
if (m < flatCoordinates[(mid + 1) * stride - 1]) {
hi = mid;
}
else {
lo = mid + 1;
}
}
var m0 = flatCoordinates[lo * stride - 1];
if (m == m0) {
return flatCoordinates.slice((lo - 1) * stride, (lo - 1) * stride + stride);
}
var m1 = flatCoordinates[(lo + 1) * stride - 1];
var t = (m - m0) / (m1 - m0);
coordinate = [];
for (var i = 0; i < stride - 1; ++i) {
coordinate.push(lerp(flatCoordinates[(lo - 1) * stride + i], flatCoordinates[lo * stride + i], t));
}
coordinate.push(m);
return coordinate;
}
/**
* @param {Array<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {Array<number>} ends Ends.
* @param {number} stride Stride.
* @param {number} m M.
* @param {boolean} extrapolate Extrapolate.
* @param {boolean} interpolate Interpolate.
* @return {import("../../coordinate.js").Coordinate|null} Coordinate.
*/
export function lineStringsCoordinateAtM(flatCoordinates, offset, ends, stride, m, extrapolate, interpolate) {
if (interpolate) {
return lineStringCoordinateAtM(flatCoordinates, offset, ends[ends.length - 1], stride, m, extrapolate);
}
var coordinate;
if (m < flatCoordinates[stride - 1]) {
if (extrapolate) {
coordinate = flatCoordinates.slice(0, stride);
coordinate[stride - 1] = m;
return coordinate;
}
else {
return null;
}
}
if (flatCoordinates[flatCoordinates.length - 1] < m) {
if (extrapolate) {
coordinate = flatCoordinates.slice(flatCoordinates.length - stride);
coordinate[stride - 1] = m;
return coordinate;
}
else {
return null;
}
}
for (var i = 0, ii = ends.length; i < ii; ++i) {
var end = ends[i];
if (offset == end) {
continue;
}
if (m < flatCoordinates[offset + stride - 1]) {
return null;
}
else if (m <= flatCoordinates[end - 1]) {
return lineStringCoordinateAtM(flatCoordinates, offset, end, stride, m, false);
}
offset = end;
}
return null;
}
//# sourceMappingURL=interpolate.js.map

1
node_modules/ol/geom/flat/interpolate.js.map generated vendored Normal file

File diff suppressed because one or more lines are too long

46
node_modules/ol/geom/flat/intersectsextent.d.ts generated vendored Normal file
View File

@@ -0,0 +1,46 @@
/**
* @param {Array<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {number} end End.
* @param {number} stride Stride.
* @param {import("../../extent.js").Extent} extent Extent.
* @return {boolean} True if the geometry and the extent intersect.
*/
export function intersectsLineString(flatCoordinates: Array<number>, offset: number, end: number, stride: number, extent: import("../../extent.js").Extent): boolean;
/**
* @param {Array<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {Array<number>} ends Ends.
* @param {number} stride Stride.
* @param {import("../../extent.js").Extent} extent Extent.
* @return {boolean} True if the geometry and the extent intersect.
*/
export function intersectsLineStringArray(flatCoordinates: Array<number>, offset: number, ends: Array<number>, stride: number, extent: import("../../extent.js").Extent): boolean;
/**
* @param {Array<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {number} end End.
* @param {number} stride Stride.
* @param {import("../../extent.js").Extent} extent Extent.
* @return {boolean} True if the geometry and the extent intersect.
*/
export function intersectsLinearRing(flatCoordinates: Array<number>, offset: number, end: number, stride: number, extent: import("../../extent.js").Extent): boolean;
/**
* @param {Array<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {Array<number>} ends Ends.
* @param {number} stride Stride.
* @param {import("../../extent.js").Extent} extent Extent.
* @return {boolean} True if the geometry and the extent intersect.
*/
export function intersectsLinearRingArray(flatCoordinates: Array<number>, offset: number, ends: Array<number>, stride: number, extent: import("../../extent.js").Extent): boolean;
/**
* @param {Array<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {Array<Array<number>>} endss Endss.
* @param {number} stride Stride.
* @param {import("../../extent.js").Extent} extent Extent.
* @return {boolean} True if the geometry and the extent intersect.
*/
export function intersectsLinearRingMultiArray(flatCoordinates: Array<number>, offset: number, endss: Array<Array<number>>, stride: number, extent: import("../../extent.js").Extent): boolean;
//# sourceMappingURL=intersectsextent.d.ts.map

1
node_modules/ol/geom/flat/intersectsextent.d.ts.map generated vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"intersectsextent.d.ts","sourceRoot":"","sources":["../../src/geom/flat/intersectsextent.js"],"names":[],"mappings":"AAaA;;;;;;;GAOG;AACH,sDAPW,MAAM,MAAM,CAAC,UACb,MAAM,OACN,MAAM,UACN,MAAM,UACN,OAAO,iBAAiB,EAAE,MAAM,GAC/B,OAAO,CA2ClB;AAED;;;;;;;GAOG;AACH,2DAPW,MAAM,MAAM,CAAC,UACb,MAAM,QACN,MAAM,MAAM,CAAC,UACb,MAAM,UACN,OAAO,iBAAiB,EAAE,MAAM,GAC/B,OAAO,CAkBlB;AAED;;;;;;;GAOG;AACH,sDAPW,MAAM,MAAM,CAAC,UACb,MAAM,OACN,MAAM,UACN,MAAM,UACN,OAAO,iBAAiB,EAAE,MAAM,GAC/B,OAAO,CA6DlB;AAED;;;;;;;GAOG;AACH,2DAPW,MAAM,MAAM,CAAC,UACb,MAAM,QACN,MAAM,MAAM,CAAC,UACb,MAAM,UACN,OAAO,iBAAiB,EAAE,MAAM,GAC/B,OAAO,CAuClB;AAED;;;;;;;GAOG;AACH,gEAPW,MAAM,MAAM,CAAC,UACb,MAAM,SACN,MAAM,MAAM,MAAM,CAAC,CAAC,UACpB,MAAM,UACN,OAAO,iBAAiB,EAAE,MAAM,GAC/B,OAAO,CAmBlB"}

125
node_modules/ol/geom/flat/intersectsextent.js generated vendored Normal file
View File

@@ -0,0 +1,125 @@
/**
* @module ol/geom/flat/intersectsextent
*/
import { containsExtent, createEmpty, extendFlatCoordinates, intersects, intersectsSegment, } from '../../extent.js';
import { forEach as forEachSegment } from './segments.js';
import { linearRingContainsExtent, linearRingContainsXY } from './contains.js';
/**
* @param {Array<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {number} end End.
* @param {number} stride Stride.
* @param {import("../../extent.js").Extent} extent Extent.
* @return {boolean} True if the geometry and the extent intersect.
*/
export function intersectsLineString(flatCoordinates, offset, end, stride, extent) {
var coordinatesExtent = extendFlatCoordinates(createEmpty(), flatCoordinates, offset, end, stride);
if (!intersects(extent, coordinatesExtent)) {
return false;
}
if (containsExtent(extent, coordinatesExtent)) {
return true;
}
if (coordinatesExtent[0] >= extent[0] && coordinatesExtent[2] <= extent[2]) {
return true;
}
if (coordinatesExtent[1] >= extent[1] && coordinatesExtent[3] <= extent[3]) {
return true;
}
return forEachSegment(flatCoordinates, offset, end, stride,
/**
* @param {import("../../coordinate.js").Coordinate} point1 Start point.
* @param {import("../../coordinate.js").Coordinate} point2 End point.
* @return {boolean} `true` if the segment and the extent intersect,
* `false` otherwise.
*/
function (point1, point2) {
return intersectsSegment(extent, point1, point2);
});
}
/**
* @param {Array<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {Array<number>} ends Ends.
* @param {number} stride Stride.
* @param {import("../../extent.js").Extent} extent Extent.
* @return {boolean} True if the geometry and the extent intersect.
*/
export function intersectsLineStringArray(flatCoordinates, offset, ends, stride, extent) {
for (var i = 0, ii = ends.length; i < ii; ++i) {
if (intersectsLineString(flatCoordinates, offset, ends[i], stride, extent)) {
return true;
}
offset = ends[i];
}
return false;
}
/**
* @param {Array<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {number} end End.
* @param {number} stride Stride.
* @param {import("../../extent.js").Extent} extent Extent.
* @return {boolean} True if the geometry and the extent intersect.
*/
export function intersectsLinearRing(flatCoordinates, offset, end, stride, extent) {
if (intersectsLineString(flatCoordinates, offset, end, stride, extent)) {
return true;
}
if (linearRingContainsXY(flatCoordinates, offset, end, stride, extent[0], extent[1])) {
return true;
}
if (linearRingContainsXY(flatCoordinates, offset, end, stride, extent[0], extent[3])) {
return true;
}
if (linearRingContainsXY(flatCoordinates, offset, end, stride, extent[2], extent[1])) {
return true;
}
if (linearRingContainsXY(flatCoordinates, offset, end, stride, extent[2], extent[3])) {
return true;
}
return false;
}
/**
* @param {Array<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {Array<number>} ends Ends.
* @param {number} stride Stride.
* @param {import("../../extent.js").Extent} extent Extent.
* @return {boolean} True if the geometry and the extent intersect.
*/
export function intersectsLinearRingArray(flatCoordinates, offset, ends, stride, extent) {
if (!intersectsLinearRing(flatCoordinates, offset, ends[0], stride, extent)) {
return false;
}
if (ends.length === 1) {
return true;
}
for (var i = 1, ii = ends.length; i < ii; ++i) {
if (linearRingContainsExtent(flatCoordinates, ends[i - 1], ends[i], stride, extent)) {
if (!intersectsLineString(flatCoordinates, ends[i - 1], ends[i], stride, extent)) {
return false;
}
}
}
return true;
}
/**
* @param {Array<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {Array<Array<number>>} endss Endss.
* @param {number} stride Stride.
* @param {import("../../extent.js").Extent} extent Extent.
* @return {boolean} True if the geometry and the extent intersect.
*/
export function intersectsLinearRingMultiArray(flatCoordinates, offset, endss, stride, extent) {
for (var i = 0, ii = endss.length; i < ii; ++i) {
var ends = endss[i];
if (intersectsLinearRingArray(flatCoordinates, offset, ends, stride, extent)) {
return true;
}
offset = ends[ends.length - 1];
}
return false;
}
//# sourceMappingURL=intersectsextent.js.map

1
node_modules/ol/geom/flat/intersectsextent.js.map generated vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"intersectsextent.js","sourceRoot":"","sources":["../../src/geom/flat/intersectsextent.js"],"names":[],"mappings":"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"}

20
node_modules/ol/geom/flat/length.d.ts generated vendored Normal file
View File

@@ -0,0 +1,20 @@
/**
* @module ol/geom/flat/length
*/
/**
* @param {Array<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {number} end End.
* @param {number} stride Stride.
* @return {number} Length.
*/
export function lineStringLength(flatCoordinates: Array<number>, offset: number, end: number, stride: number): number;
/**
* @param {Array<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {number} end End.
* @param {number} stride Stride.
* @return {number} Perimeter.
*/
export function linearRingLength(flatCoordinates: Array<number>, offset: number, end: number, stride: number): number;
//# sourceMappingURL=length.d.ts.map

1
node_modules/ol/geom/flat/length.d.ts.map generated vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"length.d.ts","sourceRoot":"","sources":["../../src/geom/flat/length.js"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;;;GAMG;AACH,kDANW,MAAM,MAAM,CAAC,UACb,MAAM,OACN,MAAM,UACN,MAAM,GACL,MAAM,CAcjB;AAED;;;;;;GAMG;AACH,kDANW,MAAM,MAAM,CAAC,UACb,MAAM,OACN,MAAM,UACN,MAAM,GACL,MAAM,CAQjB"}

38
node_modules/ol/geom/flat/length.js generated vendored Normal file
View File

@@ -0,0 +1,38 @@
/**
* @module ol/geom/flat/length
*/
/**
* @param {Array<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {number} end End.
* @param {number} stride Stride.
* @return {number} Length.
*/
export function lineStringLength(flatCoordinates, offset, end, stride) {
var x1 = flatCoordinates[offset];
var y1 = flatCoordinates[offset + 1];
var length = 0;
for (var i = offset + stride; i < end; i += stride) {
var x2 = flatCoordinates[i];
var y2 = flatCoordinates[i + 1];
length += Math.sqrt((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1));
x1 = x2;
y1 = y2;
}
return length;
}
/**
* @param {Array<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {number} end End.
* @param {number} stride Stride.
* @return {number} Perimeter.
*/
export function linearRingLength(flatCoordinates, offset, end, stride) {
var perimeter = lineStringLength(flatCoordinates, offset, end, stride);
var dx = flatCoordinates[end - stride] - flatCoordinates[offset];
var dy = flatCoordinates[end - stride + 1] - flatCoordinates[offset + 1];
perimeter += Math.sqrt(dx * dx + dy * dy);
return perimeter;
}
//# sourceMappingURL=length.js.map

1
node_modules/ol/geom/flat/length.js.map generated vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"length.js","sourceRoot":"","sources":["../../src/geom/flat/length.js"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,eAAe,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;IACnE,IAAI,EAAE,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IACjC,IAAI,EAAE,GAAG,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACrC,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,KAAK,IAAI,CAAC,GAAG,MAAM,GAAG,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,IAAI,MAAM,EAAE;QAClD,IAAM,EAAE,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;QAC9B,IAAM,EAAE,GAAG,eAAe,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAClC,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;QACnE,EAAE,GAAG,EAAE,CAAC;QACR,EAAE,GAAG,EAAE,CAAC;KACT;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,eAAe,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;IACnE,IAAI,SAAS,GAAG,gBAAgB,CAAC,eAAe,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;IACvE,IAAM,EAAE,GAAG,eAAe,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IACnE,IAAM,EAAE,GAAG,eAAe,CAAC,GAAG,GAAG,MAAM,GAAG,CAAC,CAAC,GAAG,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC3E,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IAC1C,OAAO,SAAS,CAAC;AACnB,CAAC"}

76
node_modules/ol/geom/flat/orient.d.ts generated vendored Normal file
View File

@@ -0,0 +1,76 @@
/**
* Is the linear ring oriented clockwise in a coordinate system with a bottom-left
* coordinate origin? For a coordinate system with a top-left coordinate origin,
* the ring's orientation is clockwise when this function returns false.
* @param {Array<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {number} end End.
* @param {number} stride Stride.
* @return {boolean} Is clockwise.
*/
export function linearRingIsClockwise(flatCoordinates: Array<number>, offset: number, end: number, stride: number): boolean;
/**
* Determines if linear rings are oriented. By default, left-hand orientation
* is tested (first ring must be clockwise, remaining rings counter-clockwise).
* To test for right-hand orientation, use the `opt_right` argument.
*
* @param {Array<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {Array<number>} ends Array of end indexes.
* @param {number} stride Stride.
* @param {boolean} [opt_right] Test for right-hand orientation
* (counter-clockwise exterior ring and clockwise interior rings).
* @return {boolean} Rings are correctly oriented.
*/
export function linearRingsAreOriented(flatCoordinates: Array<number>, offset: number, ends: Array<number>, stride: number, opt_right?: boolean | undefined): boolean;
/**
* Determines if linear rings are oriented. By default, left-hand orientation
* is tested (first ring must be clockwise, remaining rings counter-clockwise).
* To test for right-hand orientation, use the `opt_right` argument.
*
* @param {Array<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {Array<Array<number>>} endss Array of array of end indexes.
* @param {number} stride Stride.
* @param {boolean} [opt_right] Test for right-hand orientation
* (counter-clockwise exterior ring and clockwise interior rings).
* @return {boolean} Rings are correctly oriented.
*/
export function linearRingssAreOriented(flatCoordinates: Array<number>, offset: number, endss: Array<Array<number>>, stride: number, opt_right?: boolean | undefined): boolean;
/**
* Orient coordinates in a flat array of linear rings. By default, rings
* are oriented following the left-hand rule (clockwise for exterior and
* counter-clockwise for interior rings). To orient according to the
* right-hand rule, use the `opt_right` argument.
*
* @param {Array<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {Array<number>} ends Ends.
* @param {number} stride Stride.
* @param {boolean} [opt_right] Follow the right-hand rule for orientation.
* @return {number} End.
*/
export function orientLinearRings(flatCoordinates: Array<number>, offset: number, ends: Array<number>, stride: number, opt_right?: boolean | undefined): number;
/**
* Orient coordinates in a flat array of linear rings. By default, rings
* are oriented following the left-hand rule (clockwise for exterior and
* counter-clockwise for interior rings). To orient according to the
* right-hand rule, use the `opt_right` argument.
*
* @param {Array<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {Array<Array<number>>} endss Array of array of end indexes.
* @param {number} stride Stride.
* @param {boolean} [opt_right] Follow the right-hand rule for orientation.
* @return {number} End.
*/
export function orientLinearRingsArray(flatCoordinates: Array<number>, offset: number, endss: Array<Array<number>>, stride: number, opt_right?: boolean | undefined): number;
/**
* Return a two-dimensional endss
* @param {Array<number>} flatCoordinates Flat coordinates
* @param {Array<number>} ends Linear ring end indexes
* @return {Array<Array<number>>} Two dimensional endss array that can
* be used to contruct a MultiPolygon
*/
export function inflateEnds(flatCoordinates: Array<number>, ends: Array<number>): Array<Array<number>>;
//# sourceMappingURL=orient.d.ts.map

1
node_modules/ol/geom/flat/orient.d.ts.map generated vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"orient.d.ts","sourceRoot":"","sources":["../../src/geom/flat/orient.js"],"names":[],"mappings":"AAKA;;;;;;;;;GASG;AACH,uDANW,MAAM,MAAM,CAAC,UACb,MAAM,OACN,MAAM,UACN,MAAM,GACL,OAAO,CAgBlB;AAED;;;;;;;;;;;;GAYG;AACH,wDARW,MAAM,MAAM,CAAC,UACb,MAAM,QACN,MAAM,MAAM,CAAC,UACb,MAAM,oCAGL,OAAO,CA8BlB;AAED;;;;;;;;;;;;GAYG;AACH,yDARW,MAAM,MAAM,CAAC,UACb,MAAM,SACN,MAAM,MAAM,MAAM,CAAC,CAAC,UACpB,MAAM,oCAGL,OAAO,CAqBlB;AAED;;;;;;;;;;;;GAYG;AACH,mDAPW,MAAM,MAAM,CAAC,UACb,MAAM,QACN,MAAM,MAAM,CAAC,UACb,MAAM,oCAEL,MAAM,CA4BjB;AAED;;;;;;;;;;;;GAYG;AACH,wDAPW,MAAM,MAAM,CAAC,UACb,MAAM,SACN,MAAM,MAAM,MAAM,CAAC,CAAC,UACpB,MAAM,oCAEL,MAAM,CAmBjB;AAED;;;;;;GAMG;AACH,6CALW,MAAM,MAAM,CAAC,QACb,MAAM,MAAM,CAAC,GACZ,MAAM,MAAM,MAAM,CAAC,CAAC,CAsB/B"}

162
node_modules/ol/geom/flat/orient.js generated vendored Normal file
View File

@@ -0,0 +1,162 @@
/**
* @module ol/geom/flat/orient
*/
import { coordinates as reverseCoordinates } from './reverse.js';
/**
* Is the linear ring oriented clockwise in a coordinate system with a bottom-left
* coordinate origin? For a coordinate system with a top-left coordinate origin,
* the ring's orientation is clockwise when this function returns false.
* @param {Array<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {number} end End.
* @param {number} stride Stride.
* @return {boolean} Is clockwise.
*/
export function linearRingIsClockwise(flatCoordinates, offset, end, stride) {
// https://stackoverflow.com/q/1165647/clockwise-method#1165943
// https://github.com/OSGeo/gdal/blob/master/gdal/ogr/ogrlinearring.cpp
var edge = 0;
var x1 = flatCoordinates[end - stride];
var y1 = flatCoordinates[end - stride + 1];
for (; offset < end; offset += stride) {
var x2 = flatCoordinates[offset];
var y2 = flatCoordinates[offset + 1];
edge += (x2 - x1) * (y2 + y1);
x1 = x2;
y1 = y2;
}
return edge === 0 ? undefined : edge > 0;
}
/**
* Determines if linear rings are oriented. By default, left-hand orientation
* is tested (first ring must be clockwise, remaining rings counter-clockwise).
* To test for right-hand orientation, use the `opt_right` argument.
*
* @param {Array<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {Array<number>} ends Array of end indexes.
* @param {number} stride Stride.
* @param {boolean} [opt_right] Test for right-hand orientation
* (counter-clockwise exterior ring and clockwise interior rings).
* @return {boolean} Rings are correctly oriented.
*/
export function linearRingsAreOriented(flatCoordinates, offset, ends, stride, opt_right) {
var right = opt_right !== undefined ? opt_right : false;
for (var i = 0, ii = ends.length; i < ii; ++i) {
var end = ends[i];
var isClockwise = linearRingIsClockwise(flatCoordinates, offset, end, stride);
if (i === 0) {
if ((right && isClockwise) || (!right && !isClockwise)) {
return false;
}
}
else {
if ((right && !isClockwise) || (!right && isClockwise)) {
return false;
}
}
offset = end;
}
return true;
}
/**
* Determines if linear rings are oriented. By default, left-hand orientation
* is tested (first ring must be clockwise, remaining rings counter-clockwise).
* To test for right-hand orientation, use the `opt_right` argument.
*
* @param {Array<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {Array<Array<number>>} endss Array of array of end indexes.
* @param {number} stride Stride.
* @param {boolean} [opt_right] Test for right-hand orientation
* (counter-clockwise exterior ring and clockwise interior rings).
* @return {boolean} Rings are correctly oriented.
*/
export function linearRingssAreOriented(flatCoordinates, offset, endss, stride, opt_right) {
for (var i = 0, ii = endss.length; i < ii; ++i) {
var ends = endss[i];
if (!linearRingsAreOriented(flatCoordinates, offset, ends, stride, opt_right)) {
return false;
}
if (ends.length) {
offset = ends[ends.length - 1];
}
}
return true;
}
/**
* Orient coordinates in a flat array of linear rings. By default, rings
* are oriented following the left-hand rule (clockwise for exterior and
* counter-clockwise for interior rings). To orient according to the
* right-hand rule, use the `opt_right` argument.
*
* @param {Array<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {Array<number>} ends Ends.
* @param {number} stride Stride.
* @param {boolean} [opt_right] Follow the right-hand rule for orientation.
* @return {number} End.
*/
export function orientLinearRings(flatCoordinates, offset, ends, stride, opt_right) {
var right = opt_right !== undefined ? opt_right : false;
for (var i = 0, ii = ends.length; i < ii; ++i) {
var end = ends[i];
var isClockwise = linearRingIsClockwise(flatCoordinates, offset, end, stride);
var reverse = i === 0
? (right && isClockwise) || (!right && !isClockwise)
: (right && !isClockwise) || (!right && isClockwise);
if (reverse) {
reverseCoordinates(flatCoordinates, offset, end, stride);
}
offset = end;
}
return offset;
}
/**
* Orient coordinates in a flat array of linear rings. By default, rings
* are oriented following the left-hand rule (clockwise for exterior and
* counter-clockwise for interior rings). To orient according to the
* right-hand rule, use the `opt_right` argument.
*
* @param {Array<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {Array<Array<number>>} endss Array of array of end indexes.
* @param {number} stride Stride.
* @param {boolean} [opt_right] Follow the right-hand rule for orientation.
* @return {number} End.
*/
export function orientLinearRingsArray(flatCoordinates, offset, endss, stride, opt_right) {
for (var i = 0, ii = endss.length; i < ii; ++i) {
offset = orientLinearRings(flatCoordinates, offset, endss[i], stride, opt_right);
}
return offset;
}
/**
* Return a two-dimensional endss
* @param {Array<number>} flatCoordinates Flat coordinates
* @param {Array<number>} ends Linear ring end indexes
* @return {Array<Array<number>>} Two dimensional endss array that can
* be used to contruct a MultiPolygon
*/
export function inflateEnds(flatCoordinates, ends) {
var endss = [];
var offset = 0;
var prevEndIndex = 0;
for (var i = 0, ii = ends.length; i < ii; ++i) {
var end = ends[i];
// classifies an array of rings into polygons with outer rings and holes
if (!linearRingIsClockwise(flatCoordinates, offset, end, 2)) {
endss.push(ends.slice(prevEndIndex, i + 1));
}
else {
if (endss.length === 0) {
continue;
}
endss[endss.length - 1].push(ends[prevEndIndex]);
}
prevEndIndex = i + 1;
offset = end;
}
return endss;
}
//# sourceMappingURL=orient.js.map

1
node_modules/ol/geom/flat/orient.js.map generated vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"orient.js","sourceRoot":"","sources":["../../src/geom/flat/orient.js"],"names":[],"mappings":"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"}

11
node_modules/ol/geom/flat/reverse.d.ts generated vendored Normal file
View File

@@ -0,0 +1,11 @@
/**
* @module ol/geom/flat/reverse
*/
/**
* @param {Array<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {number} end End.
* @param {number} stride Stride.
*/
export function coordinates(flatCoordinates: Array<number>, offset: number, end: number, stride: number): void;
//# sourceMappingURL=reverse.d.ts.map

1
node_modules/ol/geom/flat/reverse.d.ts.map generated vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"reverse.d.ts","sourceRoot":"","sources":["../../src/geom/flat/reverse.js"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;;GAKG;AACH,6CALW,MAAM,MAAM,CAAC,UACb,MAAM,OACN,MAAM,UACN,MAAM,QAYhB"}

21
node_modules/ol/geom/flat/reverse.js generated vendored Normal file
View File

@@ -0,0 +1,21 @@
/**
* @module ol/geom/flat/reverse
*/
/**
* @param {Array<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {number} end End.
* @param {number} stride Stride.
*/
export function coordinates(flatCoordinates, offset, end, stride) {
while (offset < end - stride) {
for (var i = 0; i < stride; ++i) {
var tmp = flatCoordinates[offset + i];
flatCoordinates[offset + i] = flatCoordinates[end - stride + i];
flatCoordinates[end - stride + i] = tmp;
}
offset += stride;
end -= stride;
}
}
//# sourceMappingURL=reverse.js.map

1
node_modules/ol/geom/flat/reverse.js.map generated vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"reverse.js","sourceRoot":"","sources":["../../src/geom/flat/reverse.js"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAAC,eAAe,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;IAC9D,OAAO,MAAM,GAAG,GAAG,GAAG,MAAM,EAAE;QAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,EAAE,CAAC,EAAE;YAC/B,IAAM,GAAG,GAAG,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACxC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,eAAe,CAAC,GAAG,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC;YAChE,eAAe,CAAC,GAAG,GAAG,MAAM,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;SACzC;QACD,MAAM,IAAI,MAAM,CAAC;QACjB,GAAG,IAAI,MAAM,CAAC;KACf;AACH,CAAC"}

18
node_modules/ol/geom/flat/segments.d.ts generated vendored Normal file
View File

@@ -0,0 +1,18 @@
/**
* @module ol/geom/flat/segments
*/
/**
* This function calls `callback` for each segment of the flat coordinates
* array. If the callback returns a truthy value the function returns that
* value immediately. Otherwise the function returns `false`.
* @param {Array<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {number} end End.
* @param {number} stride Stride.
* @param {function(import("../../coordinate.js").Coordinate, import("../../coordinate.js").Coordinate): T} callback Function
* called for each segment.
* @return {T|boolean} Value.
* @template T
*/
export function forEach<T>(flatCoordinates: Array<number>, offset: number, end: number, stride: number, callback: (arg0: import("../../coordinate.js").Coordinate, arg1: import("../../coordinate.js").Coordinate) => T): boolean | T;
//# sourceMappingURL=segments.d.ts.map

1
node_modules/ol/geom/flat/segments.d.ts.map generated vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"segments.d.ts","sourceRoot":"","sources":["../../src/geom/flat/segments.js"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;;;;;;;;;GAYG;AACH,4CATW,MAAM,MAAM,CAAC,UACb,MAAM,OACN,MAAM,UACN,MAAM,mBACG,OAAO,qBAAqB,EAAE,UAAU,QAAE,OAAO,qBAAqB,EAAE,UAAU,qBAkBrG"}

28
node_modules/ol/geom/flat/segments.js generated vendored Normal file
View File

@@ -0,0 +1,28 @@
/**
* @module ol/geom/flat/segments
*/
/**
* This function calls `callback` for each segment of the flat coordinates
* array. If the callback returns a truthy value the function returns that
* value immediately. Otherwise the function returns `false`.
* @param {Array<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {number} end End.
* @param {number} stride Stride.
* @param {function(import("../../coordinate.js").Coordinate, import("../../coordinate.js").Coordinate): T} callback Function
* called for each segment.
* @return {T|boolean} Value.
* @template T
*/
export function forEach(flatCoordinates, offset, end, stride, callback) {
var ret;
offset += stride;
for (; offset < end; offset += stride) {
ret = callback(flatCoordinates.slice(offset - stride, offset), flatCoordinates.slice(offset, offset + stride));
if (ret) {
return ret;
}
}
return false;
}
//# sourceMappingURL=segments.js.map

1
node_modules/ol/geom/flat/segments.js.map generated vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"segments.js","sourceRoot":"","sources":["../../src/geom/flat/segments.js"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,OAAO,CAAC,eAAe,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ;IACpE,IAAI,GAAG,CAAC;IACR,MAAM,IAAI,MAAM,CAAC;IACjB,OAAO,MAAM,GAAG,GAAG,EAAE,MAAM,IAAI,MAAM,EAAE;QACrC,GAAG,GAAG,QAAQ,CACZ,eAAe,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,EAAE,MAAM,CAAC,EAC9C,eAAe,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAC/C,CAAC;QACF,IAAI,GAAG,EAAE;YACP,OAAO,GAAG,CAAC;SACZ;KACF;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}

115
node_modules/ol/geom/flat/simplify.d.ts generated vendored Normal file
View File

@@ -0,0 +1,115 @@
/**
* @param {Array<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {number} end End.
* @param {number} stride Stride.
* @param {number} squaredTolerance Squared tolerance.
* @param {boolean} highQuality Highest quality.
* @param {Array<number>} [opt_simplifiedFlatCoordinates] Simplified flat
* coordinates.
* @return {Array<number>} Simplified line string.
*/
export function simplifyLineString(flatCoordinates: Array<number>, offset: number, end: number, stride: number, squaredTolerance: number, highQuality: boolean, opt_simplifiedFlatCoordinates?: number[] | undefined): Array<number>;
/**
* @param {Array<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {number} end End.
* @param {number} stride Stride.
* @param {number} squaredTolerance Squared tolerance.
* @param {Array<number>} simplifiedFlatCoordinates Simplified flat
* coordinates.
* @param {number} simplifiedOffset Simplified offset.
* @return {number} Simplified offset.
*/
export function douglasPeucker(flatCoordinates: Array<number>, offset: number, end: number, stride: number, squaredTolerance: number, simplifiedFlatCoordinates: Array<number>, simplifiedOffset: number): number;
/**
* @param {Array<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {Array<number>} ends Ends.
* @param {number} stride Stride.
* @param {number} squaredTolerance Squared tolerance.
* @param {Array<number>} simplifiedFlatCoordinates Simplified flat
* coordinates.
* @param {number} simplifiedOffset Simplified offset.
* @param {Array<number>} simplifiedEnds Simplified ends.
* @return {number} Simplified offset.
*/
export function douglasPeuckerArray(flatCoordinates: Array<number>, offset: number, ends: Array<number>, stride: number, squaredTolerance: number, simplifiedFlatCoordinates: Array<number>, simplifiedOffset: number, simplifiedEnds: Array<number>): number;
/**
* @param {Array<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {Array<Array<number>>} endss Endss.
* @param {number} stride Stride.
* @param {number} squaredTolerance Squared tolerance.
* @param {Array<number>} simplifiedFlatCoordinates Simplified flat
* coordinates.
* @param {number} simplifiedOffset Simplified offset.
* @param {Array<Array<number>>} simplifiedEndss Simplified endss.
* @return {number} Simplified offset.
*/
export function douglasPeuckerMultiArray(flatCoordinates: Array<number>, offset: number, endss: Array<Array<number>>, stride: number, squaredTolerance: number, simplifiedFlatCoordinates: Array<number>, simplifiedOffset: number, simplifiedEndss: Array<Array<number>>): number;
/**
* @param {Array<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {number} end End.
* @param {number} stride Stride.
* @param {number} squaredTolerance Squared tolerance.
* @param {Array<number>} simplifiedFlatCoordinates Simplified flat
* coordinates.
* @param {number} simplifiedOffset Simplified offset.
* @return {number} Simplified offset.
*/
export function radialDistance(flatCoordinates: Array<number>, offset: number, end: number, stride: number, squaredTolerance: number, simplifiedFlatCoordinates: Array<number>, simplifiedOffset: number): number;
/**
* @param {number} value Value.
* @param {number} tolerance Tolerance.
* @return {number} Rounded value.
*/
export function snap(value: number, tolerance: number): number;
/**
* Simplifies a line string using an algorithm designed by Tim Schaub.
* Coordinates are snapped to the nearest value in a virtual grid and
* consecutive duplicate coordinates are discarded. This effectively preserves
* topology as the simplification of any subsection of a line string is
* independent of the rest of the line string. This means that, for examples,
* the common edge between two polygons will be simplified to the same line
* string independently in both polygons. This implementation uses a single
* pass over the coordinates and eliminates intermediate collinear points.
* @param {Array<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {number} end End.
* @param {number} stride Stride.
* @param {number} tolerance Tolerance.
* @param {Array<number>} simplifiedFlatCoordinates Simplified flat
* coordinates.
* @param {number} simplifiedOffset Simplified offset.
* @return {number} Simplified offset.
*/
export function quantize(flatCoordinates: Array<number>, offset: number, end: number, stride: number, tolerance: number, simplifiedFlatCoordinates: Array<number>, simplifiedOffset: number): number;
/**
* @param {Array<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {Array<number>} ends Ends.
* @param {number} stride Stride.
* @param {number} tolerance Tolerance.
* @param {Array<number>} simplifiedFlatCoordinates Simplified flat
* coordinates.
* @param {number} simplifiedOffset Simplified offset.
* @param {Array<number>} simplifiedEnds Simplified ends.
* @return {number} Simplified offset.
*/
export function quantizeArray(flatCoordinates: Array<number>, offset: number, ends: Array<number>, stride: number, tolerance: number, simplifiedFlatCoordinates: Array<number>, simplifiedOffset: number, simplifiedEnds: Array<number>): number;
/**
* @param {Array<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {Array<Array<number>>} endss Endss.
* @param {number} stride Stride.
* @param {number} tolerance Tolerance.
* @param {Array<number>} simplifiedFlatCoordinates Simplified flat
* coordinates.
* @param {number} simplifiedOffset Simplified offset.
* @param {Array<Array<number>>} simplifiedEndss Simplified endss.
* @return {number} Simplified offset.
*/
export function quantizeMultiArray(flatCoordinates: Array<number>, offset: number, endss: Array<Array<number>>, stride: number, tolerance: number, simplifiedFlatCoordinates: Array<number>, simplifiedOffset: number, simplifiedEndss: Array<Array<number>>): number;
//# sourceMappingURL=simplify.d.ts.map

1
node_modules/ol/geom/flat/simplify.d.ts.map generated vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"simplify.d.ts","sourceRoot":"","sources":["../../src/geom/flat/simplify.js"],"names":[],"mappings":"AA+BA;;;;;;;;;;GAUG;AACH,oDAVW,MAAM,MAAM,CAAC,UACb,MAAM,OACN,MAAM,UACN,MAAM,oBACN,MAAM,eACN,OAAO,yDAGN,MAAM,MAAM,CAAC,CAuCxB;AAED;;;;;;;;;;GAUG;AACH,gDAVW,MAAM,MAAM,CAAC,UACb,MAAM,OACN,MAAM,UACN,MAAM,oBACN,MAAM,6BACN,MAAM,MAAM,CAAC,oBAEb,MAAM,GACL,MAAM,CA+DjB;AAED;;;;;;;;;;;GAWG;AACH,qDAXW,MAAM,MAAM,CAAC,UACb,MAAM,QACN,MAAM,MAAM,CAAC,UACb,MAAM,oBACN,MAAM,6BACN,MAAM,MAAM,CAAC,oBAEb,MAAM,kBACN,MAAM,MAAM,CAAC,GACZ,MAAM,CA2BjB;AAED;;;;;;;;;;;GAWG;AACH,0DAXW,MAAM,MAAM,CAAC,UACb,MAAM,SACN,MAAM,MAAM,MAAM,CAAC,CAAC,UACpB,MAAM,oBACN,MAAM,6BACN,MAAM,MAAM,CAAC,oBAEb,MAAM,mBACN,MAAM,MAAM,MAAM,CAAC,CAAC,GACnB,MAAM,CA6BjB;AAED;;;;;;;;;;GAUG;AACH,gDAVW,MAAM,MAAM,CAAC,UACb,MAAM,OACN,MAAM,UACN,MAAM,oBACN,MAAM,6BACN,MAAM,MAAM,CAAC,oBAEb,MAAM,GACL,MAAM,CA4CjB;AAED;;;;GAIG;AACH,4BAJW,MAAM,aACN,MAAM,GACL,MAAM,CAIjB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,0CAVW,MAAM,MAAM,CAAC,UACb,MAAM,OACN,MAAM,UACN,MAAM,aACN,MAAM,6BACN,MAAM,MAAM,CAAC,oBAEb,MAAM,GACL,MAAM,CAiFjB;AAED;;;;;;;;;;;GAWG;AACH,+CAXW,MAAM,MAAM,CAAC,UACb,MAAM,QACN,MAAM,MAAM,CAAC,UACb,MAAM,aACN,MAAM,6BACN,MAAM,MAAM,CAAC,oBAEb,MAAM,kBACN,MAAM,MAAM,CAAC,GACZ,MAAM,CA2BjB;AAED;;;;;;;;;;;GAWG;AACH,oDAXW,MAAM,MAAM,CAAC,UACb,MAAM,SACN,MAAM,MAAM,MAAM,CAAC,CAAC,UACpB,MAAM,aACN,MAAM,6BACN,MAAM,MAAM,CAAC,oBAEb,MAAM,mBACN,MAAM,MAAM,MAAM,CAAC,CAAC,GACnB,MAAM,CA6BjB"}

348
node_modules/ol/geom/flat/simplify.js generated vendored Normal file
View File

@@ -0,0 +1,348 @@
/**
* @module ol/geom/flat/simplify
*/
// Based on simplify-js https://github.com/mourner/simplify-js
// Copyright (c) 2012, Vladimir Agafonkin
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are met:
//
// 1. Redistributions of source code must retain the above copyright notice,
// this list of conditions and the following disclaimer.
//
// 2. Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the distribution.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
// POSSIBILITY OF SUCH DAMAGE.
import { squaredDistance, squaredSegmentDistance } from '../../math.js';
/**
* @param {Array<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {number} end End.
* @param {number} stride Stride.
* @param {number} squaredTolerance Squared tolerance.
* @param {boolean} highQuality Highest quality.
* @param {Array<number>} [opt_simplifiedFlatCoordinates] Simplified flat
* coordinates.
* @return {Array<number>} Simplified line string.
*/
export function simplifyLineString(flatCoordinates, offset, end, stride, squaredTolerance, highQuality, opt_simplifiedFlatCoordinates) {
var simplifiedFlatCoordinates = opt_simplifiedFlatCoordinates !== undefined
? opt_simplifiedFlatCoordinates
: [];
if (!highQuality) {
end = radialDistance(flatCoordinates, offset, end, stride, squaredTolerance, simplifiedFlatCoordinates, 0);
flatCoordinates = simplifiedFlatCoordinates;
offset = 0;
stride = 2;
}
simplifiedFlatCoordinates.length = douglasPeucker(flatCoordinates, offset, end, stride, squaredTolerance, simplifiedFlatCoordinates, 0);
return simplifiedFlatCoordinates;
}
/**
* @param {Array<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {number} end End.
* @param {number} stride Stride.
* @param {number} squaredTolerance Squared tolerance.
* @param {Array<number>} simplifiedFlatCoordinates Simplified flat
* coordinates.
* @param {number} simplifiedOffset Simplified offset.
* @return {number} Simplified offset.
*/
export function douglasPeucker(flatCoordinates, offset, end, stride, squaredTolerance, simplifiedFlatCoordinates, simplifiedOffset) {
var n = (end - offset) / stride;
if (n < 3) {
for (; offset < end; offset += stride) {
simplifiedFlatCoordinates[simplifiedOffset++] = flatCoordinates[offset];
simplifiedFlatCoordinates[simplifiedOffset++] =
flatCoordinates[offset + 1];
}
return simplifiedOffset;
}
/** @type {Array<number>} */
var markers = new Array(n);
markers[0] = 1;
markers[n - 1] = 1;
/** @type {Array<number>} */
var stack = [offset, end - stride];
var index = 0;
while (stack.length > 0) {
var last = stack.pop();
var first = stack.pop();
var maxSquaredDistance = 0;
var x1 = flatCoordinates[first];
var y1 = flatCoordinates[first + 1];
var x2 = flatCoordinates[last];
var y2 = flatCoordinates[last + 1];
for (var i = first + stride; i < last; i += stride) {
var x = flatCoordinates[i];
var y = flatCoordinates[i + 1];
var squaredDistance_1 = squaredSegmentDistance(x, y, x1, y1, x2, y2);
if (squaredDistance_1 > maxSquaredDistance) {
index = i;
maxSquaredDistance = squaredDistance_1;
}
}
if (maxSquaredDistance > squaredTolerance) {
markers[(index - offset) / stride] = 1;
if (first + stride < index) {
stack.push(first, index);
}
if (index + stride < last) {
stack.push(index, last);
}
}
}
for (var i = 0; i < n; ++i) {
if (markers[i]) {
simplifiedFlatCoordinates[simplifiedOffset++] =
flatCoordinates[offset + i * stride];
simplifiedFlatCoordinates[simplifiedOffset++] =
flatCoordinates[offset + i * stride + 1];
}
}
return simplifiedOffset;
}
/**
* @param {Array<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {Array<number>} ends Ends.
* @param {number} stride Stride.
* @param {number} squaredTolerance Squared tolerance.
* @param {Array<number>} simplifiedFlatCoordinates Simplified flat
* coordinates.
* @param {number} simplifiedOffset Simplified offset.
* @param {Array<number>} simplifiedEnds Simplified ends.
* @return {number} Simplified offset.
*/
export function douglasPeuckerArray(flatCoordinates, offset, ends, stride, squaredTolerance, simplifiedFlatCoordinates, simplifiedOffset, simplifiedEnds) {
for (var i = 0, ii = ends.length; i < ii; ++i) {
var end = ends[i];
simplifiedOffset = douglasPeucker(flatCoordinates, offset, end, stride, squaredTolerance, simplifiedFlatCoordinates, simplifiedOffset);
simplifiedEnds.push(simplifiedOffset);
offset = end;
}
return simplifiedOffset;
}
/**
* @param {Array<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {Array<Array<number>>} endss Endss.
* @param {number} stride Stride.
* @param {number} squaredTolerance Squared tolerance.
* @param {Array<number>} simplifiedFlatCoordinates Simplified flat
* coordinates.
* @param {number} simplifiedOffset Simplified offset.
* @param {Array<Array<number>>} simplifiedEndss Simplified endss.
* @return {number} Simplified offset.
*/
export function douglasPeuckerMultiArray(flatCoordinates, offset, endss, stride, squaredTolerance, simplifiedFlatCoordinates, simplifiedOffset, simplifiedEndss) {
for (var i = 0, ii = endss.length; i < ii; ++i) {
var ends = endss[i];
var simplifiedEnds = [];
simplifiedOffset = douglasPeuckerArray(flatCoordinates, offset, ends, stride, squaredTolerance, simplifiedFlatCoordinates, simplifiedOffset, simplifiedEnds);
simplifiedEndss.push(simplifiedEnds);
offset = ends[ends.length - 1];
}
return simplifiedOffset;
}
/**
* @param {Array<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {number} end End.
* @param {number} stride Stride.
* @param {number} squaredTolerance Squared tolerance.
* @param {Array<number>} simplifiedFlatCoordinates Simplified flat
* coordinates.
* @param {number} simplifiedOffset Simplified offset.
* @return {number} Simplified offset.
*/
export function radialDistance(flatCoordinates, offset, end, stride, squaredTolerance, simplifiedFlatCoordinates, simplifiedOffset) {
if (end <= offset + stride) {
// zero or one point, no simplification possible, so copy and return
for (; offset < end; offset += stride) {
simplifiedFlatCoordinates[simplifiedOffset++] = flatCoordinates[offset];
simplifiedFlatCoordinates[simplifiedOffset++] =
flatCoordinates[offset + 1];
}
return simplifiedOffset;
}
var x1 = flatCoordinates[offset];
var y1 = flatCoordinates[offset + 1];
// copy first point
simplifiedFlatCoordinates[simplifiedOffset++] = x1;
simplifiedFlatCoordinates[simplifiedOffset++] = y1;
var x2 = x1;
var y2 = y1;
for (offset += stride; offset < end; offset += stride) {
x2 = flatCoordinates[offset];
y2 = flatCoordinates[offset + 1];
if (squaredDistance(x1, y1, x2, y2) > squaredTolerance) {
// copy point at offset
simplifiedFlatCoordinates[simplifiedOffset++] = x2;
simplifiedFlatCoordinates[simplifiedOffset++] = y2;
x1 = x2;
y1 = y2;
}
}
if (x2 != x1 || y2 != y1) {
// copy last point
simplifiedFlatCoordinates[simplifiedOffset++] = x2;
simplifiedFlatCoordinates[simplifiedOffset++] = y2;
}
return simplifiedOffset;
}
/**
* @param {number} value Value.
* @param {number} tolerance Tolerance.
* @return {number} Rounded value.
*/
export function snap(value, tolerance) {
return tolerance * Math.round(value / tolerance);
}
/**
* Simplifies a line string using an algorithm designed by Tim Schaub.
* Coordinates are snapped to the nearest value in a virtual grid and
* consecutive duplicate coordinates are discarded. This effectively preserves
* topology as the simplification of any subsection of a line string is
* independent of the rest of the line string. This means that, for examples,
* the common edge between two polygons will be simplified to the same line
* string independently in both polygons. This implementation uses a single
* pass over the coordinates and eliminates intermediate collinear points.
* @param {Array<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {number} end End.
* @param {number} stride Stride.
* @param {number} tolerance Tolerance.
* @param {Array<number>} simplifiedFlatCoordinates Simplified flat
* coordinates.
* @param {number} simplifiedOffset Simplified offset.
* @return {number} Simplified offset.
*/
export function quantize(flatCoordinates, offset, end, stride, tolerance, simplifiedFlatCoordinates, simplifiedOffset) {
// do nothing if the line is empty
if (offset == end) {
return simplifiedOffset;
}
// snap the first coordinate (P1)
var x1 = snap(flatCoordinates[offset], tolerance);
var y1 = snap(flatCoordinates[offset + 1], tolerance);
offset += stride;
// add the first coordinate to the output
simplifiedFlatCoordinates[simplifiedOffset++] = x1;
simplifiedFlatCoordinates[simplifiedOffset++] = y1;
// find the next coordinate that does not snap to the same value as the first
// coordinate (P2)
var x2, y2;
do {
x2 = snap(flatCoordinates[offset], tolerance);
y2 = snap(flatCoordinates[offset + 1], tolerance);
offset += stride;
if (offset == end) {
// all coordinates snap to the same value, the line collapses to a point
// push the last snapped value anyway to ensure that the output contains
// at least two points
// FIXME should we really return at least two points anyway?
simplifiedFlatCoordinates[simplifiedOffset++] = x2;
simplifiedFlatCoordinates[simplifiedOffset++] = y2;
return simplifiedOffset;
}
} while (x2 == x1 && y2 == y1);
while (offset < end) {
// snap the next coordinate (P3)
var x3 = snap(flatCoordinates[offset], tolerance);
var y3 = snap(flatCoordinates[offset + 1], tolerance);
offset += stride;
// skip P3 if it is equal to P2
if (x3 == x2 && y3 == y2) {
continue;
}
// calculate the delta between P1 and P2
var dx1 = x2 - x1;
var dy1 = y2 - y1;
// calculate the delta between P3 and P1
var dx2 = x3 - x1;
var dy2 = y3 - y1;
// if P1, P2, and P3 are colinear and P3 is further from P1 than P2 is from
// P1 in the same direction then P2 is on the straight line between P1 and
// P3
if (dx1 * dy2 == dy1 * dx2 &&
((dx1 < 0 && dx2 < dx1) || dx1 == dx2 || (dx1 > 0 && dx2 > dx1)) &&
((dy1 < 0 && dy2 < dy1) || dy1 == dy2 || (dy1 > 0 && dy2 > dy1))) {
// discard P2 and set P2 = P3
x2 = x3;
y2 = y3;
continue;
}
// either P1, P2, and P3 are not colinear, or they are colinear but P3 is
// between P3 and P1 or on the opposite half of the line to P2. add P2,
// and continue with P1 = P2 and P2 = P3
simplifiedFlatCoordinates[simplifiedOffset++] = x2;
simplifiedFlatCoordinates[simplifiedOffset++] = y2;
x1 = x2;
y1 = y2;
x2 = x3;
y2 = y3;
}
// add the last point (P2)
simplifiedFlatCoordinates[simplifiedOffset++] = x2;
simplifiedFlatCoordinates[simplifiedOffset++] = y2;
return simplifiedOffset;
}
/**
* @param {Array<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {Array<number>} ends Ends.
* @param {number} stride Stride.
* @param {number} tolerance Tolerance.
* @param {Array<number>} simplifiedFlatCoordinates Simplified flat
* coordinates.
* @param {number} simplifiedOffset Simplified offset.
* @param {Array<number>} simplifiedEnds Simplified ends.
* @return {number} Simplified offset.
*/
export function quantizeArray(flatCoordinates, offset, ends, stride, tolerance, simplifiedFlatCoordinates, simplifiedOffset, simplifiedEnds) {
for (var i = 0, ii = ends.length; i < ii; ++i) {
var end = ends[i];
simplifiedOffset = quantize(flatCoordinates, offset, end, stride, tolerance, simplifiedFlatCoordinates, simplifiedOffset);
simplifiedEnds.push(simplifiedOffset);
offset = end;
}
return simplifiedOffset;
}
/**
* @param {Array<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {Array<Array<number>>} endss Endss.
* @param {number} stride Stride.
* @param {number} tolerance Tolerance.
* @param {Array<number>} simplifiedFlatCoordinates Simplified flat
* coordinates.
* @param {number} simplifiedOffset Simplified offset.
* @param {Array<Array<number>>} simplifiedEndss Simplified endss.
* @return {number} Simplified offset.
*/
export function quantizeMultiArray(flatCoordinates, offset, endss, stride, tolerance, simplifiedFlatCoordinates, simplifiedOffset, simplifiedEndss) {
for (var i = 0, ii = endss.length; i < ii; ++i) {
var ends = endss[i];
var simplifiedEnds = [];
simplifiedOffset = quantizeArray(flatCoordinates, offset, ends, stride, tolerance, simplifiedFlatCoordinates, simplifiedOffset, simplifiedEnds);
simplifiedEndss.push(simplifiedEnds);
offset = ends[ends.length - 1];
}
return simplifiedOffset;
}
//# sourceMappingURL=simplify.js.map

1
node_modules/ol/geom/flat/simplify.js.map generated vendored Normal file

File diff suppressed because one or more lines are too long

14
node_modules/ol/geom/flat/straightchunk.d.ts generated vendored Normal file
View File

@@ -0,0 +1,14 @@
/**
* @module ol/geom/flat/straightchunk
*/
/**
* @param {number} maxAngle Maximum acceptable angle delta between segments.
* @param {Array<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {number} end End.
* @param {number} stride Stride.
* @return {Array<number>} Start and end of the first suitable chunk of the
* given `flatCoordinates`.
*/
export function matchingChunk(maxAngle: number, flatCoordinates: Array<number>, offset: number, end: number, stride: number): Array<number>;
//# sourceMappingURL=straightchunk.d.ts.map

1
node_modules/ol/geom/flat/straightchunk.d.ts.map generated vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"straightchunk.d.ts","sourceRoot":"","sources":["../../src/geom/flat/straightchunk.js"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;;;;;GAQG;AACH,wCARW,MAAM,mBACN,MAAM,MAAM,CAAC,UACb,MAAM,OACN,MAAM,UACN,MAAM,GACL,MAAM,MAAM,CAAC,CAuCxB"}

50
node_modules/ol/geom/flat/straightchunk.js generated vendored Normal file
View File

@@ -0,0 +1,50 @@
/**
* @module ol/geom/flat/straightchunk
*/
/**
* @param {number} maxAngle Maximum acceptable angle delta between segments.
* @param {Array<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {number} end End.
* @param {number} stride Stride.
* @return {Array<number>} Start and end of the first suitable chunk of the
* given `flatCoordinates`.
*/
export function matchingChunk(maxAngle, flatCoordinates, offset, end, stride) {
var chunkStart = offset;
var chunkEnd = offset;
var chunkM = 0;
var m = 0;
var start = offset;
var acos, i, m12, m23, x1, y1, x12, y12, x23, y23;
for (i = offset; i < end; i += stride) {
var x2 = flatCoordinates[i];
var y2 = flatCoordinates[i + 1];
if (x1 !== undefined) {
x23 = x2 - x1;
y23 = y2 - y1;
m23 = Math.sqrt(x23 * x23 + y23 * y23);
if (x12 !== undefined) {
m += m12;
acos = Math.acos((x12 * x23 + y12 * y23) / (m12 * m23));
if (acos > maxAngle) {
if (m > chunkM) {
chunkM = m;
chunkStart = start;
chunkEnd = i;
}
m = 0;
start = i - stride;
}
}
m12 = m23;
x12 = x23;
y12 = y23;
}
x1 = x2;
y1 = y2;
}
m += m23;
return m > chunkM ? [start, i] : [chunkStart, chunkEnd];
}
//# sourceMappingURL=straightchunk.js.map

1
node_modules/ol/geom/flat/straightchunk.js.map generated vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"straightchunk.js","sourceRoot":"","sources":["../../src/geom/flat/straightchunk.js"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;;;;;GAQG;AACH,MAAM,UAAU,aAAa,CAAC,QAAQ,EAAE,eAAe,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;IAC1E,IAAI,UAAU,GAAG,MAAM,CAAC;IACxB,IAAI,QAAQ,GAAG,MAAM,CAAC;IACtB,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,IAAI,KAAK,GAAG,MAAM,CAAC;IACnB,IAAI,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IAClD,KAAK,CAAC,GAAG,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,IAAI,MAAM,EAAE;QACrC,IAAM,EAAE,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;QAC9B,IAAM,EAAE,GAAG,eAAe,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAClC,IAAI,EAAE,KAAK,SAAS,EAAE;YACpB,GAAG,GAAG,EAAE,GAAG,EAAE,CAAC;YACd,GAAG,GAAG,EAAE,GAAG,EAAE,CAAC;YACd,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;YACvC,IAAI,GAAG,KAAK,SAAS,EAAE;gBACrB,CAAC,IAAI,GAAG,CAAC;gBACT,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC;gBACxD,IAAI,IAAI,GAAG,QAAQ,EAAE;oBACnB,IAAI,CAAC,GAAG,MAAM,EAAE;wBACd,MAAM,GAAG,CAAC,CAAC;wBACX,UAAU,GAAG,KAAK,CAAC;wBACnB,QAAQ,GAAG,CAAC,CAAC;qBACd;oBACD,CAAC,GAAG,CAAC,CAAC;oBACN,KAAK,GAAG,CAAC,GAAG,MAAM,CAAC;iBACpB;aACF;YACD,GAAG,GAAG,GAAG,CAAC;YACV,GAAG,GAAG,GAAG,CAAC;YACV,GAAG,GAAG,GAAG,CAAC;SACX;QACD,EAAE,GAAG,EAAE,CAAC;QACR,EAAE,GAAG,EAAE,CAAC;KACT;IACD,CAAC,IAAI,GAAG,CAAC;IACT,OAAO,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;AAC1D,CAAC"}

22
node_modules/ol/geom/flat/textpath.d.ts generated vendored Normal file
View File

@@ -0,0 +1,22 @@
/**
* @param {Array<number>} flatCoordinates Path to put text on.
* @param {number} offset Start offset of the `flatCoordinates`.
* @param {number} end End offset of the `flatCoordinates`.
* @param {number} stride Stride.
* @param {string} text Text to place on the path.
* @param {number} startM m along the path where the text starts.
* @param {number} maxAngle Max angle between adjacent chars in radians.
* @param {number} scale The product of the text scale and the device pixel ratio.
* @param {function(string, string, Object<string, number>):number} measureAndCacheTextWidth Measure and cache text width.
* @param {string} font The font.
* @param {Object<string, number>} cache A cache of measured widths.
* @param {number} rotation Rotation to apply to the flatCoordinates to determine whether text needs to be reversed.
* @return {Array<Array<*>>|null} The result array (or null if `maxAngle` was
* exceeded). Entries of the array are x, y, anchorX, angle, chunk.
*/
export function drawTextOnPath(flatCoordinates: Array<number>, offset: number, end: number, stride: number, text: string, startM: number, maxAngle: number, scale: number, measureAndCacheTextWidth: (arg0: string, arg1: string, arg2: {
[x: string]: number;
}) => number, font: string, cache: {
[x: string]: number;
}, rotation: number): Array<Array<any>> | null;
//# sourceMappingURL=textpath.d.ts.map

1
node_modules/ol/geom/flat/textpath.d.ts.map generated vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"textpath.d.ts","sourceRoot":"","sources":["../../src/geom/flat/textpath.js"],"names":[],"mappings":"AAMA;;;;;;;;;;;;;;;GAeG;AACH,gDAfW,MAAM,MAAM,CAAC,UACb,MAAM,OACN,MAAM,UACN,MAAM,QACN,MAAM,UACN,MAAM,YACN,MAAM,SACN,MAAM,mCACG,MAAM,QAAE,MAAM;QAAS,MAAM,GAAE,MAAM;MAAG,MAAM,QACvD,MAAM;QACC,MAAM,GAAE,MAAM;aACrB,MAAM,GACL,MAAM,UAAQ,CAAC,GAAC,IAAI,CAsI/B"}

128
node_modules/ol/geom/flat/textpath.js generated vendored Normal file
View File

@@ -0,0 +1,128 @@
/**
* @module ol/geom/flat/textpath
*/
import { lerp } from '../../math.js';
import { rotate } from './transform.js';
/**
* @param {Array<number>} flatCoordinates Path to put text on.
* @param {number} offset Start offset of the `flatCoordinates`.
* @param {number} end End offset of the `flatCoordinates`.
* @param {number} stride Stride.
* @param {string} text Text to place on the path.
* @param {number} startM m along the path where the text starts.
* @param {number} maxAngle Max angle between adjacent chars in radians.
* @param {number} scale The product of the text scale and the device pixel ratio.
* @param {function(string, string, Object<string, number>):number} measureAndCacheTextWidth Measure and cache text width.
* @param {string} font The font.
* @param {Object<string, number>} cache A cache of measured widths.
* @param {number} rotation Rotation to apply to the flatCoordinates to determine whether text needs to be reversed.
* @return {Array<Array<*>>|null} The result array (or null if `maxAngle` was
* exceeded). Entries of the array are x, y, anchorX, angle, chunk.
*/
export function drawTextOnPath(flatCoordinates, offset, end, stride, text, startM, maxAngle, scale, measureAndCacheTextWidth, font, cache, rotation) {
var x2 = flatCoordinates[offset];
var y2 = flatCoordinates[offset + 1];
var x1 = 0;
var y1 = 0;
var segmentLength = 0;
var segmentM = 0;
function advance() {
x1 = x2;
y1 = y2;
offset += stride;
x2 = flatCoordinates[offset];
y2 = flatCoordinates[offset + 1];
segmentM += segmentLength;
segmentLength = Math.sqrt((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1));
}
do {
advance();
} while (offset < end - stride && segmentM + segmentLength < startM);
var interpolate = segmentLength === 0 ? 0 : (startM - segmentM) / segmentLength;
var beginX = lerp(x1, x2, interpolate);
var beginY = lerp(y1, y2, interpolate);
var startOffset = offset - stride;
var startLength = segmentM;
var endM = startM + scale * measureAndCacheTextWidth(font, text, cache);
while (offset < end - stride && segmentM + segmentLength < endM) {
advance();
}
interpolate = segmentLength === 0 ? 0 : (endM - segmentM) / segmentLength;
var endX = lerp(x1, x2, interpolate);
var endY = lerp(y1, y2, interpolate);
// Keep text upright
var reverse;
if (rotation) {
var flat = [beginX, beginY, endX, endY];
rotate(flat, 0, 4, 2, rotation, flat, flat);
reverse = flat[0] > flat[2];
}
else {
reverse = beginX > endX;
}
var PI = Math.PI;
var result = [];
var singleSegment = startOffset + stride === offset;
offset = startOffset;
segmentLength = 0;
segmentM = startLength;
x2 = flatCoordinates[offset];
y2 = flatCoordinates[offset + 1];
var previousAngle;
// All on the same segment
if (singleSegment) {
advance();
previousAngle = Math.atan2(y2 - y1, x2 - x1);
if (reverse) {
previousAngle += previousAngle > 0 ? -PI : PI;
}
var x = (endX + beginX) / 2;
var y = (endY + beginY) / 2;
result[0] = [x, y, (endM - startM) / 2, previousAngle, text];
return result;
}
// rendering across line segments
text = text.replace(/\n/g, ' '); // ensure rendering in single-line as all calculations below don't handle multi-lines
for (var i = 0, ii = text.length; i < ii;) {
advance();
var angle = Math.atan2(y2 - y1, x2 - x1);
if (reverse) {
angle += angle > 0 ? -PI : PI;
}
if (previousAngle !== undefined) {
var delta = angle - previousAngle;
delta += delta > PI ? -2 * PI : delta < -PI ? 2 * PI : 0;
if (Math.abs(delta) > maxAngle) {
return null;
}
}
previousAngle = angle;
var iStart = i;
var charLength = 0;
for (; i < ii; ++i) {
var index = reverse ? ii - i - 1 : i;
var len = scale * measureAndCacheTextWidth(font, text[index], cache);
if (offset + stride < end &&
segmentM + segmentLength < startM + charLength + len / 2) {
break;
}
charLength += len;
}
if (i === iStart) {
continue;
}
var chars = reverse
? text.substring(ii - iStart, ii - i)
: text.substring(iStart, i);
interpolate =
segmentLength === 0
? 0
: (startM + charLength / 2 - segmentM) / segmentLength;
var x = lerp(x1, x2, interpolate);
var y = lerp(y1, y2, interpolate);
result.push([x, y, charLength / 2, angle, chars]);
startM += charLength;
}
return result;
}
//# sourceMappingURL=textpath.js.map

1
node_modules/ol/geom/flat/textpath.js.map generated vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"textpath.js","sourceRoot":"","sources":["../../src/geom/flat/textpath.js"],"names":[],"mappings":"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"}

10
node_modules/ol/geom/flat/topology.d.ts generated vendored Normal file
View File

@@ -0,0 +1,10 @@
/**
* Check if the linestring is a boundary.
* @param {Array<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {number} end End.
* @param {number} stride Stride.
* @return {boolean} The linestring is a boundary.
*/
export function lineStringIsClosed(flatCoordinates: Array<number>, offset: number, end: number, stride: number): boolean;
//# sourceMappingURL=topology.d.ts.map

1
node_modules/ol/geom/flat/topology.d.ts.map generated vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"topology.d.ts","sourceRoot":"","sources":["../../src/geom/flat/topology.js"],"names":[],"mappings":"AAKA;;;;;;;GAOG;AACH,oDANW,MAAM,MAAM,CAAC,UACb,MAAM,OACN,MAAM,UACN,MAAM,GACL,OAAO,CAYlB"}

22
node_modules/ol/geom/flat/topology.js generated vendored Normal file
View File

@@ -0,0 +1,22 @@
/**
* @module ol/geom/flat/topology
*/
import { linearRing as linearRingArea } from './area.js';
/**
* Check if the linestring is a boundary.
* @param {Array<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {number} end End.
* @param {number} stride Stride.
* @return {boolean} The linestring is a boundary.
*/
export function lineStringIsClosed(flatCoordinates, offset, end, stride) {
var lastCoord = end - stride;
if (flatCoordinates[offset] === flatCoordinates[lastCoord] &&
flatCoordinates[offset + 1] === flatCoordinates[lastCoord + 1] &&
(end - offset) / stride > 3) {
return !!linearRingArea(flatCoordinates, offset, end, stride);
}
return false;
}
//# sourceMappingURL=topology.js.map

1
node_modules/ol/geom/flat/topology.js.map generated vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"topology.js","sourceRoot":"","sources":["../../src/geom/flat/topology.js"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAC,UAAU,IAAI,cAAc,EAAC,MAAM,WAAW,CAAC;AAEvD;;;;;;;GAOG;AACH,MAAM,UAAU,kBAAkB,CAAC,eAAe,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;IACrE,IAAM,SAAS,GAAG,GAAG,GAAG,MAAM,CAAC;IAC/B,IACE,eAAe,CAAC,MAAM,CAAC,KAAK,eAAe,CAAC,SAAS,CAAC;QACtD,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,eAAe,CAAC,SAAS,GAAG,CAAC,CAAC;QAC9D,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,MAAM,GAAG,CAAC,EAC3B;QACA,OAAO,CAAC,CAAC,cAAc,CAAC,eAAe,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;KAC/D;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}

49
node_modules/ol/geom/flat/transform.d.ts generated vendored Normal file
View File

@@ -0,0 +1,49 @@
/**
* @module ol/geom/flat/transform
*/
/**
* @param {Array<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {number} end End.
* @param {number} stride Stride.
* @param {import("../../transform.js").Transform} transform Transform.
* @param {Array<number>} [opt_dest] Destination.
* @return {Array<number>} Transformed coordinates.
*/
export function transform2D(flatCoordinates: Array<number>, offset: number, end: number, stride: number, transform: import("../../transform.js").Transform, opt_dest?: number[] | undefined): Array<number>;
/**
* @param {Array<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {number} end End.
* @param {number} stride Stride.
* @param {number} angle Angle.
* @param {Array<number>} anchor Rotation anchor point.
* @param {Array<number>} [opt_dest] Destination.
* @return {Array<number>} Transformed coordinates.
*/
export function rotate(flatCoordinates: Array<number>, offset: number, end: number, stride: number, angle: number, anchor: Array<number>, opt_dest?: number[] | undefined): Array<number>;
/**
* Scale the coordinates.
* @param {Array<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {number} end End.
* @param {number} stride Stride.
* @param {number} sx Scale factor in the x-direction.
* @param {number} sy Scale factor in the y-direction.
* @param {Array<number>} anchor Scale anchor point.
* @param {Array<number>} [opt_dest] Destination.
* @return {Array<number>} Transformed coordinates.
*/
export function scale(flatCoordinates: Array<number>, offset: number, end: number, stride: number, sx: number, sy: number, anchor: Array<number>, opt_dest?: number[] | undefined): Array<number>;
/**
* @param {Array<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {number} end End.
* @param {number} stride Stride.
* @param {number} deltaX Delta X.
* @param {number} deltaY Delta Y.
* @param {Array<number>} [opt_dest] Destination.
* @return {Array<number>} Transformed coordinates.
*/
export function translate(flatCoordinates: Array<number>, offset: number, end: number, stride: number, deltaX: number, deltaY: number, opt_dest?: number[] | undefined): Array<number>;
//# sourceMappingURL=transform.d.ts.map

1
node_modules/ol/geom/flat/transform.d.ts.map generated vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"transform.d.ts","sourceRoot":"","sources":["../../src/geom/flat/transform.js"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;;;;;GAQG;AACH,6CARW,MAAM,MAAM,CAAC,UACb,MAAM,OACN,MAAM,UACN,MAAM,aACN,OAAO,oBAAoB,EAAE,SAAS,oCAErC,MAAM,MAAM,CAAC,CAsBxB;AAED;;;;;;;;;GASG;AACH,wCATW,MAAM,MAAM,CAAC,UACb,MAAM,OACN,MAAM,UACN,MAAM,SACN,MAAM,UACN,MAAM,MAAM,CAAC,oCAEZ,MAAM,MAAM,CAAC,CA8BxB;AAED;;;;;;;;;;;GAWG;AACH,uCAVW,MAAM,MAAM,CAAC,UACb,MAAM,OACN,MAAM,UACN,MAAM,MACN,MAAM,MACN,MAAM,UACN,MAAM,MAAM,CAAC,oCAEZ,MAAM,MAAM,CAAC,CA6BxB;AAED;;;;;;;;;GASG;AACH,2CATW,MAAM,MAAM,CAAC,UACb,MAAM,OACN,MAAM,UACN,MAAM,UACN,MAAM,UACN,MAAM,oCAEL,MAAM,MAAM,CAAC,CAwBxB"}

114
node_modules/ol/geom/flat/transform.js generated vendored Normal file
View File

@@ -0,0 +1,114 @@
/**
* @module ol/geom/flat/transform
*/
/**
* @param {Array<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {number} end End.
* @param {number} stride Stride.
* @param {import("../../transform.js").Transform} transform Transform.
* @param {Array<number>} [opt_dest] Destination.
* @return {Array<number>} Transformed coordinates.
*/
export function transform2D(flatCoordinates, offset, end, stride, transform, opt_dest) {
var dest = opt_dest ? opt_dest : [];
var i = 0;
for (var j = offset; j < end; j += stride) {
var x = flatCoordinates[j];
var y = flatCoordinates[j + 1];
dest[i++] = transform[0] * x + transform[2] * y + transform[4];
dest[i++] = transform[1] * x + transform[3] * y + transform[5];
}
if (opt_dest && dest.length != i) {
dest.length = i;
}
return dest;
}
/**
* @param {Array<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {number} end End.
* @param {number} stride Stride.
* @param {number} angle Angle.
* @param {Array<number>} anchor Rotation anchor point.
* @param {Array<number>} [opt_dest] Destination.
* @return {Array<number>} Transformed coordinates.
*/
export function rotate(flatCoordinates, offset, end, stride, angle, anchor, opt_dest) {
var dest = opt_dest ? opt_dest : [];
var cos = Math.cos(angle);
var sin = Math.sin(angle);
var anchorX = anchor[0];
var anchorY = anchor[1];
var i = 0;
for (var j = offset; j < end; j += stride) {
var deltaX = flatCoordinates[j] - anchorX;
var deltaY = flatCoordinates[j + 1] - anchorY;
dest[i++] = anchorX + deltaX * cos - deltaY * sin;
dest[i++] = anchorY + deltaX * sin + deltaY * cos;
for (var k = j + 2; k < j + stride; ++k) {
dest[i++] = flatCoordinates[k];
}
}
if (opt_dest && dest.length != i) {
dest.length = i;
}
return dest;
}
/**
* Scale the coordinates.
* @param {Array<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {number} end End.
* @param {number} stride Stride.
* @param {number} sx Scale factor in the x-direction.
* @param {number} sy Scale factor in the y-direction.
* @param {Array<number>} anchor Scale anchor point.
* @param {Array<number>} [opt_dest] Destination.
* @return {Array<number>} Transformed coordinates.
*/
export function scale(flatCoordinates, offset, end, stride, sx, sy, anchor, opt_dest) {
var dest = opt_dest ? opt_dest : [];
var anchorX = anchor[0];
var anchorY = anchor[1];
var i = 0;
for (var j = offset; j < end; j += stride) {
var deltaX = flatCoordinates[j] - anchorX;
var deltaY = flatCoordinates[j + 1] - anchorY;
dest[i++] = anchorX + sx * deltaX;
dest[i++] = anchorY + sy * deltaY;
for (var k = j + 2; k < j + stride; ++k) {
dest[i++] = flatCoordinates[k];
}
}
if (opt_dest && dest.length != i) {
dest.length = i;
}
return dest;
}
/**
* @param {Array<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {number} end End.
* @param {number} stride Stride.
* @param {number} deltaX Delta X.
* @param {number} deltaY Delta Y.
* @param {Array<number>} [opt_dest] Destination.
* @return {Array<number>} Transformed coordinates.
*/
export function translate(flatCoordinates, offset, end, stride, deltaX, deltaY, opt_dest) {
var dest = opt_dest ? opt_dest : [];
var i = 0;
for (var j = offset; j < end; j += stride) {
dest[i++] = flatCoordinates[j] + deltaX;
dest[i++] = flatCoordinates[j + 1] + deltaY;
for (var k = j + 2; k < j + stride; ++k) {
dest[i++] = flatCoordinates[k];
}
}
if (opt_dest && dest.length != i) {
dest.length = i;
}
return dest;
}
//# sourceMappingURL=transform.js.map

1
node_modules/ol/geom/flat/transform.js.map generated vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"transform.js","sourceRoot":"","sources":["../../src/geom/flat/transform.js"],"names":[],"mappings":"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"}