/[projects]/dao/FuldDaekningWorker/src/main/java/dk/daoas/fulddaekning/LookupWorker.java
ViewVC logotype

Diff of /dao/FuldDaekningWorker/src/main/java/dk/daoas/fulddaekning/LookupWorker.java

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

dao/FuldDaekningWorker/src/dk/daoas/fulddaekning/LookupWorker.java revision 2713 by torben, Sun Sep 27 19:52:01 2015 UTC dao/FuldDaekningWorker/src/main/java/dk/daoas/fulddaekning/LookupWorker.java revision 2733 by torben, Tue Sep 29 09:58:14 2015 UTC
# Line 60  public class LookupWorker implements Run Line 60  public class LookupWorker implements Run
60          public void run() {          public void run() {
61                  System.out.println( "Worker/" + workerID + " starting");                  System.out.println( "Worker/" + workerID + " starting");
62    
63                  while ( ! ikkeDaekkede.isEmpty() ) {                  try {
64                            while ( ! ikkeDaekkede.isEmpty() ) {
65                                                    
66                          Adresse qAdresse = ikkeDaekkede.remove();                                  Adresse qAdresse = ikkeDaekkede.remove();
   
                         short ho = qAdresse.ho;  
                         KdTree<Adresse> addressTree = hoTrees.get(ho);  
67    
68                          Collection<Adresse> res = addressTree.nearestNeighbourSearch(MAX_RESULTS, qAdresse);                                  short ho = qAdresse.ho;
69                          if (res.size() > MAX_RESULTS ) {                                  KdTree<Adresse> addressTree = hoTrees.get(ho);
                                 System.out.println("Returnerede mere end MAX_RESULTS> " + res.size() );  
                                 System.exit(0);  
                         }  
70    
71                                    Collection<Adresse> res = addressTree.nearestNeighbourSearch(MAX_RESULTS, qAdresse);
72                                    if (res.size() > MAX_RESULTS ) {
73                                            System.out.println("Returnerede mere end MAX_RESULTS> " + res.size() );
74                                            System.exit(0);
75                                    }
76    
                         Adresse bedsteAdr = osrmHelper.getNearestViaTable(qAdresse, res);  
                         //System.out.println("Bedste:" + bedsteAdr );  
77    
78                            Adresse bedsteAdr = res.iterator().next(); //Tag første element
79                          double bedsteAfstand = GeoPointHelper.beregnAfstand(qAdresse, bedsteAdr);                          double bedsteAfstand = GeoPointHelper.beregnAfstand(qAdresse, bedsteAdr);
80                            
81                            //Hvis at den er inden for afstand, så prøver vi at lave findNærmste på vej distancen
82                            if (bedsteAfstand <= consts.getMaxDistance()) {
83                                    Adresse bedsteAdr2 = osrmHelper.getNearestViaTable(qAdresse, res);
84    
85                                    if (bedsteAdr2 != null) {
86                                            bedsteAdr = bedsteAdr2;
87                                            bedsteAfstand = GeoPointHelper.beregnAfstand(qAdresse, bedsteAdr);
88                                    } else {
89                                            logger.info("NearestViaTable returned null for " + qAdresse);
90                                    }
91                            }
92                            
93    
94                            
95    
96    
97                          if (bedsteAfstand <= consts.getMaxDistance() ) { //Gem kun hvis distancen er under max_distance for distributøren                          if (bedsteAfstand <= consts.getMaxDistance() ) { //Gem kun hvis distancen er under max_distance for distributøren
# Line 101  public class LookupWorker implements Run Line 115  public class LookupWorker implements Run
115                                  }                                  }
116                          }                          }
117    
118                            }
119    
120                    } catch (Exception e) {
121                            logger.log( Level.SEVERE, "Worker/" + workerID, e);
122                  }                  }
123    
124    
125    
126                  try {                  try {
127                            logger.info( "Worker/" + workerID + " afventer barrier");
128                          barrier.await();                          barrier.await();
129                  } catch (BrokenBarrierException e) {                  } catch (BrokenBarrierException e) {
130                          logger.log(Level.SEVERE, e.getMessage(), e);                          logger.log(Level.SEVERE, e.getMessage(), e);
131                          System.exit(-1);                          System.exit(-1);
132                  } catch(InterruptedException e) {                  } catch(InterruptedException e) {
133                          //Do nothing                          logger.log(Level.SEVERE, e.getMessage(), e);
134                  }                  }
135    
136    

Legend:
Removed from v.2713  
changed lines
  Added in v.2733

  ViewVC Help
Powered by ViewVC 1.1.20