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

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

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

revision 2721 by torben, Mon Sep 28 13:32:19 2015 UTC revision 2722 by torben, Mon Sep 28 19:47:17 2015 UTC
# Line 61  public class LookupWorker implements Run Line 61  public class LookupWorker implements Run
61          public void run() {          public void run() {
62                  System.out.println( "Worker/" + workerID + " starting");                  System.out.println( "Worker/" + workerID + " starting");
63    
64                  while ( ! ikkeDaekkede.isEmpty() ) {                  try {
65                            while ( ! ikkeDaekkede.isEmpty() ) {
66                                                    
67                          Adresse qAdresse = null;                                  Adresse qAdresse = ikkeDaekkede.remove();
                         try {  
                                 qAdresse = ikkeDaekkede.remove();  
                         } catch (NoSuchElementException e) {  
                                 logger.info( "Worker/" + workerID + " NoSuchElementException");  
                                 break;  
                         }  
68    
69                          short ho = qAdresse.ho;                                  short ho = qAdresse.ho;
70                          KdTree<Adresse> addressTree = hoTrees.get(ho);                                  KdTree<Adresse> addressTree = hoTrees.get(ho);
71    
72                          Collection<Adresse> res = addressTree.nearestNeighbourSearch(MAX_RESULTS, qAdresse);                                  Collection<Adresse> res = addressTree.nearestNeighbourSearch(MAX_RESULTS, qAdresse);
73                          if (res.size() > MAX_RESULTS ) {                                  if (res.size() > MAX_RESULTS ) {
74                                  System.out.println("Returnerede mere end MAX_RESULTS> " + res.size() );                                          System.out.println("Returnerede mere end MAX_RESULTS> " + res.size() );
75                                  System.exit(0);                                          System.exit(0);
76                          }                                  }
77    
78    
79                          Adresse bedsteAdr = res.iterator().next(); //Tag første element                          Adresse bedsteAdr = res.iterator().next(); //Tag første element
# Line 86  public class LookupWorker implements Run Line 81  public class LookupWorker implements Run
81                                                    
82                          //Hvis at den er inden for afstand, så prøver vi at lave findNærmste på vej distancen                          //Hvis at den er inden for afstand, så prøver vi at lave findNærmste på vej distancen
83                          if (bedsteAfstand <= consts.getMaxDistance()) {                          if (bedsteAfstand <= consts.getMaxDistance()) {
84                                  bedsteAdr = osrmHelper.getNearestViaTable(qAdresse, res);                                  Adresse bedsteAdr2 = osrmHelper.getNearestViaTable(qAdresse, res);
85                                  bedsteAfstand = GeoPointHelper.beregnAfstand(qAdresse, bedsteAdr);  
86                                    if (bedsteAdr2 != null) {
87                                            bedsteAdr = bedsteAdr2;
88                                            bedsteAfstand = GeoPointHelper.beregnAfstand(qAdresse, bedsteAdr);
89                                    } else {
90                                            logger.info("NearestViaTable returned null for " + qAdresse);
91                                    }
92                          }                          }
93                                                    
94    
# Line 115  public class LookupWorker implements Run Line 116  public class LookupWorker implements Run
116                                  }                                  }
117                          }                          }
118    
119                            }
120    
121                    } catch (Exception e) {
122                            logger.log( Level.SEVERE, "Worker/" + workerID, e);
123                  }                  }
124    
125    
126    
127                  try {                  try {
128                            logger.info( "Worker/" + workerID + " afventer barrier");
129                          barrier.await();                          barrier.await();
130                  } catch (BrokenBarrierException e) {                  } catch (BrokenBarrierException e) {
131                          logger.log(Level.SEVERE, e.getMessage(), e);                          logger.log(Level.SEVERE, e.getMessage(), e);

Legend:
Removed from v.2721  
changed lines
  Added in v.2722

  ViewVC Help
Powered by ViewVC 1.1.20