@raruto/leaflet-elevation 1.9.6 → 2.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/src/speed.js DELETED
@@ -1,118 +0,0 @@
1
- import 'leaflet-i18n';
2
- import * as _ from './utils';
3
- import * as D3 from './components';
4
- import { Elevation } from './control';
5
-
6
- Elevation.addInitHook(function() {
7
-
8
- if (!this.options.speed && !this.options.acceleration) return;
9
-
10
- let opts = this.options;
11
- let speed = {};
12
-
13
- speed.label = opts.speedLabel || L._(opts.imperial ? 'mph' : 'km/h');
14
- opts.speedFactor = opts.speedFactor || 1;
15
-
16
-
17
- this._registerDataAttribute({
18
- name: 'speed',
19
- init: () => {
20
- // this.track_info.speed_max = -Infinity; // Speed Max
21
- // this.track_info.speed_min = +Infinity; // Speed Min
22
- // this.track_info.speed_avg = 0; // Speed Avg
23
- },
24
- fetch: (i) => {
25
- let data = this._data;
26
- let dx = (data[i].dist - data[i > 0 ? i - 1 : i].dist) * 1000;
27
- let dt = data[i].time - data[ i > 0 ? i - 1 : i].time;
28
- return dt > 0 ? Math.abs((dx / dt) * opts.timeFactor) * opts.speedFactor : 0;
29
- },
30
- update: (speed, i) => {
31
- this.track_info.speed_max = this.track_info.speed_max || -Infinity; // Speed Max
32
- this.track_info.speed_min = this.track_info.speed_min || +Infinity; // Speed Min
33
- this.track_info.speed_avg = this.track_info.speed_avg || 0; // Speed Avg
34
-
35
- let data = this._data;
36
- let track = this.track_info;
37
-
38
- // Try to smooth "crazy" speed values.
39
- if (this.options.speedDeltaMax) {
40
- let delta = speed - data[i > 0 ? i - 1 : i].speed;
41
- let deltaMax = this.options.speedDeltaMax;
42
- if (Math.abs(delta) > deltaMax) {
43
- speed = data[i - 1].speed + deltaMax * Math.sign(delta);
44
- }
45
- }
46
-
47
- // Range of acceptable speed values.
48
- speed = _.clamp(speed, this.options.speedRange);
49
-
50
- if (speed > track.speed_max) track.speed_max = speed;
51
- if (speed < track.speed_min) track.speed_min = speed;
52
-
53
- track.speed_avg = (speed + track.speed_avg) / 2.0;
54
-
55
- return L.Util.formatNum(speed, 2);
56
- },
57
- });
58
-
59
- if (this.options.speed && this.options.speed != "summary") {
60
-
61
- this._registerAxisScale({
62
- axis : "y",
63
- position : "right",
64
- scale : {
65
- min : 0,
66
- max : +1,
67
- },
68
- tickPadding: 16,
69
- label : speed.label,
70
- labelX : 25,
71
- labelY : -8,
72
- name : "speed",
73
- });
74
-
75
- this._registerAreaPath({
76
- name : 'speed',
77
- label : 'Speed',
78
- yAttr : "speed",
79
- scaleX : 'distance',
80
- scaleY : 'speed',
81
- color : '#03ffff',
82
- strokeColor : '#000',
83
- strokeOpacity: "0.5",
84
- fillOpacity : "0.25",
85
- });
86
-
87
- }
88
-
89
- if (this.options.speed) {
90
-
91
- this._registerTooltip({
92
- name: 'speed',
93
- chart: (item) => L._('v: ') + item.speed + " " + speed.label,
94
- marker: (item) => Math.round(item.speed) + " " + speed.label,
95
- order: 50,
96
- });
97
-
98
- this._registerSummary({
99
- "minspeed" : {
100
- label: "Min Speed: ",
101
- value: (track) => Math.round(track.speed_min || 0) + '&nbsp;' + speed.label,
102
- order: 50
103
- },
104
- "maxspeed" : {
105
- label: "Max Speed: ",
106
- value: (track) => Math.round(track.speed_max || 0) + '&nbsp;' + speed.label,
107
- order: 50
108
- },
109
- "avgspeed": {
110
- label: "Avg Speed: ",
111
- value: (track) => Math.round(track.speed_avg || 0) + '&nbsp;' + speed.label,
112
- order: 50
113
- }
114
- });
115
-
116
- }
117
-
118
- });