NNGrid supports nameID of edges.
This commit is contained in:
		
							parent
							
								
									eca2c0c5ef
								
							
						
					
					
						commit
						caf8cd701e
					
				@ -156,8 +156,9 @@ void EdgeBasedGraphFactory::Run() {
 | 
			
		||||
                        //create Edge for NearestNeighborlookup
 | 
			
		||||
                        edgeBasedEdges.push_back(newEdge);
 | 
			
		||||
                        EdgeBasedNode currentNode;
 | 
			
		||||
                        currentNode.nameID = newEdge.data.nameID1;
 | 
			
		||||
 | 
			
		||||
                        if(_nodeBasedGraph->GetEdgeData(e1).type != 14) {
 | 
			
		||||
                            currentNode.nameID = newEdge.data.nameID1;
 | 
			
		||||
                            currentNode.lat1 = inputNodeInfoList[u].lat;
 | 
			
		||||
                            currentNode.lon1 = inputNodeInfoList[u].lon;
 | 
			
		||||
                            currentNode.lat2 = inputNodeInfoList[v].lat;
 | 
			
		||||
@ -166,6 +167,7 @@ void EdgeBasedGraphFactory::Run() {
 | 
			
		||||
                            edgeBasedNodes.push_back(currentNode);
 | 
			
		||||
                        }
 | 
			
		||||
                        if(_nodeBasedGraph->GetEdgeData(e2).type != 14) {
 | 
			
		||||
                            currentNode.nameID = newEdge.data.nameID2;
 | 
			
		||||
                            currentNode.lat1 = inputNodeInfoList[v].lat;
 | 
			
		||||
                            currentNode.lon1 = inputNodeInfoList[v].lon;
 | 
			
		||||
                            currentNode.lat2 = inputNodeInfoList[w].lat;
 | 
			
		||||
 | 
			
		||||
@ -198,7 +198,7 @@ public:
 | 
			
		||||
            int tlat = 100000*lat2y(edge.lat2/100000.);
 | 
			
		||||
            int tlon = edge.lon2;
 | 
			
		||||
            AddEdge( _GridEdge(
 | 
			
		||||
                    edge.id,
 | 
			
		||||
                    edge.id, edge.nameID,
 | 
			
		||||
                    _Coordinate(slat, slon),
 | 
			
		||||
                    _Coordinate(tlat, tlon) )
 | 
			
		||||
            );
 | 
			
		||||
@ -312,6 +312,7 @@ public:
 | 
			
		||||
            if(tmpDist < dist) {
 | 
			
		||||
                resultNode.isBidirected = false;
 | 
			
		||||
                resultNode.edgeBasedNode = candidate.edgeBasedNode;
 | 
			
		||||
                resultNode.nodeBasedEdgeNameID = candidate.nameID;
 | 
			
		||||
                resultNode.ratio = r;
 | 
			
		||||
                dist = tmpDist;
 | 
			
		||||
                resultNode.location.lat = round(100000*(y2lat(static_cast<double>(tmp.lat)/100000.)));
 | 
			
		||||
 | 
			
		||||
@ -24,9 +24,10 @@ or see http://www.gnu.org/licenses/agpl.txt.
 | 
			
		||||
#include "ExtractorStructs.h"
 | 
			
		||||
 | 
			
		||||
struct PhantomNode {
 | 
			
		||||
    PhantomNode() : isBidirected(false), edgeBasedNode(UINT_MAX), ratio(1.) {}
 | 
			
		||||
    PhantomNode() : isBidirected(false), edgeBasedNode(UINT_MAX), nodeBasedEdgeNameID(UINT_MAX), ratio(1.) {}
 | 
			
		||||
    bool isBidirected;
 | 
			
		||||
    NodeID edgeBasedNode;
 | 
			
		||||
    unsigned nodeBasedEdgeNameID;
 | 
			
		||||
    double ratio;
 | 
			
		||||
    _Coordinate location;
 | 
			
		||||
    void Reset() {
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user