@wemap/positioning 2.7.13 → 14.0.0-0
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/README.md +51 -0
- package/dist/index.d.ts +19 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +16582 -0
- package/dist/qr-scanner-worker.min-CdBZO1_x.js +2 -0
- package/dist/src/ILocationSource.d.ts +104 -0
- package/dist/src/ILocationSource.d.ts.map +1 -0
- package/dist/src/MapMatching.d.ts +83 -0
- package/dist/src/MapMatching.d.ts.map +1 -0
- package/dist/src/location-sources/GnssWifiLocationSource.d.ts +79 -0
- package/dist/src/location-sources/GnssWifiLocationSource.d.ts.map +1 -0
- package/dist/src/location-sources/LocationSource.d.ts +102 -0
- package/dist/src/location-sources/LocationSource.d.ts.map +1 -0
- package/dist/src/location-sources/VPSLocationSource.d.ts +107 -0
- package/dist/src/location-sources/VPSLocationSource.d.ts.map +1 -0
- package/dist/src/types.d.ts +65 -0
- package/dist/src/types.d.ts.map +1 -0
- package/dist/src/utils/permissions.d.ts +29 -0
- package/dist/src/utils/permissions.d.ts.map +1 -0
- package/dist/vitest.config.d.ts +3 -0
- package/dist/vitest.config.d.ts.map +1 -0
- package/package.json +23 -59
- package/babel.config.js +0 -11
- package/config.json +0 -4
- package/debug/absolute-attitude.html +0 -16
- package/debug/arcore-absolute.html +0 -16
- package/debug/arcore.html +0 -16
- package/debug/components/AbsoluteAttitudeComponent.jsx +0 -100
- package/debug/components/ArCoreAbsoluteComponent.jsx +0 -104
- package/debug/components/ArCoreComponent.jsx +0 -69
- package/debug/components/GnssWifiComponent.jsx +0 -56
- package/debug/components/GnssWifiPdrComponent.jsx +0 -76
- package/debug/components/ImuComponent.jsx +0 -95
- package/debug/components/InclinationComponent.jsx +0 -52
- package/debug/components/MapComponent.jsx +0 -228
- package/debug/components/NavigationConfig.js +0 -92
- package/debug/components/PdrComponent.jsx +0 -75
- package/debug/components/PoseComponent.jsx +0 -77
- package/debug/components/PositioningComponent.jsx +0 -29
- package/debug/components/PositioningInclinationComponent.jsx +0 -82
- package/debug/components/PositioningPoseComponent.jsx +0 -117
- package/debug/components/RelativeAttitudeComponent.jsx +0 -82
- package/debug/components/StartStopComponent.jsx +0 -50
- package/debug/components/Utils.js +0 -128
- package/debug/components/index.js +0 -34
- package/debug/gnss-wifi-pdr.html +0 -16
- package/debug/gnss-wifi.html +0 -16
- package/debug/imu.html +0 -16
- package/debug/inclination.html +0 -16
- package/debug/pdr.html +0 -16
- package/debug/pose.html +0 -16
- package/debug/positioning.html +0 -16
- package/debug/relative-attitude.html +0 -16
- package/dist/wemap-positioning.min.js +0 -1
- package/index.js +0 -8
- package/src/PositioningHandler.js +0 -237
- package/src/PositioningHandler.spec.js +0 -294
- package/src/PositioningOptions.js +0 -34
- package/src/errors/AskImuOnDesktopError.js +0 -9
- package/src/errors/ContainsIgnoredProviderError.js +0 -9
- package/src/errors/GeolocationApiMissingError.js +0 -9
- package/src/errors/GeolocationPermissionDeniedError.js +0 -9
- package/src/errors/GeolocationPositionUnavailableError.js +0 -9
- package/src/errors/IpResolveServerError.js +0 -9
- package/src/errors/MissingAccelerometerError.js +0 -11
- package/src/errors/MissingArCoreError.js +0 -9
- package/src/errors/MissingGyroscopeError.js +0 -11
- package/src/errors/MissingMagnetometerError.js +0 -9
- package/src/errors/MissingNativeInterfaceError.js +0 -9
- package/src/errors/MissingSensorError.js +0 -14
- package/src/errors/NoProviderFoundError.js +0 -9
- package/src/events/Availability.js +0 -30
- package/src/events/EventType.js +0 -22
- package/src/events/ProviderEvent.js +0 -35
- package/src/providers/Constants.js +0 -5
- package/src/providers/Provider.js +0 -247
- package/src/providers/ProvidersList.js +0 -44
- package/src/providers/ProvidersLogger.js +0 -75
- package/src/providers/attitude/AbsoluteAttitudeProvider.js +0 -199
- package/src/providers/attitude/EkfAttitude.js +0 -238
- package/src/providers/attitude/EkfAttitude.spec.js +0 -116
- package/src/providers/attitude/RelativeAttitudeProvider.js +0 -121
- package/src/providers/others/ImuProvider.js +0 -179
- package/src/providers/others/InclinationProvider.js +0 -99
- package/src/providers/others/MapMatchingProvider.js +0 -65
- package/src/providers/pose/ArCoreAbsoluteProvider.js +0 -235
- package/src/providers/pose/ArCoreProvider.js +0 -191
- package/src/providers/pose/GnssWifiPdrProvider.js +0 -219
- package/src/providers/pose/PoseProvider.js +0 -71
- package/src/providers/pose/pdr/PdrProvider.js +0 -364
- package/src/providers/pose/pdr/helpers/HeadingUnlocker.js +0 -41
- package/src/providers/pose/pdr/helpers/HeadingUnlocker.spec.js +0 -26
- package/src/providers/pose/pdr/helpers/Smoother.js +0 -92
- package/src/providers/pose/pdr/helpers/Smoother.spec.js +0 -426
- package/src/providers/pose/pdr/helpers/ThugDetector.js +0 -37
- package/src/providers/pose/pdr/steps/StepDetection.js +0 -7
- package/src/providers/pose/pdr/steps/StepDetectionLadetto.js +0 -67
- package/src/providers/pose/pdr/steps/StepDetectionMinMaxPeaks.js +0 -80
- package/src/providers/pose/pdr/steps/StepDetectionMinMaxPeaks2.js +0 -108
- package/src/providers/position/GnssWifiProvider.js +0 -130
- package/src/providers/position/IpProvider.js +0 -74
- package/webpack/webpack.common.js +0 -20
- package/webpack/webpack.dev.js +0 -24
- package/webpack/webpack.prod.js +0 -15
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import chai from 'chai';
|
|
2
|
-
import chaiAlmost from 'chai-almost';
|
|
3
|
-
|
|
4
|
-
import HeadingUnlocker from './HeadingUnlocker';
|
|
5
|
-
|
|
6
|
-
const expect = chai.expect;
|
|
7
|
-
chai.use(chaiAlmost());
|
|
8
|
-
|
|
9
|
-
describe('HeadingUnlocker test short first edge', () => {
|
|
10
|
-
|
|
11
|
-
it('Should return the good value', () => {
|
|
12
|
-
|
|
13
|
-
const headingUnlocker = new HeadingUnlocker();
|
|
14
|
-
headingUnlocker.setWaitingOrientation(102 * Math.PI / 180);
|
|
15
|
-
|
|
16
|
-
headingUnlocker.feedHeading(0 * Math.PI / 180);
|
|
17
|
-
expect(headingUnlocker.locked).to.be.true;
|
|
18
|
-
|
|
19
|
-
headingUnlocker.feedHeading(130 * Math.PI / 180);
|
|
20
|
-
expect(headingUnlocker.locked).to.be.true;
|
|
21
|
-
|
|
22
|
-
headingUnlocker.feedHeading(100 * Math.PI / 180);
|
|
23
|
-
expect(headingUnlocker.locked).to.be.false;
|
|
24
|
-
|
|
25
|
-
});
|
|
26
|
-
});
|
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
/* eslint-disable max-statements */
|
|
2
|
-
import { WGS84UserPosition } from '@wemap/geo';
|
|
3
|
-
|
|
4
|
-
// Generated positions by second
|
|
5
|
-
const GEN_FREQUENCY = 60;
|
|
6
|
-
|
|
7
|
-
// Min and max time for flyby (in second)
|
|
8
|
-
const MIN_FLYBY_TIME = 0.25;
|
|
9
|
-
const MAX_FLYBY_TIME = 1;
|
|
10
|
-
|
|
11
|
-
class Smoother {
|
|
12
|
-
|
|
13
|
-
constructor() {
|
|
14
|
-
this.positionsQueue = [];
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
/**
|
|
18
|
-
* Calculate smoothed positions for the next milliseconds given a new position
|
|
19
|
-
*/
|
|
20
|
-
generateNextPositions(newPosition, flyby = false) {
|
|
21
|
-
|
|
22
|
-
if (!(newPosition instanceof WGS84UserPosition)) {
|
|
23
|
-
throw new TypeError('newPosition is not instance of WGS84UserPosition');
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
if (newPosition.time === null) {
|
|
27
|
-
throw new Error('newPosition does not have time property');
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
if (!this.previousPosition) {
|
|
31
|
-
this.previousPosition = newPosition;
|
|
32
|
-
this.positionsQueue.push(this.previousPosition);
|
|
33
|
-
return;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
const distance = this.previousPosition.distanceTo(newPosition);
|
|
37
|
-
const azimuth = this.previousPosition.bearingTo(newPosition);
|
|
38
|
-
|
|
39
|
-
let refTimestamp = newPosition.time;
|
|
40
|
-
|
|
41
|
-
const queueLength = this.positionsQueue.length;
|
|
42
|
-
if (queueLength) {
|
|
43
|
-
refTimestamp = Math.max(refTimestamp, this.positionsQueue[queueLength - 1].time);
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
let diffTime = newPosition.time - this.previousPosition.time;
|
|
47
|
-
|
|
48
|
-
if (flyby) {
|
|
49
|
-
diffTime = MAX_FLYBY_TIME;
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
const nSamples = GEN_FREQUENCY * Math.min(Math.max(MIN_FLYBY_TIME, diffTime), MAX_FLYBY_TIME);
|
|
53
|
-
|
|
54
|
-
let i = 1;
|
|
55
|
-
while (i < nSamples + 1) {
|
|
56
|
-
i = Math.min(i, nSamples);
|
|
57
|
-
const smoothedPosition = this.previousPosition.destinationPoint(distance * i / nSamples, azimuth);
|
|
58
|
-
smoothedPosition.time = refTimestamp + (i - 1) / GEN_FREQUENCY;
|
|
59
|
-
smoothedPosition.bearing = newPosition.bearing;
|
|
60
|
-
this.positionsQueue.push(smoothedPosition);
|
|
61
|
-
i++;
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
this.positionsQueue[this.positionsQueue.length - 1].level = newPosition.level;
|
|
65
|
-
|
|
66
|
-
this.previousPosition = newPosition;
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
/**
|
|
70
|
-
* Pull positions until timestamp and return the last one.
|
|
71
|
-
* @param {*} timestamp position returned is the last before this timestamp
|
|
72
|
-
* @returns last known position before timestamp, undefined otherwise
|
|
73
|
-
*/
|
|
74
|
-
pullPosition(timestamp) {
|
|
75
|
-
|
|
76
|
-
if ((typeof timestamp === 'undefined' || !timestamp)
|
|
77
|
-
&& this.positionsQueue.length > 0) {
|
|
78
|
-
const output = this.positionsQueue[this.positionsQueue.length - 1];
|
|
79
|
-
this.positionsQueue = [];
|
|
80
|
-
return output;
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
let position;
|
|
84
|
-
while (this.positionsQueue.length && this.positionsQueue[0].time <= timestamp) {
|
|
85
|
-
position = this.positionsQueue.shift();
|
|
86
|
-
}
|
|
87
|
-
return position;
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
export default Smoother;
|
|
@@ -1,426 +0,0 @@
|
|
|
1
|
-
import chai from 'chai';
|
|
2
|
-
import chaiAlmost from 'chai-almost';
|
|
3
|
-
|
|
4
|
-
import Smoother from './Smoother';
|
|
5
|
-
import {
|
|
6
|
-
Constants as GeoConstants, WGS84, WGS84UserPosition
|
|
7
|
-
} from '@wemap/geo';
|
|
8
|
-
|
|
9
|
-
const expect = chai.expect;
|
|
10
|
-
chai.use(chaiAlmost(GeoConstants.EPS_MM));
|
|
11
|
-
|
|
12
|
-
const positions = [[0, 0, 0, 0],
|
|
13
|
-
[1.2, 4.4915764205976071E-6, 1.7966305682390469E-6, 0],
|
|
14
|
-
[1.6, 6.2882069888366455E-6, 4.4915764205976266E-6, 0],
|
|
15
|
-
[2.2, 8.084837557075667E-6, 8.0848375570757466E-6, 0],
|
|
16
|
-
[2.3, 3.5932611364778505E-5, 3.5932611364785566E-5, 1],
|
|
17
|
-
[2.7, 4.0424187785375816E-5, 3.5932611364786826E-5, 0],
|
|
18
|
-
[8.5, 4.042418778537667E-5, 2.9644404375949124E-5, 0],
|
|
19
|
-
[9, 3.7729241933018592E-5, 2.6051143239469885E-5, 0],
|
|
20
|
-
[10, 3.4135980796541678E-5, 8.9831528411962763E-6, 0]];
|
|
21
|
-
|
|
22
|
-
const expectations = [
|
|
23
|
-
[0, 0, 0],
|
|
24
|
-
[1.2, 7.4859607009960129e-8, 2.9943842803984042e-8],
|
|
25
|
-
[1.2166666666666666, 1.4971921401992026e-7, 5.9887685607968084e-8],
|
|
26
|
-
[1.2333333333333334, 2.2457882102988041e-7, 8.9831528411952133e-8],
|
|
27
|
-
[1.25, 2.9943842803984051e-7, 1.1977537121593617e-7],
|
|
28
|
-
[1.2666666666666666, 3.7429803504980064e-7, 1.497192140199202e-7],
|
|
29
|
-
[1.2833333333333332, 4.4915764205976082e-7, 1.7966305682390427e-7],
|
|
30
|
-
[1.3, 5.24017249069721e-7, 2.0960689962788833e-7],
|
|
31
|
-
[1.3166666666666667, 5.98876856079681e-7, 2.3955074243187239e-7],
|
|
32
|
-
[1.3333333333333333, 6.7373646308964121e-7, 2.694945852358564e-7],
|
|
33
|
-
[1.3499999999999999, 7.4859607009960129e-7, 2.9943842803984046e-7],
|
|
34
|
-
[1.3666666666666667, 8.2345567710956136e-7, 3.2938227084382447e-7],
|
|
35
|
-
[1.3833333333333333, 8.9831528411952165e-7, 3.5932611364780859e-7],
|
|
36
|
-
[1.4, 9.7317489112948162e-7, 3.892699564517927e-7],
|
|
37
|
-
[1.4166666666666665, 1.0480344981394419e-6, 4.1921379925577671e-7],
|
|
38
|
-
[1.4333333333333333, 1.122894105149402e-6, 4.4915764205976077e-7],
|
|
39
|
-
[1.45, 1.1977537121593618e-6, 4.7910148486374467e-7],
|
|
40
|
-
[1.4666666666666666, 1.2726133191693221e-6, 5.090453276677289e-7],
|
|
41
|
-
[1.4833333333333334, 1.3474729261792824e-6, 5.389891704717128e-7],
|
|
42
|
-
[1.5, 1.4223325331892425e-6, 5.6893301327569691e-7],
|
|
43
|
-
[1.5166666666666666, 1.4971921401992026e-6, 5.98876856079681e-7],
|
|
44
|
-
[1.5333333333333332, 1.5720517472091626e-6, 6.2882069888366514e-7],
|
|
45
|
-
[1.5499999999999998, 1.6469113542191223e-6, 6.5876454168764894e-7],
|
|
46
|
-
[1.5666666666666667, 1.721770961229083e-6, 6.8870838449163348e-7],
|
|
47
|
-
[1.5833333333333333, 1.7966305682390433e-6, 7.1865222729561749e-7],
|
|
48
|
-
[1.6, 1.8714901752490032e-6, 7.4859607009960139e-7],
|
|
49
|
-
[1.6166666666666667, 1.9463497822589632e-6, 7.785399129035854e-7],
|
|
50
|
-
[1.6333333333333333, 2.0212093892689239e-6, 8.0848375570756973e-7],
|
|
51
|
-
[1.65, 2.0960689962788834e-6, 8.3842759851155352e-7],
|
|
52
|
-
[1.6666666666666665, 2.1709286032888433e-6, 8.6837144131553774e-7],
|
|
53
|
-
[1.6833333333333333, 2.245788210298804e-6, 8.9831528411952175e-7],
|
|
54
|
-
[1.7, 2.3206478173087642e-6, 9.2825912692350608e-7],
|
|
55
|
-
[1.7166666666666668, 2.3955074243187241e-6, 9.582029697274902e-7],
|
|
56
|
-
[1.7333333333333334, 2.4703670313286844e-6, 9.88146812531474e-7],
|
|
57
|
-
[1.75, 2.5452266383386438e-6, 1.018090655335458e-6],
|
|
58
|
-
[1.7666666666666666, 2.6200862453486041e-6, 1.0480344981394423e-6],
|
|
59
|
-
[1.7833333333333332, 2.6949458523585648e-6, 1.0779783409434264e-6],
|
|
60
|
-
[1.7999999999999998, 2.7698054593685247e-6, 1.1079221837474106e-6],
|
|
61
|
-
[1.8166666666666667, 2.8446650663784846e-6, 1.1378660265513947e-6],
|
|
62
|
-
[1.8333333333333333, 2.9195246733884444e-6, 1.1678098693553788e-6],
|
|
63
|
-
[1.85, 2.9943842803984051e-6, 1.1977537121593627e-6],
|
|
64
|
-
[1.8666666666666667, 3.0692438874083654e-6, 1.227697554963347e-6],
|
|
65
|
-
[1.8833333333333333, 3.1441034944183253e-6, 1.2576413977673311e-6],
|
|
66
|
-
[1.9, 3.2189631014282852e-6, 1.287585240571315e-6],
|
|
67
|
-
[1.9166666666666665, 3.2938227084382446e-6, 1.3175290833752989e-6],
|
|
68
|
-
[1.9333333333333331, 3.3686823154482057e-6, 1.3474729261792835e-6],
|
|
69
|
-
[1.95, 3.4435419224581673e-6, 1.3774167689832682e-6],
|
|
70
|
-
[1.9666666666666668, 3.5184015294681255e-6, 1.4073606117872515e-6],
|
|
71
|
-
[1.9833333333333334, 3.5932611364780866e-6, 1.4373044545912362e-6],
|
|
72
|
-
[2, 3.668120743488046e-6, 1.46724829739522e-6],
|
|
73
|
-
[2.0166666666666666, 3.7429803504980076e-6, 1.4971921401992045e-6],
|
|
74
|
-
[2.0333333333333332, 3.8178399575079666e-6, 1.5271359830031886e-6],
|
|
75
|
-
[2.05, 3.8926995645179265e-6, 1.5570798258071727e-6],
|
|
76
|
-
[2.0666666666666664, 3.9675591715278863e-6, 1.587023668611157e-6],
|
|
77
|
-
[2.083333333333333, 4.042418778537847e-6, 1.6169675114151414e-6],
|
|
78
|
-
[2.1, 4.1172783855478069e-6, 1.6469113542191253e-6],
|
|
79
|
-
[2.1166666666666667, 4.1921379925577676e-6, 1.6768551970231096e-6],
|
|
80
|
-
[2.1333333333333333, 4.2669975995677266e-6, 1.7067990398270935e-6],
|
|
81
|
-
[2.15, 4.3418572065776865e-6, 1.7367428826310776e-6],
|
|
82
|
-
[2.1666666666666665, 4.4167168135876481e-6, 1.7666867254350624e-6],
|
|
83
|
-
[2.1833333333333331, 4.4915764205976071e-6, 1.796630568239046e-6],
|
|
84
|
-
[2.1833333333333331, 4.5664360276075669e-6, 1.9089199787539871e-6],
|
|
85
|
-
[2.1999999999999997, 4.6412956346175277e-6, 2.0212093892689278e-6],
|
|
86
|
-
[2.2166666666666663, 4.7161552416274867e-6, 2.1334987997838684e-6],
|
|
87
|
-
[2.2333333333333329, 4.7910148486374474e-6, 2.2457882102988086e-6],
|
|
88
|
-
[2.25, 4.8658744556474072e-6, 2.3580776208137493e-6],
|
|
89
|
-
[2.2666666666666666, 4.9407340626573671e-6, 2.47036703132869e-6],
|
|
90
|
-
[2.2833333333333332, 5.0155936696673278e-6, 2.58265644184363e-6],
|
|
91
|
-
[2.3, 5.0904532766772877e-6, 2.6949458523585712e-6],
|
|
92
|
-
[2.3166666666666664, 5.1653128836872475e-6, 2.8072352628735118e-6],
|
|
93
|
-
[2.333333333333333, 5.2401724906972083e-6, 2.9195246733884521e-6],
|
|
94
|
-
[2.3499999999999996, 5.3150320977071673e-6, 3.0318140839033935e-6],
|
|
95
|
-
[2.3666666666666663, 5.3898917047171263e-6, 3.1441034944183342e-6],
|
|
96
|
-
[2.3833333333333333, 5.464751311727087e-6, 3.2563929049332744e-6],
|
|
97
|
-
[2.4, 5.5396109187370469e-6, 3.3686823154482155e-6],
|
|
98
|
-
[2.4166666666666665, 5.6144705257470076e-6, 3.4809717259631557e-6],
|
|
99
|
-
[2.4333333333333331, 5.6893301327569674e-6, 3.5932611364780972e-6],
|
|
100
|
-
[2.4499999999999997, 5.7641897397669256e-6, 3.7055505469930382e-6],
|
|
101
|
-
[2.4666666666666663, 5.8390493467768872e-6, 3.81783995750798e-6],
|
|
102
|
-
[2.4833333333333329, 5.9139089537868462e-6, 3.93012936802292e-6],
|
|
103
|
-
[2.5, 5.988768560796806e-6, 4.0424187785378606e-6],
|
|
104
|
-
[2.5166666666666666, 6.0636281678067668e-6, 4.1547081890528017e-6],
|
|
105
|
-
[2.5333333333333332, 6.1384877748167258e-6, 4.2669975995677427e-6],
|
|
106
|
-
[2.55, 6.2133473818266856e-6, 4.3792870100826838e-6],
|
|
107
|
-
[2.5666666666666664, 6.2882069888366455e-6, 4.4915764205976249e-6],
|
|
108
|
-
[2.5666666666666664, 6.2882069888366455e-6, 4.4915764205976249e-6],
|
|
109
|
-
[2.5666666666666664, 6.3381133935099521e-6, 4.5913892299442406e-6],
|
|
110
|
-
[2.583333333333333, 6.3880197981832578e-6, 4.6912020392908546e-6],
|
|
111
|
-
[2.5999999999999996, 6.4379262028565652e-6, 4.7910148486374694e-6],
|
|
112
|
-
[2.6166666666666663, 6.4878326075298718e-6, 4.8908276579840834e-6],
|
|
113
|
-
[2.6333333333333333, 6.5377390122031775e-6, 4.9906404673306966e-6],
|
|
114
|
-
[2.65, 6.5876454168764841e-6, 5.0904532766773114e-6],
|
|
115
|
-
[2.6666666666666665, 6.6375518215497907e-6, 5.1902660860239254e-6],
|
|
116
|
-
[2.6833333333333331, 6.6874582262230964e-6, 5.2900788953705394e-6],
|
|
117
|
-
[2.6999999999999997, 6.737364630896403e-6, 5.3898917047171542e-6],
|
|
118
|
-
[2.7166666666666663, 6.7872710355697087e-6, 5.4897045140637691e-6],
|
|
119
|
-
[2.7333333333333329, 6.8371774402430161e-6, 5.5895173234103822e-6],
|
|
120
|
-
[2.7499999999999996, 6.8870838449163227e-6, 5.6893301327569962e-6],
|
|
121
|
-
[2.7666666666666666, 6.9369902495896293e-6, 5.7891429421036111e-6],
|
|
122
|
-
[2.7833333333333332, 6.986896654262935e-6, 5.8889557514502259e-6],
|
|
123
|
-
[2.8, 7.0368030589362408e-6, 5.9887685607968391e-6],
|
|
124
|
-
[2.8166666666666664, 7.0867094636095465e-6, 6.0885813701434539e-6],
|
|
125
|
-
[2.833333333333333, 7.1366158682828531e-6, 6.1883941794900688e-6],
|
|
126
|
-
[2.8499999999999996, 7.1865222729561579e-6, 6.2882069888366828e-6],
|
|
127
|
-
[2.8666666666666663, 7.2364286776294654e-6, 6.3880197981832976e-6],
|
|
128
|
-
[2.8833333333333329, 7.2863350823027719e-6, 6.4878326075299125e-6],
|
|
129
|
-
[2.9, 7.3362414869760777e-6, 6.5876454168765273e-6],
|
|
130
|
-
[2.9166666666666665, 7.3861478916493842e-6, 6.68745822622314e-6],
|
|
131
|
-
[2.9333333333333331, 7.4360542963226908e-6, 6.7872710355697553e-6],
|
|
132
|
-
[2.9499999999999997, 7.4859607009959965e-6, 6.8870838449163693e-6],
|
|
133
|
-
[2.9666666666666663, 7.5358671056693006e-6, 6.986896654262985e-6],
|
|
134
|
-
[2.9833333333333329, 7.5857735103426089e-6, 7.0867094636095981e-6],
|
|
135
|
-
[3, 7.6356799150159163e-6, 7.1865222729562138e-6],
|
|
136
|
-
[3.0166666666666666, 7.68558631968922e-6, 7.2863350823028278e-6],
|
|
137
|
-
[3.0333333333333332, 7.7354927243625243e-6, 7.3861478916494435e-6],
|
|
138
|
-
[3.05, 7.7853991290358326e-6, 7.4859607009960567e-6],
|
|
139
|
-
[3.0666666666666664, 7.8353055337091375e-6, 7.5857735103426732e-6],
|
|
140
|
-
[3.083333333333333, 7.8852119383824441e-6, 7.6855863196892872e-6],
|
|
141
|
-
[3.0999999999999996, 7.935118343055749e-6, 7.7853991290359021e-6],
|
|
142
|
-
[3.1166666666666663, 7.9850247477290555e-6, 7.8852119383825186e-6],
|
|
143
|
-
[3.1333333333333329, 8.03493115240236e-6, 7.98502474772913e-6],
|
|
144
|
-
[3.15, 8.084837557075667e-6, 8.0848375570757466e-6],
|
|
145
|
-
[3.15, 8.084837557075667e-6, 8.0848375570757483e-6],
|
|
146
|
-
[3.15, 8.5489671205374136e-6, 8.54896712053751e-6],
|
|
147
|
-
[3.1666666666666665, 9.0130966839991635e-6, 9.0130966839992737e-6],
|
|
148
|
-
[3.1833333333333331, 9.4772262474609084e-6, 9.4772262474610372e-6],
|
|
149
|
-
[3.1999999999999997, 9.9413558109226567e-6, 9.9413558109228041e-6],
|
|
150
|
-
[3.2166666666666668, 1.0405485374384402e-5, 1.0405485374384571e-5],
|
|
151
|
-
[3.2333333333333334, 1.0869614937846148e-5, 1.0869614937846338e-5],
|
|
152
|
-
[3.25, 1.1333744501307891e-5, 1.1333744501308108e-5],
|
|
153
|
-
[3.2666666666666666, 1.1797874064769633e-5, 1.1797874064769879e-5],
|
|
154
|
-
[3.2833333333333332, 1.2262003628231376e-5, 1.2262003628231654e-5],
|
|
155
|
-
[3.3, 1.2726133191693118e-5, 1.2726133191693429e-5],
|
|
156
|
-
[3.3166666666666664, 1.3190262755154859e-5, 1.3190262755155206e-5],
|
|
157
|
-
[3.333333333333333, 1.3654392318616599e-5, 1.3654392318616982e-5],
|
|
158
|
-
[3.35, 1.4118521882078337e-5, 1.4118521882078762e-5],
|
|
159
|
-
[3.3666666666666667, 1.4582651445540075e-5, 1.4582651445540544e-5],
|
|
160
|
-
[3.3833333333333333, 1.5046781009001812e-5, 1.5046781009002326e-5],
|
|
161
|
-
[3.4, 1.551091057246355e-5, 1.5510910572464115e-5],
|
|
162
|
-
[3.4166666666666665, 1.5975040135925286e-5, 1.59750401359259e-5],
|
|
163
|
-
[3.4333333333333331, 1.6439169699387016e-5, 1.643916969938769e-5],
|
|
164
|
-
[3.4499999999999997, 1.6903299262848755e-5, 1.6903299262849481e-5],
|
|
165
|
-
[3.4666666666666668, 1.7367428826310485e-5, 1.7367428826311275e-5],
|
|
166
|
-
[3.4833333333333334, 1.7831558389772215e-5, 1.7831558389773072e-5],
|
|
167
|
-
[3.5, 1.8295687953233951e-5, 1.8295687953234876e-5],
|
|
168
|
-
[3.5166666666666666, 1.8759817516695674e-5, 1.8759817516696674e-5],
|
|
169
|
-
[3.5333333333333332, 1.9223947080157404e-5, 1.9223947080158478e-5],
|
|
170
|
-
[3.55, 1.9688076643619127e-5, 1.9688076643620285e-5],
|
|
171
|
-
[3.5666666666666664, 2.0152206207080849e-5, 2.0152206207082089e-5],
|
|
172
|
-
[3.583333333333333, 2.0616335770542579e-5, 2.0616335770543907e-5],
|
|
173
|
-
[3.6, 2.10804653340043e-5, 2.1080465334005715e-5],
|
|
174
|
-
[3.6166666666666667, 2.1544594897466021e-5, 2.1544594897467539e-5],
|
|
175
|
-
[3.6333333333333333, 2.2008724460927734e-5, 2.2008724460929357e-5],
|
|
176
|
-
[3.65, 2.2472854024389457e-5, 2.2472854024391175e-5],
|
|
177
|
-
[3.6666666666666665, 2.2936983587851173e-5, 2.2936983587853e-5],
|
|
178
|
-
[3.6833333333333331, 2.3401113151312886e-5, 2.3401113151314837e-5],
|
|
179
|
-
[3.7, 2.3865242714774602e-5, 2.3865242714776662e-5],
|
|
180
|
-
[3.7166666666666668, 2.4329372278236315e-5, 2.4329372278238493e-5],
|
|
181
|
-
[3.7333333333333334, 2.479350184169802e-5, 2.4793501841700335e-5],
|
|
182
|
-
[3.75, 2.525763140515973e-5, 2.5257631405162173e-5],
|
|
183
|
-
[3.7666666666666666, 2.5721760968621436e-5, 2.5721760968624017e-5],
|
|
184
|
-
[3.7833333333333332, 2.6185890532083142e-5, 2.6185890532085869e-5],
|
|
185
|
-
[3.8, 2.6650020095544848e-5, 2.6650020095547717e-5],
|
|
186
|
-
[3.8166666666666664, 2.711414965900655e-5, 2.7114149659009569e-5],
|
|
187
|
-
[3.833333333333333, 2.7578279222468256e-5, 2.7578279222471434e-5],
|
|
188
|
-
[3.8499999999999996, 2.8042408785929948e-5, 2.8042408785933296e-5],
|
|
189
|
-
[3.8666666666666667, 2.8506538349391641e-5, 2.8506538349395161e-5],
|
|
190
|
-
[3.8833333333333333, 2.897066791285333e-5, 2.8970667912857026e-5],
|
|
191
|
-
[3.9, 2.9434797476315025e-5, 2.9434797476318905e-5],
|
|
192
|
-
[3.9166666666666665, 2.9898927039776714e-5, 2.989892703978078e-5],
|
|
193
|
-
[3.9333333333333331, 3.0363056603238407e-5, 3.0363056603242666e-5],
|
|
194
|
-
[3.95, 3.08271861667001e-5, 3.0827186166704551e-5],
|
|
195
|
-
[3.9666666666666668, 3.1291315730161778e-5, 3.1291315730166433e-5],
|
|
196
|
-
[3.9833333333333334, 3.1755445293623464e-5, 3.1755445293628329e-5],
|
|
197
|
-
[4, 3.2219574857085142e-5, 3.2219574857090225e-5],
|
|
198
|
-
[4.0166666666666666, 3.2683704420546821e-5, 3.2683704420552127e-5],
|
|
199
|
-
[4.0333333333333332, 3.31478339840085e-5, 3.314783398401403e-5],
|
|
200
|
-
[4.05, 3.3611963547470179e-5, 3.3611963547475946e-5],
|
|
201
|
-
[4.0666666666666664, 3.4076093110931837e-5, 3.4076093110937855e-5],
|
|
202
|
-
[4.083333333333333, 3.4540222674393509e-5, 3.4540222674399777e-5],
|
|
203
|
-
[4.1, 3.5004352237855181e-5, 3.50043522378617e-5],
|
|
204
|
-
[4.1166666666666663, 3.5468481801316847e-5, 3.5468481801323623e-5],
|
|
205
|
-
[4.1333333333333329, 3.5932611364778505e-5, 3.5932611364785566e-5],
|
|
206
|
-
[4.1333333333333329, 3.61197603823034e-5, 3.5932611364785614e-5],
|
|
207
|
-
[4.1499999999999995, 3.630690939982829e-5, 3.5932611364785668e-5],
|
|
208
|
-
[4.1666666666666661, 3.6494058417353176e-5, 3.5932611364785722e-5],
|
|
209
|
-
[4.1833333333333327, 3.6681207434878055e-5, 3.5932611364785776e-5],
|
|
210
|
-
[4.1999999999999993, 3.686835645240294e-5, 3.5932611364785824e-5],
|
|
211
|
-
[4.2166666666666659, 3.705550546992784e-5, 3.5932611364785878e-5],
|
|
212
|
-
[4.2333333333333325, 3.7242654487452725e-5, 3.5932611364785939e-5],
|
|
213
|
-
[4.2499999999999991, 3.7429803504977618e-5, 3.5932611364785986e-5],
|
|
214
|
-
[4.2666666666666666, 3.76169525225025e-5, 3.5932611364786034e-5],
|
|
215
|
-
[4.2833333333333332, 3.7804101540027382e-5, 3.5932611364786088e-5],
|
|
216
|
-
[4.3, 3.7991250557552275e-5, 3.5932611364786135e-5],
|
|
217
|
-
[4.3166666666666664, 3.8178399575077161e-5, 3.5932611364786196e-5],
|
|
218
|
-
[4.333333333333333, 3.8365548592602053e-5, 3.5932611364786251e-5],
|
|
219
|
-
[4.35, 3.8552697610126945e-5, 3.59326113647863e-5],
|
|
220
|
-
[4.3666666666666663, 3.8739846627651831e-5, 3.5932611364786352e-5],
|
|
221
|
-
[4.3833333333333329, 3.8926995645176717e-5, 3.5932611364786406e-5],
|
|
222
|
-
[4.3999999999999995, 3.9114144662701609e-5, 3.5932611364786461e-5],
|
|
223
|
-
[4.4166666666666661, 3.9301293680226488e-5, 3.5932611364786508e-5],
|
|
224
|
-
[4.4333333333333327, 3.9488442697751374e-5, 3.5932611364786555e-5],
|
|
225
|
-
[4.4499999999999993, 3.9675591715276266e-5, 3.593261136478661e-5],
|
|
226
|
-
[4.4666666666666659, 3.9862740732801152e-5, 3.5932611364786671e-5],
|
|
227
|
-
[4.4833333333333325, 4.0049889750326044e-5, 3.5932611364786718e-5],
|
|
228
|
-
[4.4999999999999991, 4.023703876785093e-5, 3.5932611364786772e-5],
|
|
229
|
-
[4.5166666666666666, 4.0424187785375816e-5, 3.5932611364786826e-5],
|
|
230
|
-
[4.5166666666666666, 4.0424187785375823e-5, 3.5932611364786826e-5],
|
|
231
|
-
[8.5, 4.0424187785375829e-5, 3.5827807914972866e-5],
|
|
232
|
-
[8.5166666666666675, 4.042418778537585e-5, 3.5723004465158905e-5],
|
|
233
|
-
[8.5333333333333332, 4.0424187785375863e-5, 3.5618201015344937e-5],
|
|
234
|
-
[8.55, 4.0424187785375884e-5, 3.5513397565530976e-5],
|
|
235
|
-
[8.5666666666666664, 4.04241877853759e-5, 3.5408594115717022e-5],
|
|
236
|
-
[8.5833333333333339, 4.0424187785375918e-5, 3.5303790665903061e-5],
|
|
237
|
-
[8.6, 4.0424187785375931e-5, 3.5198987216089087e-5],
|
|
238
|
-
[8.6166666666666671, 4.0424187785375951e-5, 3.5094183766275132e-5],
|
|
239
|
-
[8.6333333333333329, 4.0424187785375972e-5, 3.4989380316461171e-5],
|
|
240
|
-
[8.65, 4.0424187785375985e-5, 3.4884576866647211e-5],
|
|
241
|
-
[8.6666666666666661, 4.0424187785376006e-5, 3.4779773416833243e-5],
|
|
242
|
-
[8.6833333333333336, 4.0424187785376019e-5, 3.4674969967019282e-5],
|
|
243
|
-
[8.7, 4.0424187785376039e-5, 3.4570166517205321e-5],
|
|
244
|
-
[8.7166666666666668, 4.0424187785376053e-5, 3.446536306739136e-5],
|
|
245
|
-
[8.7333333333333325, 4.0424187785376073e-5, 3.43605596175774e-5],
|
|
246
|
-
[8.75, 4.042418778537608e-5, 3.4255756167763438e-5],
|
|
247
|
-
[8.7666666666666675, 4.04241877853761e-5, 3.4150952717949477e-5],
|
|
248
|
-
[8.7833333333333332, 4.0424187785376114e-5, 3.4046149268135516e-5],
|
|
249
|
-
[8.8, 4.0424187785376134e-5, 3.3941345818321555e-5],
|
|
250
|
-
[8.8166666666666664, 4.0424187785376148e-5, 3.3836542368507588e-5],
|
|
251
|
-
[8.8333333333333339, 4.0424187785376161e-5, 3.3731738918693627e-5],
|
|
252
|
-
[8.85, 4.0424187785376182e-5, 3.3626935468879666e-5],
|
|
253
|
-
[8.8666666666666671, 4.0424187785376195e-5, 3.3522132019065705e-5],
|
|
254
|
-
[8.8833333333333329, 4.04241877853762e-5, 3.3417328569251744e-5],
|
|
255
|
-
[8.9, 4.0424187785376216e-5, 3.3312525119437783e-5],
|
|
256
|
-
[8.9166666666666661, 4.0424187785376243e-5, 3.3207721669623822e-5],
|
|
257
|
-
[8.9333333333333336, 4.0424187785376256e-5, 3.3102918219809861e-5],
|
|
258
|
-
[8.95, 4.0424187785376263e-5, 3.2998114769995894e-5],
|
|
259
|
-
[8.9666666666666668, 4.0424187785376277e-5, 3.2893311320181933e-5],
|
|
260
|
-
[8.9833333333333325, 4.04241877853763e-5, 3.2788507870367972e-5],
|
|
261
|
-
[9, 4.0424187785376311e-5, 3.2683704420554011e-5],
|
|
262
|
-
[9.0166666666666675, 4.0424187785376324e-5, 3.257890097074005e-5],
|
|
263
|
-
[9.0333333333333332, 4.0424187785376338e-5, 3.2474097520926089e-5],
|
|
264
|
-
[9.05, 4.0424187785376351e-5, 3.2369294071112128e-5],
|
|
265
|
-
[9.0666666666666664, 4.0424187785376365e-5, 3.2264490621298167e-5],
|
|
266
|
-
[9.0833333333333339, 4.0424187785376372e-5, 3.2159687171484206e-5],
|
|
267
|
-
[9.1, 4.0424187785376385e-5, 3.2054883721670239e-5],
|
|
268
|
-
[9.1166666666666671, 4.0424187785376412e-5, 3.1950080271856284e-5],
|
|
269
|
-
[9.1333333333333329, 4.0424187785376419e-5, 3.1845276822042324e-5],
|
|
270
|
-
[9.15, 4.0424187785376426e-5, 3.1740473372228363e-5],
|
|
271
|
-
[9.1666666666666661, 4.0424187785376453e-5, 3.1635669922414395e-5],
|
|
272
|
-
[9.1833333333333336, 4.0424187785376453e-5, 3.1530866472600434e-5],
|
|
273
|
-
[9.2, 4.0424187785376466e-5, 3.1426063022786473e-5],
|
|
274
|
-
[9.2166666666666668, 4.0424187785376487e-5, 3.1321259572972512e-5],
|
|
275
|
-
[9.2333333333333325, 4.0424187785376487e-5, 3.1216456123158544e-5],
|
|
276
|
-
[9.25, 4.0424187785376507e-5, 3.1111652673344584e-5],
|
|
277
|
-
[9.2666666666666675, 4.0424187785376521e-5, 3.1006849223530629e-5],
|
|
278
|
-
[9.2833333333333332, 4.0424187785376527e-5, 3.0902045773716668e-5],
|
|
279
|
-
[9.3, 4.0424187785376541e-5, 3.0797242323902708e-5],
|
|
280
|
-
[9.3166666666666664, 4.0424187785376548e-5, 3.069243887408874e-5],
|
|
281
|
-
[9.3333333333333339, 4.0424187785376561e-5, 3.0587635424274779e-5],
|
|
282
|
-
[9.35, 4.0424187785376575e-5, 3.0482831974460815e-5],
|
|
283
|
-
[9.3666666666666671, 4.0424187785376588e-5, 3.0378028524646857e-5],
|
|
284
|
-
[9.3833333333333329, 4.0424187785376588e-5, 3.0273225074832893e-5],
|
|
285
|
-
[9.4, 4.0424187785376609e-5, 3.0168421625018932e-5],
|
|
286
|
-
[9.4166666666666661, 4.0424187785376615e-5, 3.0063618175204971e-5],
|
|
287
|
-
[9.4333333333333336, 4.0424187785376636e-5, 2.995881472539101e-5],
|
|
288
|
-
[9.45, 4.0424187785376636e-5, 2.9854011275577046e-5],
|
|
289
|
-
[9.4666666666666668, 4.0424187785376649e-5, 2.9749207825763085e-5],
|
|
290
|
-
[9.4833333333333325, 4.0424187785376656e-5, 2.9644404375949124e-5],
|
|
291
|
-
[9.4833333333333325, 4.0334356256964728e-5, 2.9524629004733147e-5],
|
|
292
|
-
[9.5, 4.0244524728552794e-5, 2.9404853633517166e-5],
|
|
293
|
-
[9.5166666666666657, 4.0154693200140866e-5, 2.9285078262301189e-5],
|
|
294
|
-
[9.5333333333333332, 4.0064861671728931e-5, 2.9165302891085209e-5],
|
|
295
|
-
[9.5499999999999989, 3.9975030143317e-5, 2.9045527519869232e-5],
|
|
296
|
-
[9.5666666666666664, 3.9885198614905069e-5, 2.8925752148653258e-5],
|
|
297
|
-
[9.5833333333333321, 3.9795367086493128e-5, 2.8805976777437277e-5],
|
|
298
|
-
[9.6, 3.97055355580812e-5, 2.8686201406221304e-5],
|
|
299
|
-
[9.6166666666666654, 3.9615704029669265e-5, 2.8566426035005323e-5],
|
|
300
|
-
[9.6333333333333329, 3.9525872501257331e-5, 2.8446650663789353e-5],
|
|
301
|
-
[9.6499999999999986, 3.9436040972845383e-5, 2.8326875292573376e-5],
|
|
302
|
-
[9.6666666666666661, 3.9346209444433455e-5, 2.82070999213574e-5],
|
|
303
|
-
[9.6833333333333318, 3.9256377916021514e-5, 2.8087324550141421e-5],
|
|
304
|
-
[9.7, 3.9166546387609586e-5, 2.7967549178925451e-5],
|
|
305
|
-
[9.716666666666665, 3.9076714859197645e-5, 2.7847773807709474e-5],
|
|
306
|
-
[9.7333333333333325, 3.898688333078571e-5, 2.7727998436493493e-5],
|
|
307
|
-
[9.75, 3.8897051802373775e-5, 2.7608223065277523e-5],
|
|
308
|
-
[9.7666666666666657, 3.8807220273961841e-5, 2.7488447694061549e-5],
|
|
309
|
-
[9.7833333333333332, 3.8717388745549906e-5, 2.7368672322845576e-5],
|
|
310
|
-
[9.7999999999999989, 3.8627557217137965e-5, 2.7248896951629605e-5],
|
|
311
|
-
[9.8166666666666664, 3.853772568872603e-5, 2.7129121580413628e-5],
|
|
312
|
-
[9.8333333333333321, 3.8447894160314096e-5, 2.7009346209197658e-5],
|
|
313
|
-
[9.85, 3.8358062631902155e-5, 2.6889570837981687e-5],
|
|
314
|
-
[9.8666666666666654, 3.826823110349022e-5, 2.676979546676571e-5],
|
|
315
|
-
[9.8833333333333329, 3.8178399575078285e-5, 2.665002009554974e-5],
|
|
316
|
-
[9.8999999999999986, 3.8088568046666337e-5, 2.6530244724333766e-5],
|
|
317
|
-
[9.9166666666666661, 3.799873651825441e-5, 2.6410469353117793e-5],
|
|
318
|
-
[9.9333333333333318, 3.7908904989842468e-5, 2.6290693981901822e-5],
|
|
319
|
-
[9.95, 3.7819073461430534e-5, 2.6170918610685852e-5],
|
|
320
|
-
[9.966666666666665, 3.7729241933018586e-5, 2.6051143239469878e-5],
|
|
321
|
-
[10, 3.7669354247410677e-5, 2.5766676732831977e-5],
|
|
322
|
-
[10.016666666666667, 3.7609466561802754e-5, 2.5482210226194076e-5],
|
|
323
|
-
[10.033333333333333, 3.7549578876194832e-5, 2.5197743719556168e-5],
|
|
324
|
-
[10.05, 3.74896911905869e-5, 2.4913277212918267e-5],
|
|
325
|
-
[10.066666666666666, 3.7429803504978973e-5, 2.4628810706280365e-5],
|
|
326
|
-
[10.083333333333334, 3.7369915819371044e-5, 2.4344344199642464e-5],
|
|
327
|
-
[10.1, 3.7310028133763121e-5, 2.4059877693004556e-5],
|
|
328
|
-
[10.116666666666667, 3.72501404481552e-5, 2.3775411186366655e-5],
|
|
329
|
-
[10.133333333333333, 3.7190252762547263e-5, 2.3490944679728754e-5],
|
|
330
|
-
[10.15, 3.7130365076939334e-5, 2.3206478173090856e-5],
|
|
331
|
-
[10.166666666666666, 3.7070477391331404e-5, 2.2922011666452952e-5],
|
|
332
|
-
[10.183333333333334, 3.7010589705723468e-5, 2.263754515981505e-5],
|
|
333
|
-
[10.2, 3.6950702020115532e-5, 2.2353078653177153e-5],
|
|
334
|
-
[10.216666666666667, 3.68908143345076e-5, 2.2068612146539251e-5],
|
|
335
|
-
[10.233333333333333, 3.6830926648899667e-5, 2.1784145639901354e-5],
|
|
336
|
-
[10.25, 3.6771038963291724e-5, 2.1499679133263456e-5],
|
|
337
|
-
[10.266666666666667, 3.6711151277683795e-5, 2.1215212626625558e-5],
|
|
338
|
-
[10.283333333333333, 3.6651263592075852e-5, 2.0930746119987657e-5],
|
|
339
|
-
[10.3, 3.6591375906467916e-5, 2.0646279613349759e-5],
|
|
340
|
-
[10.316666666666666, 3.653148822085998e-5, 2.0361813106711865e-5],
|
|
341
|
-
[10.333333333333334, 3.6471600535252044e-5, 2.0077346600073967e-5],
|
|
342
|
-
[10.35, 3.6411712849644094e-5, 1.9792880093436072e-5],
|
|
343
|
-
[10.366666666666667, 3.6351825164036158e-5, 1.9508413586798171e-5],
|
|
344
|
-
[10.383333333333333, 3.6291937478428209e-5, 1.9223947080160277e-5],
|
|
345
|
-
[10.4, 3.6232049792820273e-5, 1.8939480573522386e-5],
|
|
346
|
-
[10.416666666666666, 3.6172162107212323e-5, 1.8655014066884485e-5],
|
|
347
|
-
[10.433333333333334, 3.6112274421604373e-5, 1.837054756024659e-5],
|
|
348
|
-
[10.45, 3.6052386735996431e-5, 1.80860810536087e-5],
|
|
349
|
-
[10.466666666666667, 3.5992499050388481e-5, 1.7801614546970805e-5],
|
|
350
|
-
[10.483333333333333, 3.5932611364780531e-5, 1.7517148040332907e-5],
|
|
351
|
-
[10.5, 3.5872723679172589e-5, 1.7232681533695016e-5],
|
|
352
|
-
[10.516666666666667, 3.5812835993564632e-5, 1.6948215027057122e-5],
|
|
353
|
-
[10.533333333333333, 3.5752948307956683e-5, 1.6663748520419231e-5],
|
|
354
|
-
[10.55, 3.5693060622348733e-5, 1.637928201378134e-5],
|
|
355
|
-
[10.566666666666666, 3.5633172936740783e-5, 1.6094815507143445e-5],
|
|
356
|
-
[10.583333333333334, 3.5573285251132827e-5, 1.5810349000505551e-5],
|
|
357
|
-
[10.6, 3.5513397565524871e-5, 1.5525882493867663e-5],
|
|
358
|
-
[10.616666666666667, 3.5453509879916914e-5, 1.5241415987229779e-5],
|
|
359
|
-
[10.633333333333333, 3.5393622194308958e-5, 1.4956949480591881e-5],
|
|
360
|
-
[10.65, 3.5333734508701008e-5, 1.4672482973953998e-5],
|
|
361
|
-
[10.666666666666666, 3.5273846823093045e-5, 1.43880164673161e-5],
|
|
362
|
-
[10.683333333333334, 3.5213959137485082e-5, 1.4103549960678215e-5],
|
|
363
|
-
[10.7, 3.5154071451877132e-5, 1.3819083454040329e-5],
|
|
364
|
-
[10.716666666666667, 3.5094183766269169e-5, 1.3534616947402439e-5],
|
|
365
|
-
[10.733333333333333, 3.5034296080661206e-5, 1.325015044076455e-5],
|
|
366
|
-
[10.75, 3.4974408395053243e-5, 1.2965683934126661e-5],
|
|
367
|
-
[10.766666666666667, 3.491452070944528e-5, 1.2681217427488777e-5],
|
|
368
|
-
[10.783333333333333, 3.485463302383731e-5, 1.2396750920850886e-5],
|
|
369
|
-
[10.8, 3.4794745338229354e-5, 1.2112284414212998e-5],
|
|
370
|
-
[10.816666666666666, 3.473485765262139e-5, 1.1827817907575114e-5],
|
|
371
|
-
[10.833333333333334, 3.4674969967013414e-5, 1.1543351400937226e-5],
|
|
372
|
-
[10.85, 3.4615082281405457e-5, 1.1258884894299345e-5],
|
|
373
|
-
[10.866666666666667, 3.4555194595797481e-5, 1.0974418387661456e-5],
|
|
374
|
-
[10.883333333333333, 3.4495306910189517e-5, 1.068995188102357e-5],
|
|
375
|
-
[10.9, 3.4435419224581541e-5, 1.0405485374385682e-5],
|
|
376
|
-
[10.916666666666666, 3.4375531538973571e-5, 1.0121018867747805e-5],
|
|
377
|
-
[10.933333333333334, 3.43156438533656e-5, 9.836552361109924e-6],
|
|
378
|
-
[10.95, 3.4255756167757624e-5, 9.552085854472033e-6],
|
|
379
|
-
[10.966666666666667, 3.4195868482149654e-5, 9.26761934783415e-6],
|
|
380
|
-
[10.983333333333333, 3.4135980796541684e-5, 8.9831528411962729e-6]
|
|
381
|
-
];
|
|
382
|
-
|
|
383
|
-
describe('validSmoother', () => {
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
it('Should return the good value', () => {
|
|
387
|
-
const smoother = new Smoother();
|
|
388
|
-
|
|
389
|
-
for (let i = 0; i < positions.length; i++) {
|
|
390
|
-
const pos = new WGS84UserPosition(positions[i][1], positions[i][2]);
|
|
391
|
-
pos.time = positions[i][0];
|
|
392
|
-
smoother.generateNextPositions(pos, positions[i][3]);
|
|
393
|
-
}
|
|
394
|
-
|
|
395
|
-
const predicted = smoother.positionsQueue;
|
|
396
|
-
expect(predicted.length).to.equal(expectations.length);
|
|
397
|
-
|
|
398
|
-
for (let i = 0; i < predicted.length; i++) {
|
|
399
|
-
const dist = predicted[i].distanceTo(new WGS84(expectations[i][1], expectations[i][2]));
|
|
400
|
-
const timeDiff = predicted[i].time - expectations[i][0];
|
|
401
|
-
expect(dist).to.almost.equal(0);
|
|
402
|
-
expect(timeDiff).to.almost.equal(0);
|
|
403
|
-
}
|
|
404
|
-
|
|
405
|
-
const positionAt10 = smoother.pullPosition(10);
|
|
406
|
-
expect(positionAt10.distanceTo(new WGS84(3.7669421260460435E-5, 2.5766995044818355E-5))).to.almost.equal(0);
|
|
407
|
-
});
|
|
408
|
-
});
|
|
409
|
-
|
|
410
|
-
describe('smoother return same value if unique', () => {
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
it('Should return the good value', () => {
|
|
414
|
-
const smoother = new Smoother();
|
|
415
|
-
|
|
416
|
-
const pos = new WGS84UserPosition(positions[0][1], positions[0][2]);
|
|
417
|
-
pos.time = positions[0][0];
|
|
418
|
-
smoother.generateNextPositions(pos);
|
|
419
|
-
const posExpected = smoother.pullPosition();
|
|
420
|
-
|
|
421
|
-
expect(posExpected).to.be.an.instanceof(WGS84UserPosition);
|
|
422
|
-
expect(posExpected.distanceTo(pos)).to.almost.equal(0);
|
|
423
|
-
expect(smoother.positionsQueue).to.be.an('array').that.is.empty;
|
|
424
|
-
});
|
|
425
|
-
});
|
|
426
|
-
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import { Constants as GeoConstants } from '@wemap/geo';
|
|
2
|
-
import { Vector3 } from '@wemap/maths';
|
|
3
|
-
|
|
4
|
-
// in seconds
|
|
5
|
-
const MIN_TIME_BETWEEN_DETECTIONS = 0.5;
|
|
6
|
-
|
|
7
|
-
// in m.s^-2
|
|
8
|
-
const EXT_ACC_NORM_THRESHOLD = 4;
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
class ThugDetector {
|
|
12
|
-
|
|
13
|
-
constructor() {
|
|
14
|
-
this.lastDetectionTimestamp = 0;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
compute(timestamp, acceleration) {
|
|
18
|
-
|
|
19
|
-
let detection = false;
|
|
20
|
-
|
|
21
|
-
if (timestamp - this.lastDetectionTimestamp < MIN_TIME_BETWEEN_DETECTIONS) {
|
|
22
|
-
return detection;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
const extAccNorm = Vector3.norm(acceleration) - GeoConstants.EARTH_GRAVITY;
|
|
26
|
-
if (Math.abs(extAccNorm) > EXT_ACC_NORM_THRESHOLD) {
|
|
27
|
-
detection = true;
|
|
28
|
-
this.lastDetectionTimestamp = timestamp;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
return detection;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
export default ThugDetector;
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
// in seconds
|
|
3
|
-
const MIN_TIME_BETWEEN_STEPS = 0.4;
|
|
4
|
-
|
|
5
|
-
// in Hz
|
|
6
|
-
const MAX_FRENQUENCY = 4;
|
|
7
|
-
const MIN_FRENQUENCY = 1;
|
|
8
|
-
|
|
9
|
-
// in m.s-2
|
|
10
|
-
const VERTICAL_ACC_POSITIVE_PEAK_THRESHOLD = 1;
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
class StepDetectionLadetto {
|
|
14
|
-
|
|
15
|
-
lastVerticalAcc = 0;
|
|
16
|
-
maxAcceleration = 0;
|
|
17
|
-
lastStepTimestamp = -MIN_TIME_BETWEEN_STEPS;
|
|
18
|
-
|
|
19
|
-
compute(timestamp, linearAcc) {
|
|
20
|
-
|
|
21
|
-
let stepDetected = false;
|
|
22
|
-
|
|
23
|
-
const verticalAcc = linearAcc[2];
|
|
24
|
-
const timeInterval = timestamp - this.lastStepTimestamp;
|
|
25
|
-
|
|
26
|
-
const upfront = verticalAcc > this.lastVerticalAcc;
|
|
27
|
-
|
|
28
|
-
if (upfront) {
|
|
29
|
-
if (verticalAcc > this.maxAcceleration) {
|
|
30
|
-
this.maxAcceleration = verticalAcc;
|
|
31
|
-
}
|
|
32
|
-
} else if (this.maxAcceleration > VERTICAL_ACC_POSITIVE_PEAK_THRESHOLD
|
|
33
|
-
&& timeInterval > MIN_TIME_BETWEEN_STEPS) {
|
|
34
|
-
this.maxAcceleration = 0;
|
|
35
|
-
|
|
36
|
-
const diffTime = timestamp - this.lastStepTimestamp;
|
|
37
|
-
this.frequency = Math.min(Math.max((1 / diffTime), MIN_FRENQUENCY), MAX_FRENQUENCY);
|
|
38
|
-
|
|
39
|
-
stepDetected = true;
|
|
40
|
-
this.lastStepTimestamp = timestamp;
|
|
41
|
-
} else {
|
|
42
|
-
this.maxAcceleration = 0;
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
this.lastVerticalAcc = verticalAcc;
|
|
46
|
-
|
|
47
|
-
return stepDetected;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
get lastStepSize() {
|
|
51
|
-
|
|
52
|
-
if (!this.frequency) {
|
|
53
|
-
return 0;
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
const kParamA = 0.45;
|
|
57
|
-
const kParamB = 0.2;
|
|
58
|
-
return kParamA + kParamB * this.frequency;
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
get speed() {
|
|
62
|
-
return this.lastStepTimestamp ? this.lastStepSize * this.frequency : 0;
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
export default StepDetectionLadetto;
|