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

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

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

revision 2146 by torben, Wed Apr 30 09:02:39 2014 UTC revision 2588 by torben, Sun Jun 14 15:11:23 2015 UTC
# Line 1  Line 1 
1  package dk.daoas.fulddaekning;  package dk.daoas.fulddaekning;
2    
3    import geocode.GeoPoint;
4    
5  public class BoundingBox {  public class BoundingBox {
6                    
7                    
8          public static class BoundingBoxException extends Exception{          public static class BoundingBoxException extends Exception{
9                  public BoundingBoxException(String reason) {                  public BoundingBoxException(String reason) {
# Line 9  public class BoundingBox { Line 12  public class BoundingBox {
12                                    
13                  private static final long serialVersionUID = 1L;                                  private static final long serialVersionUID = 1L;                
14          }          }
15                            
         public static final double LATITUDE_MARGIN = 0.02702703;  
         public static final double LONGUTUDE_MARGIN = 0.046875;  
           
16          public double latitudeMax;          public double latitudeMax;
17          public double latitudeMin;          public double latitudeMin = Double.MAX_VALUE;
18                    
19          public double longitudeMax;          public double longitudeMax;
20          public double longitudeMin;          public double longitudeMin = Double.MAX_VALUE;
21                    
22                    
23          @Override          @Override
# Line 26  public class BoundingBox { Line 26  public class BoundingBox {
26          }          }
27                    
28          public void validateBbox() throws BoundingBoxException {          public void validateBbox() throws BoundingBoxException {
29                  if ( Math.abs(latitudeMax-latitudeMin)> 1.0)  
30                          throw new BoundingBoxException("For stor latitude forskel");                  double latDiff = Math.abs(latitudeMax - latitudeMin);          
31                    if ( latDiff > 1.1) {
32                            throw new BoundingBoxException("For stor latitude forskel / " + latDiff);
33                    }
34                                    
35                  if ( Math.abs(longitudeMax-longitudeMin)> 1.0)                  double lngDiff = Math.abs(longitudeMax - longitudeMin);
36                          throw new BoundingBoxException("For stor longitude forskel");                                    if ( lngDiff > 1.1) {
37                            throw new BoundingBoxException("For stor longitude forskel / " + lngDiff);
38                    }
39                    
40                    GeoPoint min = new GeoPoint(latitudeMin, longitudeMin);
41                    GeoPoint max = new GeoPoint(latitudeMax, longitudeMax);
42                    double afstand = GeoPointHelper.beregnAfstand(min, max);
43                    
44                    if (afstand >= 125.0) { //hvis cross afstand er over X km - så er postnummeret for stort
45                            throw new BoundingBoxException("For stor cross afstand " + afstand);
46                    }
47          }          }
48                    
49          public void adjustToMargin() {          
50                  latitudeMax += LATITUDE_MARGIN;          @Override
51                  latitudeMin -= LATITUDE_MARGIN;          public BoundingBox clone() {
52                    BoundingBox bb = new BoundingBox();
53                    bb.latitudeMax = this.latitudeMax;
54                    bb.longitudeMax = this.longitudeMax;
55                    
56                    bb.latitudeMin = this.latitudeMin;
57                    bb.longitudeMin = this.longitudeMin;
58                                    
59                  longitudeMax += LONGUTUDE_MARGIN;                  return bb;
                 longitudeMin -= LONGUTUDE_MARGIN;  
60          }          }
61                    
62    

Legend:
Removed from v.2146  
changed lines
  Added in v.2588

  ViewVC Help
Powered by ViewVC 1.1.20