Check for holdpoint end
This commit is contained in:
parent
61d9145dd8
commit
cb8a49fc9d
@ -199,7 +199,7 @@
|
|||||||
return { 'index': Number(o['glueindex']), '_leaflet_id': o._leaflet_id, 'type': o.holdPointType };
|
return { 'index': Number(o['glueindex']), '_leaflet_id': o._leaflet_id, 'type': o.holdPointType };
|
||||||
} else if (o instanceof L.Polyline) {
|
} else if (o instanceof L.Polyline) {
|
||||||
console.log(o)
|
console.log(o)
|
||||||
return { 'start': Number(o['begin']), 'end': Number(o['end']), '_leaflet_id': o._leaflet_id, 'type': 'poly' };
|
return { 'start': Number(o['begin']), 'end': Number(o['end']), '_leaflet_id': o._leaflet_id, 'type': 'poly', 'isPushBackRoute': o.options.attributes.isPushBackRoute };
|
||||||
} else {
|
} else {
|
||||||
console.log('Unknown Type ')
|
console.log('Unknown Type ')
|
||||||
console.log(typeof o)
|
console.log(typeof o)
|
||||||
|
@ -79,6 +79,45 @@ async function checkGroundnet(data) {
|
|||||||
this.postMessage(['progress', 1]);
|
this.postMessage(['progress', 1]);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
// Check forward parkings
|
||||||
|
var noPushbackGraph = {};
|
||||||
|
parkings.forEach(element => {
|
||||||
|
noPushbackGraph[element] = {};
|
||||||
|
});
|
||||||
|
runwayNodes.forEach(element => {
|
||||||
|
noPushbackGraph[element] = {};
|
||||||
|
});
|
||||||
|
edges.forEach(element => {
|
||||||
|
noPushbackGraph[element.start] = {};
|
||||||
|
noPushbackGraph[element.end] = {};
|
||||||
|
});
|
||||||
|
edges.filter(element => element.isPushBackRoute).forEach(element => {
|
||||||
|
var node1 = noPushbackGraph[element.start];
|
||||||
|
node1[Number(element.end)] = 1;
|
||||||
|
var node2 = noPushbackGraph[element.end];
|
||||||
|
node2[Number(element.start)] = 1;
|
||||||
|
});
|
||||||
|
|
||||||
|
var okPushbacks = [];
|
||||||
|
parkings.forEach(parkingNode => {
|
||||||
|
pushbackNodes.forEach(pushbackNode => {
|
||||||
|
var ok = checkRoute(noPushbackGraph, parkingNode, pushbackNode);
|
||||||
|
if(ok) {
|
||||||
|
okPushbacks.push(parkingNode);
|
||||||
|
}
|
||||||
|
this.postMessage(['progress', 1]);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
var wrongPushbackRoutes = parkings.filter(
|
||||||
|
function(e) {
|
||||||
|
return this.indexOf(e) < 0;
|
||||||
|
}
|
||||||
|
, okPushbacks ).map(
|
||||||
|
id => {return {id:id, message:'No way to pushback holdpoint'}}
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
okNodes = okNodes.filter((v,i) => okNodes.indexOf(v) === i);
|
okNodes = okNodes.filter((v,i) => okNodes.indexOf(v) === i);
|
||||||
var allLegitimateEndNodes = parkings.concat(runwayNodes).concat(pushbackNodes);
|
var allLegitimateEndNodes = parkings.concat(runwayNodes).concat(pushbackNodes);
|
||||||
var notOkNodes = parkings.concat(runwayNodes).filter(
|
var notOkNodes = parkings.concat(runwayNodes).filter(
|
||||||
@ -108,7 +147,7 @@ async function checkGroundnet(data) {
|
|||||||
).map(
|
).map(
|
||||||
v => {return {id:Number(v), message:'Pushback node not an end'}}
|
v => {return {id:Number(v), message:'Pushback node not an end'}}
|
||||||
);
|
);
|
||||||
notOkNodes = notOkNodes.concat(wrongPushbackEnds);
|
notOkNodes = notOkNodes.concat(wrongPushbackEnds).concat(wrongPushbackRoutes);
|
||||||
|
|
||||||
var parkingNodes = data.map(mapParkingNode).filter(n => n !== undefined);
|
var parkingNodes = data.map(mapParkingNode).filter(n => n !== undefined);
|
||||||
|
|
||||||
@ -204,6 +243,7 @@ var mapRunwayNodes = function (o) {
|
|||||||
|
|
||||||
var mapEdges = function (o) {
|
var mapEdges = function (o) {
|
||||||
if(o.type === 'poly')
|
if(o.type === 'poly')
|
||||||
return {start: o.start, end: o.end};
|
return {start: o.start, end: o.end, isPushBackRoute: o.isPushBackRoute !== undefined&&
|
||||||
|
o.isPushBackRoute!==0};
|
||||||
console.log(o);
|
console.log(o);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user