@idm-plugin/geo 1.6.1 → 1.6.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -2243,47 +2243,49 @@ class t0 {
2243
2243
  };
2244
2244
  }
2245
2245
  static inspectStoppages(M, z = 1) {
2246
- const p = [];
2247
- for (let O = 0; O < M.length - 1; O++) {
2248
- const A = M[O];
2249
- if (A.sog = A.sog || 0, A.sog < z) {
2250
- const b = A;
2251
- let W = M.at(-1);
2252
- for (let q = O + 1; q < M.length; q++) {
2253
- const o = M[q];
2254
- if (o.sog = o.sog || 0, o.sog <= z) {
2255
- O = q;
2246
+ const p = M.at(0).positionTime < M.at(-1).positionTime;
2247
+ p || M.sort((A, b) => A.positionTime - b.positionTime);
2248
+ const O = [];
2249
+ for (let A = 0; A < M.length - 1; A++) {
2250
+ const b = M[A];
2251
+ if (b.sog = b.sog || 0, b.sog < z) {
2252
+ const W = b;
2253
+ let q = M.at(-1);
2254
+ for (let o = A + 1; o < M.length; o++) {
2255
+ const R = M[o];
2256
+ if (R.sog = R.sog || 0, R.sog <= z) {
2257
+ A = o;
2256
2258
  continue;
2257
2259
  } else {
2258
- O = q - 1, W = M[q - 1];
2260
+ A = o - 1, q = M[o - 1];
2259
2261
  break;
2260
2262
  }
2261
2263
  }
2262
- if (W.positionTime != b.positionTime) {
2263
- const q = {
2264
+ if (q.positionTime != W.positionTime) {
2265
+ const o = {
2264
2266
  start: {
2265
- lat: b.lat,
2266
- lng: b.lng,
2267
- sog: b.sog,
2268
- positionTime: b.positionTime,
2269
- utc: g.unix(b.positionTime).utc().format()
2270
- },
2271
- end: {
2272
2267
  lat: W.lat,
2273
2268
  lng: W.lng,
2274
2269
  sog: W.sog,
2275
2270
  positionTime: W.positionTime,
2276
2271
  utc: g.unix(W.positionTime).utc().format()
2277
2272
  },
2278
- duration: W.positionTime - b.positionTime,
2279
- distance: u.calculateDistance(b, W, !0, 4),
2273
+ end: {
2274
+ lat: q.lat,
2275
+ lng: q.lng,
2276
+ sog: q.sog,
2277
+ positionTime: q.positionTime,
2278
+ utc: g.unix(q.positionTime).utc().format()
2279
+ },
2280
+ duration: q.positionTime - W.positionTime,
2281
+ distance: u.calculateDistance(W, q, !0, 4),
2280
2282
  avgSog: 0
2281
2283
  };
2282
- q.avgSog = Math.round(q.distance / (q.duration / 3600) * 100) / 100, p.push(q);
2284
+ o.avgSog = Math.round(o.distance / (o.duration / 3600) * 100) / 100, O.push(o);
2283
2285
  }
2284
2286
  }
2285
2287
  }
2286
- return p;
2288
+ return p || M.sort((A, b) => b.positionTime - A.positionTime), O;
2287
2289
  }
2288
2290
  }
2289
2291
  export {