ignored edge type, i.e. ferry connections, can now be excluded from

nearest neighbor lookup
This commit is contained in:
DennisOSRM 2011-12-10 15:13:15 +01:00
parent d7f8eafe2d
commit 79a989e504
2 changed files with 5 additions and 2 deletions

View File

@ -126,7 +126,7 @@ void EdgeBasedGraphFactory::Run() {
++secondRestrictionIterator;
} while(u == secondRestrictionIterator->fromNode);
}
if(_nodeBasedGraph->EndEdges(v) == _nodeBasedGraph->BeginEdges(v) + 1 && _nodeBasedGraph->GetEdgeData(e1).type != 14 ) {
if(_nodeBasedGraph->EndEdges(v) == _nodeBasedGraph->BeginEdges(v) + 1 && _nodeBasedGraph->GetEdgeData(e1).type != INT_MAX) {
EdgeBasedNode currentNode;
currentNode.nameID = _nodeBasedGraph->GetEdgeData(e1).nameID;
currentNode.lat1 = inputNodeInfoList[u].lat;
@ -186,7 +186,7 @@ void EdgeBasedGraphFactory::Run() {
EdgeBasedEdge newEdge(edgeBasedSource, edgeBasedTarget, v, nameID, distance, true, false, turnInstruction);
edgeBasedEdges.push_back(newEdge);
if(_nodeBasedGraph->GetEdgeData(e1).type != 14 ) {
if(_nodeBasedGraph->GetEdgeData(e1).type != INT_MAX ) {
EdgeBasedNode currentNode;
currentNode.nameID = _nodeBasedGraph->GetEdgeData(e1).nameID;

View File

@ -264,6 +264,9 @@ struct Settings {
return speedProfile.at(param).first;
}
int GetHighwayTypeID(const std::string & param) const {
if(param == excludeFromGrid) {
return INT_MAX;
}
if(speedProfile.find(param) == speedProfile.end()) {
DEBUG("There is a bug with highway \"" << param << "\"");
return -1;