Support beelines in data and analysis tabs (WIP)
This commit is contained in:
parent
044dab0f80
commit
39f3a10965
3 changed files with 29 additions and 17 deletions
|
|
@ -452,6 +452,7 @@ BR.Routing = L.Routing.extend({
|
||||||
|
|
||||||
createBeeline: function (latLng1, latLng2) {
|
createBeeline: function (latLng1, latLng2) {
|
||||||
const layer = L.Routing.prototype.createBeeline.call(this, latLng1, latLng2);
|
const layer = L.Routing.prototype.createBeeline.call(this, latLng1, latLng2);
|
||||||
|
const distance = Math.round(latLng1.distanceTo(latLng2));
|
||||||
const props = {
|
const props = {
|
||||||
cost: 0,
|
cost: 0,
|
||||||
'filtered ascend': 0,
|
'filtered ascend': 0,
|
||||||
|
|
@ -473,6 +474,7 @@ BR.Routing = L.Routing.extend({
|
||||||
'WayTags',
|
'WayTags',
|
||||||
'NodeTags',
|
'NodeTags',
|
||||||
],
|
],
|
||||||
|
[latLng2.lng * 1000000, latLng2.lat * 1000000, 0, distance, 0, 0, 0, 0, 0, '', ''],
|
||||||
],
|
],
|
||||||
};
|
};
|
||||||
layer.feature = turf.lineString(
|
layer.feature = turf.lineString(
|
||||||
|
|
@ -482,6 +484,14 @@ BR.Routing = L.Routing.extend({
|
||||||
],
|
],
|
||||||
props
|
props
|
||||||
);
|
);
|
||||||
|
|
||||||
|
// corresponding to BRouter._assignFeatures
|
||||||
|
for (const latLng of layer.getLatLngs()) {
|
||||||
|
const featureMessage = props.messages[1];
|
||||||
|
latLng.feature = BR.TrackEdges.getFeature(featureMessage);
|
||||||
|
latLng.message = featureMessage;
|
||||||
|
}
|
||||||
|
|
||||||
return layer;
|
return layer;
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -237,7 +237,7 @@ L.BRouter = L.Class.extend({
|
||||||
var segmentLatLng = segmentLatLngs[fi],
|
var segmentLatLng = segmentLatLngs[fi],
|
||||||
featureMessage = featureMessages[mi];
|
featureMessage = featureMessages[mi];
|
||||||
|
|
||||||
segmentLatLng.feature = this._getFeature(featureMessage);
|
segmentLatLng.feature = BR.TrackEdges.getFeature(featureMessage);
|
||||||
segmentLatLng.message = featureMessage;
|
segmentLatLng.message = featureMessage;
|
||||||
|
|
||||||
if (featureLatLng.equals(segmentLatLngs[fi])) {
|
if (featureLatLng.equals(segmentLatLngs[fi])) {
|
||||||
|
|
@ -250,22 +250,6 @@ L.BRouter = L.Class.extend({
|
||||||
return segment;
|
return segment;
|
||||||
},
|
},
|
||||||
|
|
||||||
_getFeature: function (featureMessage) {
|
|
||||||
//["Longitude", "Latitude", "Elevation", "Distance", "CostPerKm", "ElevCost", "TurnCost", "NodeCost", "InitialCost", "WayTags", "NodeTags"]
|
|
||||||
return {
|
|
||||||
cost: {
|
|
||||||
perKm: parseInt(featureMessage[4]),
|
|
||||||
elev: parseInt(featureMessage[5]),
|
|
||||||
turn: parseInt(featureMessage[6]),
|
|
||||||
node: parseInt(featureMessage[7]),
|
|
||||||
initial: parseInt(featureMessage[8]),
|
|
||||||
},
|
|
||||||
distance: parseInt(featureMessage[3]),
|
|
||||||
wayTags: featureMessage[9],
|
|
||||||
nodeTags: featureMessage[10],
|
|
||||||
};
|
|
||||||
},
|
|
||||||
|
|
||||||
_getFeatureLatLng: function (message) {
|
_getFeatureLatLng: function (message) {
|
||||||
var lon = message[0] / 1000000,
|
var lon = message[0] / 1000000,
|
||||||
lat = message[1] / 1000000;
|
lat = message[1] / 1000000;
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,24 @@
|
||||||
* @type {L.Class}
|
* @type {L.Class}
|
||||||
*/
|
*/
|
||||||
BR.TrackEdges = L.Class.extend({
|
BR.TrackEdges = L.Class.extend({
|
||||||
|
statics: {
|
||||||
|
getFeature: function (featureMessage) {
|
||||||
|
//["Longitude", "Latitude", "Elevation", "Distance", "CostPerKm", "ElevCost", "TurnCost", "NodeCost", "InitialCost", "WayTags", "NodeTags"]
|
||||||
|
return {
|
||||||
|
cost: {
|
||||||
|
perKm: parseInt(featureMessage[4]),
|
||||||
|
elev: parseInt(featureMessage[5]),
|
||||||
|
turn: parseInt(featureMessage[6]),
|
||||||
|
node: parseInt(featureMessage[7]),
|
||||||
|
initial: parseInt(featureMessage[8]),
|
||||||
|
},
|
||||||
|
distance: parseInt(featureMessage[3]),
|
||||||
|
wayTags: featureMessage[9],
|
||||||
|
nodeTags: featureMessage[10],
|
||||||
|
};
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* List of indexes for the track array where
|
* List of indexes for the track array where
|
||||||
* a segment with different features ends
|
* a segment with different features ends
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue