@wemap/osm 2.7.1 → 2.7.4
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.
|
@@ -108,9 +108,8 @@
|
|
|
108
108
|
<nd ref='-440488' />
|
|
109
109
|
<nd ref='-440490' />
|
|
110
110
|
<nd ref='-440492' />
|
|
111
|
-
<tag k='highway' v='
|
|
111
|
+
<tag k='highway' v='steps' />
|
|
112
112
|
<tag k='level' v='1;2' />
|
|
113
|
-
<tag k='stairs' v='yes' />
|
|
114
113
|
</way>
|
|
115
114
|
<way id='-440503' action='modify' visible='true'>
|
|
116
115
|
<nd ref='-440484' />
|
package/package.json
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"directory": "packages/osm"
|
|
12
12
|
},
|
|
13
13
|
"name": "@wemap/osm",
|
|
14
|
-
"version": "2.7.
|
|
14
|
+
"version": "2.7.4",
|
|
15
15
|
"bugs": {
|
|
16
16
|
"url": "https://github.com/wemap/wemap-modules-js/issues"
|
|
17
17
|
},
|
|
@@ -26,11 +26,11 @@
|
|
|
26
26
|
],
|
|
27
27
|
"license": "ISC",
|
|
28
28
|
"dependencies": {
|
|
29
|
-
"@wemap/geo": "^2.7.
|
|
30
|
-
"@wemap/graph": "^2.7.
|
|
29
|
+
"@wemap/geo": "^2.7.4",
|
|
30
|
+
"@wemap/graph": "^2.7.4",
|
|
31
31
|
"@wemap/logger": "^2.7.0",
|
|
32
32
|
"lodash.isnumber": "^3.0.3",
|
|
33
33
|
"sax": "^1.2.4"
|
|
34
34
|
},
|
|
35
|
-
"gitHead": "
|
|
35
|
+
"gitHead": "346dd50c4934b77b831a081f3543405865f1a65e"
|
|
36
36
|
}
|
|
@@ -51,11 +51,11 @@ class OsmNetwork extends Network {
|
|
|
51
51
|
if (node.data.tags.highway === 'elevator') {
|
|
52
52
|
// We have to clone this node for each connected edge
|
|
53
53
|
OsmNetwork.createNodesAndEdgesFromElevator(networkModel, node);
|
|
54
|
-
} else {
|
|
55
|
-
node.generateLevelFromEdges();
|
|
56
54
|
}
|
|
57
55
|
});
|
|
58
56
|
|
|
57
|
+
Node.generateNodesLevels(networkModel.nodes);
|
|
58
|
+
|
|
59
59
|
return networkModel;
|
|
60
60
|
}
|
|
61
61
|
|
|
@@ -58,13 +58,16 @@ describe('OsmRouter - Multi-level itinerary', () => {
|
|
|
58
58
|
it('Verify steps', () => {
|
|
59
59
|
|
|
60
60
|
const steps = itinerary.steps;
|
|
61
|
-
expect(steps.length).equal(
|
|
61
|
+
expect(steps.length).equal(8);
|
|
62
62
|
|
|
63
63
|
verifyNodesOrder(steps[0].nodes, [null, 'p7', 'p8']);
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
verifyNodesOrder(steps[
|
|
64
|
+
verifyNodesOrder(steps[1].nodes, ['p8', 'p9']);
|
|
65
|
+
verifyNodesOrder(steps[2].nodes, ['p9', 'p10']);
|
|
66
|
+
verifyNodesOrder(steps[3].nodes, ['p10', 'p11']);
|
|
67
|
+
verifyNodesOrder(steps[4].nodes, ['p11', 'p12', 'p13', 'p14']);
|
|
68
|
+
verifyNodesOrder(steps[5].nodes, ['p14', 'p15']);
|
|
69
|
+
verifyNodesOrder(steps[6].nodes, ['p15', 'p16']);
|
|
70
|
+
verifyNodesOrder(steps[7].nodes, ['p16']);
|
|
68
71
|
});
|
|
69
72
|
|
|
70
73
|
|
package/src/osrm/OsrmUtils.js
CHANGED
|
@@ -42,7 +42,8 @@ class OsrmUtils {
|
|
|
42
42
|
for (let i = 0; i <= lastStepId; i++) {
|
|
43
43
|
|
|
44
44
|
const {
|
|
45
|
-
nodes, length, nextEdgeData, nextBearing, previousBearing, angle, node,
|
|
45
|
+
nodes, length, nextEdgeData, nextBearing, previousBearing, angle, node,
|
|
46
|
+
duration, levelChange
|
|
46
47
|
} = itinerarySteps[i];
|
|
47
48
|
|
|
48
49
|
const edgeData = i !== lastStepId ? nextEdgeData : itinerary.edges[lastStepId];
|
|
@@ -71,6 +72,10 @@ class OsrmUtils {
|
|
|
71
72
|
wemap: {}
|
|
72
73
|
};
|
|
73
74
|
|
|
75
|
+
if (levelChange !== null) {
|
|
76
|
+
osrmStep.levelChange = levelChange;
|
|
77
|
+
}
|
|
78
|
+
|
|
74
79
|
if (node.data && node.data.tags) {
|
|
75
80
|
osrmStep.wemap.nodeTags = node.data.tags;
|
|
76
81
|
}
|
|
@@ -250,17 +255,18 @@ class OsrmUtils {
|
|
|
250
255
|
: deg2rad(jsonStep.maneuver.bearing_after);
|
|
251
256
|
step.angle = diffAngle(step.previousBearing, step.nextBearing + Math.PI);
|
|
252
257
|
step.name = jsonStep.name;
|
|
258
|
+
step.levelChange = jsonStep.levelChange ? jsonStep.levelChange : null;
|
|
253
259
|
|
|
254
260
|
/**
|
|
255
261
|
* Wemap fields
|
|
256
262
|
*/
|
|
257
263
|
if (jsonStep.wemap) {
|
|
258
|
-
const firstNode =
|
|
264
|
+
const firstNode = step.nodes[0];
|
|
259
265
|
if (jsonStep.wemap.nodeTags && firstNode) {
|
|
260
266
|
firstNode.data = { tags: jsonStep.wemap.nodeTags };
|
|
261
267
|
}
|
|
262
268
|
|
|
263
|
-
const firstEdge =
|
|
269
|
+
const firstEdge = step.edges[0];
|
|
264
270
|
if (jsonStep.wemap.nextEdgeTags && firstEdge) {
|
|
265
271
|
firstEdge.data = {
|
|
266
272
|
tags: jsonStep.wemap.nextEdgeTags,
|
|
@@ -172,28 +172,23 @@ describe('OsrmUtils', () => {
|
|
|
172
172
|
expect(steps[3].maneuver.bearing_after).be.closeTo(281.93, 0.01);
|
|
173
173
|
|
|
174
174
|
expect(steps[4].maneuver.modifier).equals('right');
|
|
175
|
-
expect(steps[4].distance).be.closeTo(
|
|
175
|
+
expect(steps[4].distance).be.closeTo(10.71, 0.01);
|
|
176
176
|
expect(steps[4].maneuver.bearing_after).be.closeTo(12.22, 0.01);
|
|
177
|
+
expect(steps[4].levelChange).is.not.null;
|
|
178
|
+
expect(steps[4].levelChange.direction).equals('down');
|
|
179
|
+
expect(steps[4].levelChange.diff).equals(-1);
|
|
177
180
|
|
|
178
|
-
expect(steps[5].maneuver.modifier).equals('
|
|
179
|
-
expect(steps[5].distance).be.closeTo(
|
|
180
|
-
expect(steps[5].maneuver.bearing_after).be.closeTo(102.
|
|
181
|
+
expect(steps[5].maneuver.modifier).equals('left');
|
|
182
|
+
expect(steps[5].distance).be.closeTo(4.23, 0.01);
|
|
183
|
+
expect(steps[5].maneuver.bearing_after).be.closeTo(102.00, 0.01);
|
|
181
184
|
|
|
182
185
|
expect(steps[6].maneuver.modifier).equals('right');
|
|
183
|
-
expect(steps[6].distance).be.closeTo(
|
|
184
|
-
expect(steps[6].maneuver.bearing_after).be.closeTo(
|
|
186
|
+
expect(steps[6].distance).be.closeTo(5.03, 0.01);
|
|
187
|
+
expect(steps[6].maneuver.bearing_after).be.closeTo(191.75, 0.01);
|
|
185
188
|
|
|
186
189
|
expect(steps[7].maneuver.modifier).equals('left');
|
|
187
|
-
expect(steps[7].distance).be.closeTo(
|
|
188
|
-
expect(steps[7].maneuver.bearing_after).be.closeTo(
|
|
189
|
-
|
|
190
|
-
expect(steps[8].maneuver.modifier).equals('right');
|
|
191
|
-
expect(steps[8].distance).be.closeTo(5.03, 0.01);
|
|
192
|
-
expect(steps[8].maneuver.bearing_after).be.closeTo(191.75, 0.01);
|
|
193
|
-
|
|
194
|
-
expect(steps[9].maneuver.modifier).equals('left');
|
|
195
|
-
expect(steps[9].distance).be.closeTo(0, 0.01);
|
|
196
|
-
expect(steps[9].maneuver.bearing_after).be.closeTo(0, 0.01);
|
|
190
|
+
expect(steps[7].distance).be.closeTo(0, 0.01);
|
|
191
|
+
expect(steps[7].maneuver.bearing_after).be.closeTo(0, 0.01);
|
|
197
192
|
|
|
198
193
|
});
|
|
199
194
|
|