Make code prettier
This updates ESLint and our shared eslint-config-openlayers to use Prettier. Most formatting changes were automatically applied with this:
npm run lint -- --fix
A few manual changes were required:
* In `examples/offscreen-canvas.js`, the `//eslint-disable-line` comment needed to be moved to the appropriate line to disable the error about the `'worker-loader!./offscreen-canvas.worker.js'` import.
* In `examples/webpack/exapmle-builder.js`, spaces could not be added after a couple `function`s for some reason. While editing this, I reworked `ExampleBuilder` to be a class.
* In `src/ol/format/WMSGetFeatureInfo.js`, the `// @ts-ignore` comment needed to be moved down one line so it applied to the `parsersNS` argument.
This commit is contained in:
+136
-53
@@ -27,8 +27,7 @@
|
||||
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
// POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
import {squaredSegmentDistance, squaredDistance} from '../../math.js';
|
||||
|
||||
import {squaredDistance, squaredSegmentDistance} from '../../math.js';
|
||||
|
||||
/**
|
||||
* @param {Array<number>} flatCoordinates Flat coordinates.
|
||||
@@ -41,25 +40,45 @@ import {squaredSegmentDistance, squaredDistance} from '../../math.js';
|
||||
* coordinates.
|
||||
* @return {Array<number>} Simplified line string.
|
||||
*/
|
||||
export function simplifyLineString(flatCoordinates, offset, end,
|
||||
stride, squaredTolerance, highQuality, opt_simplifiedFlatCoordinates) {
|
||||
const simplifiedFlatCoordinates = opt_simplifiedFlatCoordinates !== undefined ?
|
||||
opt_simplifiedFlatCoordinates : [];
|
||||
export function simplifyLineString(
|
||||
flatCoordinates,
|
||||
offset,
|
||||
end,
|
||||
stride,
|
||||
squaredTolerance,
|
||||
highQuality,
|
||||
opt_simplifiedFlatCoordinates
|
||||
) {
|
||||
const simplifiedFlatCoordinates =
|
||||
opt_simplifiedFlatCoordinates !== undefined
|
||||
? opt_simplifiedFlatCoordinates
|
||||
: [];
|
||||
if (!highQuality) {
|
||||
end = radialDistance(flatCoordinates, offset, end,
|
||||
stride, squaredTolerance,
|
||||
simplifiedFlatCoordinates, 0);
|
||||
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);
|
||||
flatCoordinates,
|
||||
offset,
|
||||
end,
|
||||
stride,
|
||||
squaredTolerance,
|
||||
simplifiedFlatCoordinates,
|
||||
0
|
||||
);
|
||||
return simplifiedFlatCoordinates;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @param {Array<number>} flatCoordinates Flat coordinates.
|
||||
* @param {number} offset Offset.
|
||||
@@ -71,15 +90,21 @@ export function simplifyLineString(flatCoordinates, offset, end,
|
||||
* @param {number} simplifiedOffset Simplified offset.
|
||||
* @return {number} Simplified offset.
|
||||
*/
|
||||
export function douglasPeucker(flatCoordinates, offset, end,
|
||||
stride, squaredTolerance, simplifiedFlatCoordinates, simplifiedOffset) {
|
||||
export function douglasPeucker(
|
||||
flatCoordinates,
|
||||
offset,
|
||||
end,
|
||||
stride,
|
||||
squaredTolerance,
|
||||
simplifiedFlatCoordinates,
|
||||
simplifiedOffset
|
||||
) {
|
||||
const n = (end - offset) / stride;
|
||||
if (n < 3) {
|
||||
for (; offset < end; offset += stride) {
|
||||
simplifiedFlatCoordinates[simplifiedOffset++] = flatCoordinates[offset];
|
||||
simplifiedFlatCoordinates[simplifiedOffset++] =
|
||||
flatCoordinates[offset];
|
||||
simplifiedFlatCoordinates[simplifiedOffset++] =
|
||||
flatCoordinates[offset + 1];
|
||||
flatCoordinates[offset + 1];
|
||||
}
|
||||
return simplifiedOffset;
|
||||
}
|
||||
@@ -101,8 +126,7 @@ export function douglasPeucker(flatCoordinates, offset, end,
|
||||
for (let i = first + stride; i < last; i += stride) {
|
||||
const x = flatCoordinates[i];
|
||||
const y = flatCoordinates[i + 1];
|
||||
const squaredDistance = squaredSegmentDistance(
|
||||
x, y, x1, y1, x2, y2);
|
||||
const squaredDistance = squaredSegmentDistance(x, y, x1, y1, x2, y2);
|
||||
if (squaredDistance > maxSquaredDistance) {
|
||||
index = i;
|
||||
maxSquaredDistance = squaredDistance;
|
||||
@@ -121,15 +145,14 @@ export function douglasPeucker(flatCoordinates, offset, end,
|
||||
for (let i = 0; i < n; ++i) {
|
||||
if (markers[i]) {
|
||||
simplifiedFlatCoordinates[simplifiedOffset++] =
|
||||
flatCoordinates[offset + i * stride];
|
||||
flatCoordinates[offset + i * stride];
|
||||
simplifiedFlatCoordinates[simplifiedOffset++] =
|
||||
flatCoordinates[offset + i * stride + 1];
|
||||
flatCoordinates[offset + i * stride + 1];
|
||||
}
|
||||
}
|
||||
return simplifiedOffset;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @param {Array<number>} flatCoordinates Flat coordinates.
|
||||
* @param {number} offset Offset.
|
||||
@@ -142,21 +165,33 @@ export function douglasPeucker(flatCoordinates, offset, end,
|
||||
* @param {Array<number>} simplifiedEnds Simplified ends.
|
||||
* @return {number} Simplified offset.
|
||||
*/
|
||||
export function douglasPeuckerArray(flatCoordinates, offset,
|
||||
ends, stride, squaredTolerance, simplifiedFlatCoordinates,
|
||||
simplifiedOffset, simplifiedEnds) {
|
||||
export function douglasPeuckerArray(
|
||||
flatCoordinates,
|
||||
offset,
|
||||
ends,
|
||||
stride,
|
||||
squaredTolerance,
|
||||
simplifiedFlatCoordinates,
|
||||
simplifiedOffset,
|
||||
simplifiedEnds
|
||||
) {
|
||||
for (let i = 0, ii = ends.length; i < ii; ++i) {
|
||||
const end = ends[i];
|
||||
simplifiedOffset = douglasPeucker(
|
||||
flatCoordinates, offset, end, stride, squaredTolerance,
|
||||
simplifiedFlatCoordinates, simplifiedOffset);
|
||||
flatCoordinates,
|
||||
offset,
|
||||
end,
|
||||
stride,
|
||||
squaredTolerance,
|
||||
simplifiedFlatCoordinates,
|
||||
simplifiedOffset
|
||||
);
|
||||
simplifiedEnds.push(simplifiedOffset);
|
||||
offset = end;
|
||||
}
|
||||
return simplifiedOffset;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @param {Array<number>} flatCoordinates Flat coordinates.
|
||||
* @param {number} offset Offset.
|
||||
@@ -170,21 +205,34 @@ export function douglasPeuckerArray(flatCoordinates, offset,
|
||||
* @return {number} Simplified offset.
|
||||
*/
|
||||
export function douglasPeuckerMultiArray(
|
||||
flatCoordinates, offset, endss, stride, squaredTolerance,
|
||||
simplifiedFlatCoordinates, simplifiedOffset, simplifiedEndss) {
|
||||
flatCoordinates,
|
||||
offset,
|
||||
endss,
|
||||
stride,
|
||||
squaredTolerance,
|
||||
simplifiedFlatCoordinates,
|
||||
simplifiedOffset,
|
||||
simplifiedEndss
|
||||
) {
|
||||
for (let i = 0, ii = endss.length; i < ii; ++i) {
|
||||
const ends = endss[i];
|
||||
const simplifiedEnds = [];
|
||||
simplifiedOffset = douglasPeuckerArray(
|
||||
flatCoordinates, offset, ends, stride, squaredTolerance,
|
||||
simplifiedFlatCoordinates, simplifiedOffset, simplifiedEnds);
|
||||
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.
|
||||
@@ -196,14 +244,21 @@ export function douglasPeuckerMultiArray(
|
||||
* @param {number} simplifiedOffset Simplified offset.
|
||||
* @return {number} Simplified offset.
|
||||
*/
|
||||
export function radialDistance(flatCoordinates, offset, end,
|
||||
stride, squaredTolerance, simplifiedFlatCoordinates, simplifiedOffset) {
|
||||
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];
|
||||
flatCoordinates[offset + 1];
|
||||
}
|
||||
return simplifiedOffset;
|
||||
}
|
||||
@@ -233,7 +288,6 @@ export function radialDistance(flatCoordinates, offset, end,
|
||||
return simplifiedOffset;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @param {number} value Value.
|
||||
* @param {number} tolerance Tolerance.
|
||||
@@ -243,7 +297,6 @@ 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
|
||||
@@ -263,8 +316,15 @@ export function snap(value, tolerance) {
|
||||
* @param {number} simplifiedOffset Simplified offset.
|
||||
* @return {number} Simplified offset.
|
||||
*/
|
||||
export function quantize(flatCoordinates, offset, end, stride,
|
||||
tolerance, simplifiedFlatCoordinates, simplifiedOffset) {
|
||||
export function quantize(
|
||||
flatCoordinates,
|
||||
offset,
|
||||
end,
|
||||
stride,
|
||||
tolerance,
|
||||
simplifiedFlatCoordinates,
|
||||
simplifiedOffset
|
||||
) {
|
||||
// do nothing if the line is empty
|
||||
if (offset == end) {
|
||||
return simplifiedOffset;
|
||||
@@ -311,9 +371,11 @@ export function quantize(flatCoordinates, offset, end, stride,
|
||||
// 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))) {
|
||||
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;
|
||||
@@ -335,7 +397,6 @@ export function quantize(flatCoordinates, offset, end, stride,
|
||||
return simplifiedOffset;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @param {Array<number>} flatCoordinates Flat coordinates.
|
||||
* @param {number} offset Offset.
|
||||
@@ -349,22 +410,32 @@ export function quantize(flatCoordinates, offset, end, stride,
|
||||
* @return {number} Simplified offset.
|
||||
*/
|
||||
export function quantizeArray(
|
||||
flatCoordinates, offset, ends, stride,
|
||||
flatCoordinates,
|
||||
offset,
|
||||
ends,
|
||||
stride,
|
||||
tolerance,
|
||||
simplifiedFlatCoordinates, simplifiedOffset, simplifiedEnds) {
|
||||
simplifiedFlatCoordinates,
|
||||
simplifiedOffset,
|
||||
simplifiedEnds
|
||||
) {
|
||||
for (let i = 0, ii = ends.length; i < ii; ++i) {
|
||||
const end = ends[i];
|
||||
simplifiedOffset = quantize(
|
||||
flatCoordinates, offset, end, stride,
|
||||
flatCoordinates,
|
||||
offset,
|
||||
end,
|
||||
stride,
|
||||
tolerance,
|
||||
simplifiedFlatCoordinates, simplifiedOffset);
|
||||
simplifiedFlatCoordinates,
|
||||
simplifiedOffset
|
||||
);
|
||||
simplifiedEnds.push(simplifiedOffset);
|
||||
offset = end;
|
||||
}
|
||||
return simplifiedOffset;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @param {Array<number>} flatCoordinates Flat coordinates.
|
||||
* @param {number} offset Offset.
|
||||
@@ -378,16 +449,28 @@ export function quantizeArray(
|
||||
* @return {number} Simplified offset.
|
||||
*/
|
||||
export function quantizeMultiArray(
|
||||
flatCoordinates, offset, endss, stride,
|
||||
flatCoordinates,
|
||||
offset,
|
||||
endss,
|
||||
stride,
|
||||
tolerance,
|
||||
simplifiedFlatCoordinates, simplifiedOffset, simplifiedEndss) {
|
||||
simplifiedFlatCoordinates,
|
||||
simplifiedOffset,
|
||||
simplifiedEndss
|
||||
) {
|
||||
for (let i = 0, ii = endss.length; i < ii; ++i) {
|
||||
const ends = endss[i];
|
||||
const simplifiedEnds = [];
|
||||
simplifiedOffset = quantizeArray(
|
||||
flatCoordinates, offset, ends, stride,
|
||||
flatCoordinates,
|
||||
offset,
|
||||
ends,
|
||||
stride,
|
||||
tolerance,
|
||||
simplifiedFlatCoordinates, simplifiedOffset, simplifiedEnds);
|
||||
simplifiedFlatCoordinates,
|
||||
simplifiedOffset,
|
||||
simplifiedEnds
|
||||
);
|
||||
simplifiedEndss.push(simplifiedEnds);
|
||||
offset = ends[ends.length - 1];
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user