@wemap/positioning 2.1.0 → 2.3.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.
Files changed (67) hide show
  1. package/debug/arcore-absolute.html +16 -0
  2. package/debug/arcore.html +16 -0
  3. package/package.json +2 -1
  4. package/src/PositioningHandler.js +19 -5
  5. package/src/components/AbsoluteAttitudeComponent.jsx +2 -2
  6. package/src/components/ArCoreAbsoluteComponent.jsx +100 -0
  7. package/src/components/ArCoreComponent.jsx +74 -0
  8. package/src/components/GnssWifiComponent.jsx +14 -2
  9. package/src/components/GnssWifiPdrComponent.jsx +11 -2
  10. package/src/components/MapComponent.jsx +237 -0
  11. package/src/components/PdrComponent.jsx +12 -3
  12. package/src/components/PoseComponent.jsx +7 -0
  13. package/src/components/PositioningPoseComponent.jsx +12 -3
  14. package/src/components/Utils.js +18 -0
  15. package/src/components/index.js +4 -0
  16. package/src/errors/MissingArCoreError.js +9 -0
  17. package/src/errors/MissingNativeInterfaceError.js +9 -0
  18. package/src/providers/Provider.js +15 -3
  19. package/src/providers/ProviderOptions.js +1 -1
  20. package/src/providers/attitude/AbsoluteAttitudeProvider.js +6 -6
  21. package/src/providers/others/MapMatchingProvider.js +19 -19
  22. package/src/providers/pose/ArCoreAbsoluteProvider.js +186 -0
  23. package/src/providers/pose/ArCoreProvider.js +115 -0
  24. package/src/providers/pose/GnssWifiPdrProvider.js +20 -20
  25. package/src/providers/pose/PoseProvider.js +1 -1
  26. package/src/providers/pose/pdr/PdrProvider.js +39 -39
  27. package/src/providers/pose/pdr/helpers/Smoother.js +33 -33
  28. package/src/providers/pose/pdr/helpers/Smoother.spec.js +7 -7
  29. package/src/providers/position/GnssWifiProvider.js +5 -5
  30. package/src/providers/position/IpProvider.js +2 -2
  31. package/webpack/webpack.common.js +1 -1
  32. package/src.old/Constants.js +0 -11
  33. package/src.old/NavigationHandler.js +0 -244
  34. package/src.old/Pose.js +0 -8
  35. package/src.old/attitude/AttitudeHandler.js +0 -342
  36. package/src.old/attitude/EkfAttitude.js +0 -238
  37. package/src.old/attitude/EkfAttitude.spec.js +0 -116
  38. package/src.old/components/AbsoluteAttitude.jsx +0 -136
  39. package/src.old/components/Imu.jsx +0 -89
  40. package/src.old/components/LocationSource.jsx +0 -434
  41. package/src.old/components/Logger.jsx +0 -113
  42. package/src.old/components/NavigationDebugApp.jsx +0 -106
  43. package/src.old/components/Others.jsx +0 -121
  44. package/src.old/components/RelativeAttitude.jsx +0 -104
  45. package/src.old/components/Utils.js +0 -35
  46. package/src.old/components/index.js +0 -13
  47. package/src.old/index.js +0 -7
  48. package/src.old/providers/FixedLocationImuLocationSource.js +0 -66
  49. package/src.old/providers/GnssLocationSource.js +0 -118
  50. package/src.old/providers/GnssPdrLocationSource.js +0 -182
  51. package/src.old/providers/IPLocationSource.js +0 -96
  52. package/src.old/providers/LocationSource.js +0 -290
  53. package/src.old/providers/PdrLocationSource.js +0 -320
  54. package/src.old/providers/ProvidersLogger.js +0 -77
  55. package/src.old/providers/pdr/HeadingUnlocker.js +0 -41
  56. package/src.old/providers/pdr/HeadingUnlocker.spec.js +0 -26
  57. package/src.old/providers/pdr/Smoother.js +0 -90
  58. package/src.old/providers/pdr/Smoother.spec.js +0 -424
  59. package/src.old/providers/pdr/ThugDetector.js +0 -37
  60. package/src.old/providers/steps/StepDetection.js +0 -7
  61. package/src.old/providers/steps/StepDetectionLadetto.js +0 -67
  62. package/src.old/providers/steps/StepDetectionMinMaxPeaks.js +0 -80
  63. package/src.old/providers/steps/StepDetectionMinMaxPeaks2.js +0 -108
  64. package/src.old/sensors/SensorsCompatibility.js +0 -486
  65. package/src.old/sensors/SensorsCompatibility.spec.js +0 -270
  66. package/src.old/sensors/SensorsLogger.js +0 -94
  67. package/src.old/sensors/SensorsLoggerUtils.js +0 -35
@@ -1,424 +0,0 @@
1
- import chai from 'chai';
2
- import chaiAlmost from 'chai-almost';
3
-
4
- import Smoother from './Smoother';
5
- import {
6
- WGS84, WGS84UserPosition
7
- } from '@wemap/geo';
8
-
9
- const expect = chai.expect;
10
- chai.use(chaiAlmost());
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.4775840697754848E-8, 2.9910336279101931E-8],
25
- [1.2166666666666666, 1.495516813955097E-7, 5.9820672558203862E-8],
26
- [1.2333333333333334, 2.2432752209326456E-7, 8.9731008837305807E-8],
27
- [1.25, 2.9910336279101939E-7, 1.1964134511640772E-7],
28
- [1.2666666666666666, 3.7387920348877425E-7, 1.4955168139550964E-7],
29
- [1.2833333333333332, 4.4865504418652911E-7, 1.7946201767461161E-7],
30
- [1.3, 5.23430884884284E-7, 2.0937235395371356E-7],
31
- [1.3166666666666667, 5.9820672558203878E-7, 2.392826902328155E-7],
32
- [1.3333333333333333, 6.7298256627979364E-7, 2.6919302651191745E-7],
33
- [1.3499999999999999, 7.477584069775485E-7, 2.9910336279101934E-7],
34
- [1.3666666666666667, 8.2253424767530315E-7, 3.2901369907012123E-7],
35
- [1.3833333333333333, 8.9731008837305823E-7, 3.5892403534922328E-7],
36
- [1.4, 9.72085929070813E-7, 3.8883437162832528E-7],
37
- [1.4166666666666665, 1.0468617697685681E-6, 4.1874470790742717E-7],
38
- [1.4333333333333333, 1.1216376104663228E-6, 4.4865504418652911E-7],
39
- [1.45, 1.1964134511640774E-6, 4.785653804656309E-7],
40
- [1.4666666666666666, 1.2711892918618325E-6, 5.08475716744733E-7],
41
- [1.4833333333333334, 1.3459651325595873E-6, 5.3838605302383489E-7],
42
- [1.5, 1.4207409732573425E-6, 5.6829638930293684E-7],
43
- [1.5166666666666666, 1.495516813955097E-6, 5.9820672558203889E-7],
44
- [1.5333333333333332, 1.5702926546528518E-6, 6.2811706186114073E-7],
45
- [1.5499999999999998, 1.6450684953506063E-6, 6.5802739814024267E-7],
46
- [1.5666666666666667, 1.7198443360483617E-6, 6.8793773441934483E-7],
47
- [1.5833333333333333, 1.7946201767461169E-6, 7.1784807069844656E-7],
48
- [1.6, 1.8693960174438714E-6, 7.4775840697754872E-7],
49
- [1.6166666666666667, 1.9441718581416262E-6, 7.7766874325665055E-7],
50
- [1.6333333333333333, 2.0189476988393807E-6, 8.075790795357525E-7],
51
- [1.65, 2.0937235395371357E-6, 8.3748941581485455E-7],
52
- [1.6666666666666665, 2.1684993802348902E-6, 8.673997520939566E-7],
53
- [1.6833333333333333, 2.2432752209326456E-6, 8.9731008837305844E-7],
54
- [1.7, 2.318051061630401E-6, 9.2722042465216059E-7],
55
- [1.7166666666666668, 2.3928269023281551E-6, 9.5713076093126243E-7],
56
- [1.7333333333333334, 2.46760274302591E-6, 9.8704109721036438E-7],
57
- [1.75, 2.5423785837236642E-6, 1.0169514334894661E-6],
58
- [1.7666666666666666, 2.6171544244214196E-6, 1.0468617697685685E-6],
59
- [1.7833333333333332, 2.6919302651191746E-6, 1.0767721060476704E-6],
60
- [1.7999999999999998, 2.7667061058169291E-6, 1.1066824423267722E-6],
61
- [1.8166666666666667, 2.8414819465146841E-6, 1.1365927786058745E-6],
62
- [1.8333333333333333, 2.916257787212439E-6, 1.1665031148849767E-6],
63
- [1.85, 2.991033627910194E-6, 1.1964134511640782E-6],
64
- [1.8666666666666667, 3.065809468607949E-6, 1.2263237874431804E-6],
65
- [1.8833333333333333, 3.1405853093057035E-6, 1.2562341237222825E-6],
66
- [1.9, 3.2153611500034581E-6, 1.2861444600013845E-6],
67
- [1.9166666666666665, 3.2901369907012126E-6, 1.3160547962804864E-6],
68
- [1.9333333333333331, 3.364912831398968E-6, 1.3459651325595886E-6],
69
- [1.95, 3.4396886720967234E-6, 1.3758754688386907E-6],
70
- [1.9666666666666668, 3.5144645127944775E-6, 1.4057858051177924E-6],
71
- [1.9833333333333334, 3.5892403534922329E-6, 1.4356961413968948E-6],
72
- [2, 3.6640161941899874E-6, 1.4656064776759965E-6],
73
- [2.0166666666666666, 3.7387920348877424E-6, 1.4955168139550989E-6],
74
- [2.0333333333333332, 3.8135678755854974E-6, 1.5254271502342006E-6],
75
- [2.05, 3.8883437162832523E-6, 1.555337486513303E-6],
76
- [2.0666666666666664, 3.9631195569810069E-6, 1.585247822792405E-6],
77
- [2.083333333333333, 4.0378953976787606E-6, 1.6151581590715067E-6],
78
- [2.1, 4.1126712383765168E-6, 1.6450684953506091E-6],
79
- [2.1166666666666667, 4.1874470790742722E-6, 1.6749788316297112E-6],
80
- [2.1333333333333333, 4.2622229197720259E-6, 1.7048891679088132E-6],
81
- [2.15, 4.3369987604697805E-6, 1.7347995041879153E-6],
82
- [2.1666666666666665, 4.411774601167535E-6, 1.7647098404670175E-6],
83
- [2.1833333333333331, 4.48655044186529E-6, 1.7946201767461194E-6],
84
- [2.1833333333333331, 4.5663522612953616E-6, 1.9087943292856796E-6],
85
- [2.1999999999999997, 4.6411281019931179E-6, 2.0209580903323118E-6],
86
- [2.2166666666666663, 4.7159039426908716E-6, 2.1331218513789445E-6],
87
- [2.2333333333333329, 4.7906797833886261E-6, 2.2452856124255771E-6],
88
- [2.25, 4.8654556240863815E-6, 2.3574493734722098E-6],
89
- [2.2666666666666666, 4.940231464784136E-6, 2.4696131345188424E-6],
90
- [2.2833333333333332, 5.0150073054818906E-6, 2.5817768955654751E-6],
91
- [2.3, 5.089783146179646E-6, 2.6939406566121078E-6],
92
- [2.3166666666666664, 5.1645589868774E-6, 2.8061044176587404E-6],
93
- [2.333333333333333, 5.2393348275751551E-6, 2.9182681787053731E-6],
94
- [2.3499999999999996, 5.31411066827291E-6, 3.0304319397520062E-6],
95
- [2.3666666666666663, 5.3888865089706633E-6, 3.1425957007986388E-6],
96
- [2.3833333333333333, 5.4636623496684178E-6, 3.2547594618452715E-6],
97
- [2.4, 5.5384381903661732E-6, 3.366923222891905E-6],
98
- [2.4166666666666665, 5.6132140310639278E-6, 3.4790869839385372E-6],
99
- [2.4333333333333331, 5.6879898717616823E-6, 3.5912507449851695E-6],
100
- [2.4499999999999997, 5.7627657124594377E-6, 3.703414506031803E-6],
101
- [2.4666666666666663, 5.8375415531571922E-6, 3.8155782670784357E-6],
102
- [2.4833333333333329, 5.9123173938549468E-6, 3.92774202812507E-6],
103
- [2.5, 5.9870932345527E-6, 4.0399057891717018E-6],
104
- [2.5166666666666666, 6.0618690752504559E-6, 4.1520695502183366E-6],
105
- [2.5333333333333332, 6.1366449159482087E-6, 4.2642333112649688E-6],
106
- [2.55, 6.2114207566459633E-6, 4.3763970723116019E-6],
107
- [2.5666666666666664, 6.2861965973437187E-6, 4.4885608333582342E-6],
108
- [2.5666666666666664, 6.2861965973437195E-6, 4.4885608333582359E-6],
109
- [2.5666666666666664, 6.3380575493018143E-6, 4.5912775415279676E-6],
110
- [2.583333333333333, 6.3879081097669849E-6, 4.6909786624583079E-6],
111
- [2.5999999999999996, 6.4377586702321546E-6, 4.7906797833886481E-6],
112
- [2.6166666666666663, 6.4876092306973243E-6, 4.8903809043189884E-6],
113
- [2.6333333333333333, 6.537459791162494E-6, 4.9900820252493286E-6],
114
- [2.65, 6.5873103516276628E-6, 5.0897831461796688E-6],
115
- [2.6666666666666665, 6.6371609120928325E-6, 5.18948426711001E-6],
116
- [2.6833333333333331, 6.6870114725580014E-6, 5.28918538804035E-6],
117
- [2.6999999999999997, 6.7368620330231711E-6, 5.38888650897069E-6],
118
- [2.7166666666666663, 6.7867125934883408E-6, 5.4885876299010306E-6],
119
- [2.7333333333333329, 6.8365631539535113E-6, 5.5882887508313717E-6],
120
- [2.7499999999999996, 6.88641371441868E-6, 5.687989871761712E-6],
121
- [2.7666666666666666, 6.936264274883849E-6, 5.787690992692053E-6],
122
- [2.7833333333333332, 6.9861148353490179E-6, 5.8873921136223941E-6],
123
- [2.8, 7.0359653958141892E-6, 5.9870932345527335E-6],
124
- [2.8166666666666664, 7.0858159562793581E-6, 6.0867943554830746E-6],
125
- [2.833333333333333, 7.1356665167445269E-6, 6.1864954764134148E-6],
126
- [2.8499999999999996, 7.1855170772096941E-6, 6.2861965973437559E-6],
127
- [2.8666666666666663, 7.2353676376748663E-6, 6.385897718274097E-6],
128
- [2.8833333333333329, 7.2852181981400352E-6, 6.4855988392044381E-6],
129
- [2.9, 7.3350687586052032E-6, 6.58529996013478E-6],
130
- [2.9166666666666665, 7.384919319070372E-6, 6.6850010810651186E-6],
131
- [2.9333333333333331, 7.4347698795355426E-6, 6.78470220199546E-6],
132
- [2.9499999999999997, 7.4846204400007123E-6, 6.8844033229258E-6],
133
- [2.9666666666666663, 7.5344710004658794E-6, 6.9841044438561427E-6],
134
- [2.9833333333333329, 7.58432156093105E-6, 7.0838055647864838E-6],
135
- [3, 7.6341721213962188E-6, 7.1835066857168232E-6],
136
- [3.0166666666666666, 7.6840226818613885E-6, 7.2832078066471642E-6],
137
- [3.0333333333333332, 7.7338732423265548E-6, 7.3829089275775045E-6],
138
- [3.05, 7.7837238027917262E-6, 7.4826100485078464E-6],
139
- [3.0666666666666664, 7.8335743632568959E-6, 7.5823111694381866E-6],
140
- [3.083333333333333, 7.8834249237220639E-6, 7.6820122903685286E-6],
141
- [3.0999999999999996, 7.9332754841872336E-6, 7.78171341129887E-6],
142
- [3.1166666666666663, 7.9831260446524016E-6, 7.88141453222921E-6],
143
- [3.1333333333333329, 8.03297660511757E-6, 7.98111565315955E-6],
144
- [3.15, 8.082827165582741E-6, 8.0808167740898946E-6],
145
- [3.15, 8.082827165582741E-6, 8.0808167740898946E-6],
146
- [3.15, 8.5484477694017419E-6, 8.5484477694018368E-6],
147
- [3.1666666666666665, 9.0120579817278186E-6, 9.012057981727927E-6],
148
- [3.1833333333333331, 9.4756681940538918E-6, 9.4756681940540189E-6],
149
- [3.1999999999999997, 9.9392784063799668E-6, 9.9392784063801125E-6],
150
- [3.2166666666666668, 1.0402888618706038E-5, 1.0402888618706206E-5],
151
- [3.2333333333333334, 1.0866498831032112E-5, 1.0866498831032303E-5],
152
- [3.25, 1.1330109043358183E-5, 1.13301090433584E-5],
153
- [3.2666666666666666, 1.1793719255684253E-5, 1.1793719255684499E-5],
154
- [3.2833333333333332, 1.2257329468010321E-5, 1.2257329468010597E-5],
155
- [3.3, 1.2720939680336391E-5, 1.2720939680336701E-5],
156
- [3.3166666666666664, 1.3184549892662456E-5, 1.3184549892662803E-5],
157
- [3.333333333333333, 1.3648160104988527E-5, 1.3648160104988912E-5],
158
- [3.35, 1.4111770317314592E-5, 1.4111770317315017E-5],
159
- [3.3666666666666667, 1.4575380529640657E-5, 1.4575380529641123E-5],
160
- [3.3833333333333333, 1.5038990741966722E-5, 1.5038990741967235E-5],
161
- [3.4, 1.5502600954292787E-5, 1.5502600954293349E-5],
162
- [3.4166666666666665, 1.5966211166618851E-5, 1.5966211166619465E-5],
163
- [3.4333333333333331, 1.6429821378944909E-5, 1.642982137894558E-5],
164
- [3.4499999999999997, 1.6893431591270971E-5, 1.68934315912717E-5],
165
- [3.4666666666666668, 1.7357041803597029E-5, 1.7357041803597825E-5],
166
- [3.4833333333333334, 1.782065201592309E-5, 1.7820652015923944E-5],
167
- [3.5, 1.8284262228249145E-5, 1.8284262228250073E-5],
168
- [3.5166666666666666, 1.87478724405752E-5, 1.87478724405762E-5],
169
- [3.5333333333333332, 1.9211482652901257E-5, 1.9211482652902331E-5],
170
- [3.55, 1.9675092865227305E-5, 1.9675092865228467E-5],
171
- [3.5666666666666664, 2.0138703077553363E-5, 2.01387030775546E-5],
172
- [3.583333333333333, 2.0602313289879414E-5, 2.0602313289880743E-5],
173
- [3.6, 2.1065923502205462E-5, 2.1065923502206879E-5],
174
- [3.6166666666666667, 2.152953371453151E-5, 2.1529533714533025E-5],
175
- [3.6333333333333333, 2.1993143926857558E-5, 2.1993143926859171E-5],
176
- [3.65, 2.2456754139183602E-5, 2.2456754139185324E-5],
177
- [3.6666666666666665, 2.2920364351509644E-5, 2.292036435151147E-5],
178
- [3.6833333333333331, 2.3383974563835688E-5, 2.3383974563837629E-5],
179
- [3.7, 2.3847584776161732E-5, 2.3847584776163789E-5],
180
- [3.7166666666666668, 2.431119498848777E-5, 2.4311194988489949E-5],
181
- [3.7333333333333334, 2.4774805200813804E-5, 2.4774805200816112E-5],
182
- [3.75, 2.5238415413139846E-5, 2.5238415413142282E-5],
183
- [3.7666666666666666, 2.5702025625465876E-5, 2.5702025625468451E-5],
184
- [3.7833333333333332, 2.6165635837791911E-5, 2.6165635837794625E-5],
185
- [3.8, 2.6629246050117942E-5, 2.6629246050120808E-5],
186
- [3.8166666666666664, 2.7092856262443973E-5, 2.7092856262446991E-5],
187
- [3.833333333333333, 2.7556466474769997E-5, 2.7556466474773175E-5],
188
- [3.8499999999999996, 2.8020076687096024E-5, 2.8020076687099358E-5],
189
- [3.8666666666666667, 2.8483686899422038E-5, 2.8483686899425552E-5],
190
- [3.8833333333333333, 2.8947297111748066E-5, 2.8947297111751752E-5],
191
- [3.9, 2.941090732407408E-5, 2.9410907324077949E-5],
192
- [3.9166666666666665, 2.9874517536400104E-5, 2.9874517536404153E-5],
193
- [3.9333333333333331, 3.0338127748726121E-5, 3.033812774873037E-5],
194
- [3.95, 3.0801737961052142E-5, 3.0801737961056574E-5],
195
- [3.9666666666666668, 3.1265348173378149E-5, 3.1265348173382791E-5],
196
- [3.9833333333333334, 3.1728958385704149E-5, 3.1728958385709008E-5],
197
- [4, 3.2192568598030163E-5, 3.2192568598035239E-5],
198
- [4.0166666666666666, 3.2656178810356164E-5, 3.2656178810361463E-5],
199
- [4.0333333333333332, 3.3119789022682178E-5, 3.31197890226877E-5],
200
- [4.05, 3.3583399235008171E-5, 3.3583399235013931E-5],
201
- [4.0666666666666664, 3.4047009447334179E-5, 3.4047009447340169E-5],
202
- [4.083333333333333, 3.4510619659660172E-5, 3.451061965966642E-5],
203
- [4.1, 3.4974229871986166E-5, 3.4974229871992671E-5],
204
- [4.1166666666666663, 3.5437840084312159E-5, 3.5437840084318929E-5],
205
- [4.1333333333333329, 3.5901450296638146E-5, 3.5901450296645187E-5],
206
- [4.1333333333333329, 3.6119550966522884E-5, 3.5932611364785614E-5],
207
- [4.1499999999999995, 3.6306490568267264E-5, 3.5932611364785668E-5],
208
- [4.1666666666666661, 3.6493430170011636E-5, 3.5932611364785722E-5],
209
- [4.1833333333333327, 3.6680369771756008E-5, 3.5932611364785776E-5],
210
- [4.1999999999999993, 3.6867309373500381E-5, 3.5932611364785824E-5],
211
- [4.2166666666666659, 3.705424897524476E-5, 3.5932611364785878E-5],
212
- [4.2333333333333325, 3.7241188576989132E-5, 3.5932611364785939E-5],
213
- [4.2499999999999991, 3.7428128178733511E-5, 3.5932611364785986E-5],
214
- [4.2666666666666666, 3.7615067780477877E-5, 3.5932611364786034E-5],
215
- [4.2833333333333332, 3.7802007382222256E-5, 3.5932611364786088E-5],
216
- [4.3, 3.7988946983966629E-5, 3.5932611364786135E-5],
217
- [4.3166666666666664, 3.8175886585711008E-5, 3.5932611364786196E-5],
218
- [4.333333333333333, 3.8362826187455387E-5, 3.5932611364786244E-5],
219
- [4.35, 3.8549765789199752E-5, 3.59326113647863E-5],
220
- [4.3666666666666663, 3.8736705390944125E-5, 3.5932611364786352E-5],
221
- [4.3833333333333329, 3.8923644992688504E-5, 3.59326113647864E-5],
222
- [4.3999999999999995, 3.9110584594432876E-5, 3.5932611364786461E-5],
223
- [4.4166666666666661, 3.9297524196177242E-5, 3.5932611364786508E-5],
224
- [4.4333333333333327, 3.9484463797921628E-5, 3.5932611364786555E-5],
225
- [4.4499999999999993, 3.9671403399666014E-5, 3.593261136478661E-5],
226
- [4.4666666666666659, 3.9858343001410379E-5, 3.5932611364786671E-5],
227
- [4.4833333333333325, 4.0045282603154752E-5, 3.5932611364786718E-5],
228
- [4.4999999999999991, 4.0232222204899124E-5, 3.5932611364786772E-5],
229
- [4.5166666666666666, 4.0419161806643503E-5, 3.5932611364786826E-5],
230
- [4.5166666666666666, 4.041916180664351E-5, 3.5932611364786826E-5],
231
- [8.5, 4.0424187785375829E-5, 3.582792518780995E-5],
232
- [8.5166666666666675, 4.042418778537585E-5, 3.5723239010833081E-5],
233
- [8.5333333333333332, 4.0424187785375863E-5, 3.56185528338562E-5],
234
- [8.55, 4.0424187785375884E-5, 3.5513866656879329E-5],
235
- [8.5666666666666664, 4.04241877853759E-5, 3.5409180479902452E-5],
236
- [8.5833333333333339, 4.0424187785375918E-5, 3.5304494302925583E-5],
237
- [8.6, 4.0424187785375931E-5, 3.5199808125948707E-5],
238
- [8.6166666666666671, 4.0424187785375951E-5, 3.5095121948971831E-5],
239
- [8.6333333333333329, 4.0424187785375972E-5, 3.4990435771994961E-5],
240
- [8.65, 4.0424187785375985E-5, 3.4885749595018085E-5],
241
- [8.6666666666666661, 4.0424187785376006E-5, 3.4781063418041216E-5],
242
- [8.6833333333333336, 4.0424187785376019E-5, 3.4676377241064333E-5],
243
- [8.7, 4.0424187785376039E-5, 3.4571691064087456E-5],
244
- [8.7166666666666668, 4.0424187785376053E-5, 3.4467004887110587E-5],
245
- [8.7333333333333325, 4.0424187785376073E-5, 3.4362318710133711E-5],
246
- [8.75, 4.042418778537608E-5, 3.4257632533156835E-5],
247
- [8.7666666666666675, 4.04241877853761E-5, 3.4152946356179965E-5],
248
- [8.7833333333333332, 4.0424187785376114E-5, 3.4048260179203089E-5],
249
- [8.8, 4.0424187785376134E-5, 3.394357400222622E-5],
250
- [8.8166666666666664, 4.0424187785376148E-5, 3.3838887825249344E-5],
251
- [8.8333333333333339, 4.0424187785376161E-5, 3.3734201648272461E-5],
252
- [8.85, 4.0424187785376182E-5, 3.3629515471295591E-5],
253
- [8.8666666666666671, 4.0424187785376195E-5, 3.3524829294318715E-5],
254
- [8.8833333333333329, 4.04241877853762E-5, 3.3420143117341846E-5],
255
- [8.9, 4.0424187785376216E-5, 3.3315456940364969E-5],
256
- [8.9166666666666661, 4.0424187785376243E-5, 3.3210770763388093E-5],
257
- [8.9333333333333336, 4.0424187785376256E-5, 3.3106084586411224E-5],
258
- [8.95, 4.0424187785376263E-5, 3.3001398409434348E-5],
259
- [8.9666666666666668, 4.0424187785376277E-5, 3.2896712232457465E-5],
260
- [8.9833333333333325, 4.04241877853763E-5, 3.2792026055480595E-5],
261
- [9, 4.0424187785376311E-5, 3.2687339878503719E-5],
262
- [9.0166666666666675, 4.0424187785376324E-5, 3.258265370152685E-5],
263
- [9.0333333333333332, 4.0424187785376338E-5, 3.2477967524549974E-5],
264
- [9.05, 4.0424187785376351E-5, 3.23732813475731E-5],
265
- [9.0666666666666664, 4.0424187785376365E-5, 3.2268595170596221E-5],
266
- [9.0833333333333339, 4.0424187785376385E-5, 3.2163908993619352E-5],
267
- [9.1, 4.0424187785376385E-5, 3.2059222816642476E-5],
268
- [9.1166666666666671, 4.0424187785376412E-5, 3.1954536639665606E-5],
269
- [9.1333333333333329, 4.0424187785376419E-5, 3.184985046268873E-5],
270
- [9.15, 4.0424187785376426E-5, 3.1745164285711854E-5],
271
- [9.1666666666666661, 4.0424187785376453E-5, 3.1640478108734984E-5],
272
- [9.1833333333333336, 4.0424187785376453E-5, 3.15357919317581E-5],
273
- [9.2, 4.0424187785376466E-5, 3.1431105754781225E-5],
274
- [9.2166666666666668, 4.0424187785376487E-5, 3.1326419577804356E-5],
275
- [9.2333333333333325, 4.0424187785376493E-5, 3.122173340082748E-5],
276
- [9.25, 4.0424187785376507E-5, 3.111704722385061E-5],
277
- [9.2666666666666675, 4.0424187785376521E-5, 3.1012361046873734E-5],
278
- [9.2833333333333332, 4.0424187785376527E-5, 3.0907674869896858E-5],
279
- [9.3, 4.0424187785376541E-5, 3.0802988692919988E-5],
280
- [9.3166666666666664, 4.0424187785376548E-5, 3.0698302515943112E-5],
281
- [9.3333333333333339, 4.0424187785376561E-5, 3.0593616338966243E-5],
282
- [9.35, 4.0424187785376575E-5, 3.048893016198936E-5],
283
- [9.3666666666666671, 4.0424187785376588E-5, 3.0384243985012487E-5],
284
- [9.3833333333333329, 4.0424187785376588E-5, 3.0279557808035614E-5],
285
- [9.4, 4.0424187785376615E-5, 3.0174871631058742E-5],
286
- [9.4166666666666661, 4.0424187785376615E-5, 3.0070185454081862E-5],
287
- [9.4333333333333336, 4.0424187785376636E-5, 2.9965499277104989E-5],
288
- [9.45, 4.0424187785376636E-5, 2.9860813100128116E-5],
289
- [9.4666666666666668, 4.0424187785376649E-5, 2.9756126923151244E-5],
290
- [9.4833333333333325, 4.0424187785376656E-5, 2.9651440746174371E-5],
291
- [9.4833333333333325, 4.033445677653938E-5, 2.9524763030832678E-5],
292
- [9.5, 4.02447257677021E-5, 2.9405121685716222E-5],
293
- [9.5166666666666657, 4.01549947588648E-5, 2.9285480340599776E-5],
294
- [9.5333333333333332, 4.0065263750027518E-5, 2.9165838995483323E-5],
295
- [9.5499999999999989, 3.9975532741190229E-5, 2.9046197650366877E-5],
296
- [9.5666666666666664, 3.9885801732352939E-5, 2.8926556305250432E-5],
297
- [9.5833333333333321, 3.979607072351565E-5, 2.8806914960133976E-5],
298
- [9.6, 3.9706339714678367E-5, 2.8687273615017526E-5],
299
- [9.6166666666666654, 3.9616608705841077E-5, 2.856763226990108E-5],
300
- [9.6333333333333329, 3.9526877697003795E-5, 2.8447990924784634E-5],
301
- [9.6499999999999986, 3.9437146688166492E-5, 2.8328349579668185E-5],
302
- [9.6666666666666661, 3.9347415679329216E-5, 2.8208708234551739E-5],
303
- [9.6833333333333318, 3.9257684670491919E-5, 2.8089066889435293E-5],
304
- [9.7, 3.9167953661654637E-5, 2.7969425544318844E-5],
305
- [9.716666666666665, 3.907822265281734E-5, 2.7849784199202398E-5],
306
- [9.7333333333333325, 3.8988491643980051E-5, 2.7730142854085952E-5],
307
- [9.75, 3.8898760635142761E-5, 2.7610501508969503E-5],
308
- [9.7666666666666657, 3.8809029626305472E-5, 2.7490860163853067E-5],
309
- [9.7833333333333332, 3.8719298617468189E-5, 2.7371218818736618E-5],
310
- [9.7999999999999989, 3.8629567608630893E-5, 2.7251577473620176E-5],
311
- [9.8166666666666664, 3.85398365997936E-5, 2.713193612850373E-5],
312
- [9.8333333333333321, 3.8450105590956314E-5, 2.7012294783387284E-5],
313
- [9.85, 3.8360374582119017E-5, 2.6892653438270841E-5],
314
- [9.8666666666666654, 3.8270643573281728E-5, 2.6773012093154395E-5],
315
- [9.8833333333333329, 3.8180912564444445E-5, 2.6653370748037949E-5],
316
- [9.8999999999999986, 3.8091181555607149E-5, 2.6533729402921507E-5],
317
- [9.9166666666666661, 3.8001450546769859E-5, 2.6414088057805064E-5],
318
- [9.9333333333333318, 3.7911719537932563E-5, 2.6294446712688622E-5],
319
- [9.95, 3.782198852909528E-5, 2.6174805367572179E-5],
320
- [9.966666666666665, 3.7732257520257977E-5, 2.6055164022455737E-5],
321
- [10, 3.7669421260460435E-5, 2.5766995044818355E-5],
322
- [10.016666666666667, 3.7609600587902279E-5, 2.5482846850166836E-5],
323
- [10.033333333333333, 3.7549779915344115E-5, 2.5198698655515309E-5],
324
- [10.05, 3.7489959242785958E-5, 2.491455046086379E-5],
325
- [10.066666666666666, 3.7430138570227794E-5, 2.4630402266212263E-5],
326
- [10.083333333333334, 3.7370317897669631E-5, 2.434625407156074E-5],
327
- [10.1, 3.7310497225111474E-5, 2.4062105876909217E-5],
328
- [10.116666666666667, 3.725067655255331E-5, 2.3777957682257698E-5],
329
- [10.133333333333333, 3.7190855879995147E-5, 2.3493809487606178E-5],
330
- [10.15, 3.7131035207436969E-5, 2.3209661292954655E-5],
331
- [10.166666666666666, 3.7071214534878806E-5, 2.2925513098303135E-5],
332
- [10.183333333333334, 3.7011393862320635E-5, 2.2641364903651616E-5],
333
- [10.2, 3.6951573189762465E-5, 2.2357216709000096E-5],
334
- [10.216666666666667, 3.68917525172043E-5, 2.207306851434857E-5],
335
- [10.233333333333333, 3.6831931844646131E-5, 2.1788920319697057E-5],
336
- [10.25, 3.677211117208796E-5, 2.1504772125045537E-5],
337
- [10.266666666666667, 3.671229049952979E-5, 2.1220623930394021E-5],
338
- [10.283333333333333, 3.6652469826971613E-5, 2.09364757357425E-5],
339
- [10.3, 3.6592649154413435E-5, 2.0652327541090982E-5],
340
- [10.316666666666666, 3.6532828481855265E-5, 2.0368179346439466E-5],
341
- [10.333333333333334, 3.6473007809297088E-5, 2.0084031151787949E-5],
342
- [10.35, 3.6413187136738904E-5, 1.979988295713643E-5],
343
- [10.366666666666667, 3.6353366464180733E-5, 1.9515734762484917E-5],
344
- [10.383333333333333, 3.6293545791622549E-5, 1.9231586567833397E-5],
345
- [10.4, 3.6233725119064372E-5, 1.8947438373181884E-5],
346
- [10.416666666666666, 3.6173904446506188E-5, 1.8663290178530365E-5],
347
- [10.433333333333334, 3.6114083773948011E-5, 1.8379141983878855E-5],
348
- [10.45, 3.6054263101389827E-5, 1.8094993789227339E-5],
349
- [10.466666666666667, 3.599444242883165E-5, 1.7810845594575826E-5],
350
- [10.483333333333333, 3.5934621756273459E-5, 1.7526697399924314E-5],
351
- [10.5, 3.5874801083715275E-5, 1.72425492052728E-5],
352
- [10.516666666666667, 3.5814980411157091E-5, 1.6958401010621288E-5],
353
- [10.533333333333333, 3.5755159738598907E-5, 1.6674252815969775E-5],
354
- [10.55, 3.5695339066040716E-5, 1.6390104621318262E-5],
355
- [10.566666666666666, 3.5635518393482532E-5, 1.6105956426666749E-5],
356
- [10.583333333333334, 3.5575697720924335E-5, 1.582180823201524E-5],
357
- [10.6, 3.5515877048366151E-5, 1.553766003736373E-5],
358
- [10.616666666666667, 3.5456056375807967E-5, 1.5253511842712221E-5],
359
- [10.633333333333333, 3.5396235703249763E-5, 1.496936364806071E-5],
360
- [10.65, 3.5336415030691572E-5, 1.4685215453409197E-5],
361
- [10.666666666666666, 3.5276594358133374E-5, 1.4401067258757691E-5],
362
- [10.683333333333334, 3.5216773685575183E-5, 1.411691906410618E-5],
363
- [10.7, 3.5156953013016986E-5, 1.3832770869454672E-5],
364
- [10.716666666666667, 3.5097132340458788E-5, 1.3548622674803166E-5],
365
- [10.733333333333333, 3.5037311667900591E-5, 1.3264474480151657E-5],
366
- [10.75, 3.49774909953424E-5, 1.2980326285500149E-5],
367
- [10.766666666666667, 3.4917670322784196E-5, 1.2696178090848638E-5],
368
- [10.783333333333333, 3.4857849650225991E-5, 1.2412029896197132E-5],
369
- [10.8, 3.4798028977667794E-5, 1.2127881701545627E-5],
370
- [10.816666666666666, 3.4738208305109596E-5, 1.1843733506894125E-5],
371
- [10.833333333333334, 3.4678387632551392E-5, 1.1559585312242615E-5],
372
- [10.85, 3.4618566959993181E-5, 1.1275437117591106E-5],
373
- [10.866666666666667, 3.4558746287434983E-5, 1.0991288922939605E-5],
374
- [10.883333333333333, 3.4498925614876779E-5, 1.0707140728288104E-5],
375
- [10.9, 3.4439104942318575E-5, 1.0422992533636598E-5],
376
- [10.916666666666666, 3.4379284269760364E-5, 1.013884433898509E-5],
377
- [10.933333333333334, 3.4319463597202159E-5, 9.8546961443335889E-6],
378
- [10.95, 3.4259642924643948E-5, 9.5705479496820846E-6],
379
- [10.966666666666667, 3.4199822252085737E-5, 9.2863997550305819E-6],
380
- [10.983333333333333, 3.414000157952754E-5, 9.0022515603790826E-6]];
381
-
382
- describe('validSmoother', () => {
383
-
384
-
385
- it('Should return the good value', () => {
386
- const smoother = new Smoother();
387
-
388
- for (let i = 0; i < positions.length; i++) {
389
- const pos = new WGS84UserPosition(positions[i][1], positions[i][2]);
390
- pos.time = positions[i][0];
391
- smoother.generateNextLocations(pos, positions[i][3]);
392
- }
393
-
394
- const predicted = smoother.locationsQueue;
395
- expect(predicted.length).to.equal(expectations.length);
396
-
397
- for (let i = 0; i < predicted.length; i++) {
398
- const dist = predicted[i].distanceTo(new WGS84(expectations[i][1], expectations[i][2]));
399
- const timeDiff = predicted[i].time - expectations[i][0];
400
- expect(dist).to.almost.equal(0);
401
- expect(timeDiff).to.almost.equal(0);
402
- }
403
-
404
- const locationAt10 = smoother.pullLocation(10);
405
- expect(locationAt10.distanceTo(new WGS84(3.7669421260460435E-5, 2.5766995044818355E-5))).to.almost.equal(0);
406
- });
407
- });
408
-
409
- describe('smoother return same value if unique', () => {
410
-
411
-
412
- it('Should return the good value', () => {
413
- const smoother = new Smoother();
414
-
415
- const pos = new WGS84UserPosition(positions[0][1], positions[0][2]);
416
- smoother.generateNextLocations(pos);
417
- const posExpected = smoother.pullLocation();
418
-
419
- expect(posExpected).to.be.an.instanceof(WGS84UserPosition);
420
- expect(posExpected.distanceTo(pos)).to.almost.equal(0);
421
- expect(smoother.locationsQueue).to.be.an('array').that.is.empty;
422
- });
423
- });
424
-
@@ -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,7 +0,0 @@
1
- import StepDetectionMinMaxPeaks2 from './StepDetectionMinMaxPeaks2';
2
-
3
- class StepDetection extends StepDetectionMinMaxPeaks2 {
4
-
5
- }
6
-
7
- export default StepDetection;
@@ -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;
@@ -1,80 +0,0 @@
1
-
2
- // in seconds
3
- const WINDOW_TIME = 0.3;
4
-
5
- // in seconds
6
- const MIN_TIME_BETWEEN_STEPS = 0.4;
7
-
8
- // in Hz
9
- const MAX_FRENQUENCY = 4;
10
- const MIN_FRENQUENCY = 1;
11
-
12
- // in m.s-2
13
- const VERTICAL_ACC_POSITIVE_PEAK_THRESHOLD = 1.5;
14
- const VERTICAL_ACC_NEGATIVE_PEAK_THRESHOLD = -1;
15
-
16
-
17
- class StepDetectionMinMaxPeaks {
18
-
19
- constructor() {
20
- this.slidingWindow = [];
21
-
22
- this.lastStepTimestamp = -MIN_TIME_BETWEEN_STEPS;
23
- }
24
-
25
-
26
- compute(timestamp, linearAcc) {
27
-
28
- if (this.lastStepTimestamp && this.lastStepTimestamp + MIN_TIME_BETWEEN_STEPS > timestamp) {
29
- return false;
30
- }
31
-
32
- let maxValue = Number.MIN_SAFE_INTEGER;
33
- let minValue = Number.MAX_SAFE_INTEGER;
34
-
35
- const windowTime = WINDOW_TIME;
36
- this.slidingWindow.forEach(function(item, index, object) {
37
- if (item.timestamp < timestamp - windowTime) {
38
- object.splice(index, 1);
39
- } else {
40
- maxValue = Math.max(item.verticalAcc, maxValue);
41
- minValue = Math.min(item.verticalAcc, minValue);
42
- }
43
- });
44
- this.slidingWindow.push({
45
- timestamp: timestamp,
46
- verticalAcc: linearAcc[2]
47
- });
48
-
49
-
50
- if (maxValue > VERTICAL_ACC_POSITIVE_PEAK_THRESHOLD
51
- && minValue < VERTICAL_ACC_NEGATIVE_PEAK_THRESHOLD) {
52
-
53
- const timeInterval = this.lastStepTimestamp ? timestamp - this.lastStepTimestamp : 1;
54
- this.frequency = Math.min(Math.max((1 / timeInterval), MIN_FRENQUENCY), MAX_FRENQUENCY);
55
-
56
- this.lastStepTimestamp = timestamp;
57
- return true;
58
- }
59
-
60
- return false;
61
- }
62
-
63
- get lastStepSize() {
64
-
65
- if (!this.frequency) {
66
- return 0;
67
- }
68
-
69
- const kParamA = 0.45;
70
- const kParamB = 0.2;
71
- return kParamA + kParamB * this.frequency;
72
- }
73
-
74
- get speed() {
75
- return this.lastStepTimestamp ? this.lastStepSize * this.frequency : 0;
76
- }
77
-
78
- }
79
-
80
- export default StepDetectionMinMaxPeaks;