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

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

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

revision 2200 by torben, Thu Sep 11 08:14:40 2014 UTC revision 2330 by torben, Fri Feb 20 08:52:52 2015 UTC
# Line 15  public class BoundingBox { Line 15  public class BoundingBox {
15          //public static final double LONGUTUDE_MARGIN = 0.046875;          //public static final double LONGUTUDE_MARGIN = 0.046875;
16                    
17          public double latitudeMax;          public double latitudeMax;
18          public double latitudeMin;          public double latitudeMin = Double.MAX_VALUE;
19                    
20          public double longitudeMax;          public double longitudeMax;
21          public double longitudeMin;          public double longitudeMin = Double.MAX_VALUE;
22                    
23                    
24          @Override          @Override
# Line 27  public class BoundingBox { Line 27  public class BoundingBox {
27          }          }
28                    
29          public void validateBbox() throws BoundingBoxException {          public void validateBbox() throws BoundingBoxException {
30                  if ( Math.abs(latitudeMax-latitudeMin)> 1.0)  
31                          throw new BoundingBoxException("For stor latitude forskel");                  double latDiff = Math.abs(latitudeMax - latitudeMin);          
32                    if ( latDiff > 1.1) {
33                            throw new BoundingBoxException("For stor latitude forskel / " + latDiff);
34                    }
35                    
36                    double lngDiff = Math.abs(longitudeMax - longitudeMin);
37                    if ( lngDiff > 1.1) {
38                            throw new BoundingBoxException("For stor longitude forskel / " + lngDiff);
39                    }
40                    
41                    GeoPoint min = new GeoPoint(latitudeMin, longitudeMin);
42                    GeoPoint max = new GeoPoint(latitudeMax, longitudeMax);
43                    double afstand = GeoPoint.beregnAfstand(min, max);
44                    
45                    if (afstand >= 125.0) { //hvis cross afstand er over 80 km - så er postnummeret for stort
46                            throw new BoundingBoxException("For stor cross afstand " + afstand);
47                    }
48            }
49            
50            public void adjustToMargin(double kmMargin) {
51                    double latMargin = GeoPoint.kmToLatitude(kmMargin);
52                    double lngMargin = GeoPoint.kmToLongitude(kmMargin);
53                                    
54                  if ( Math.abs(longitudeMax-longitudeMin)> 1.0)                  latitudeMax += latMargin;
55                          throw new BoundingBoxException("For stor longitude forskel");                                    latitudeMin -= latMargin;
56                    
57                    longitudeMax += lngMargin;
58                    longitudeMin -= lngMargin;
59          }          }
60                    
61          public void adjustToMargin() {          @Override
62                  Constants consts = Constants.getInstance();          public BoundingBox clone() {
63                    BoundingBox bb = new BoundingBox();
64                    bb.latitudeMax = this.latitudeMax;
65                    bb.longitudeMax = this.longitudeMax;
66                                    
67                  latitudeMax += consts.getLatitudeMargin();                  bb.latitudeMin = this.latitudeMin;
68                  latitudeMin -= consts.getLatitudeMargin();                  bb.longitudeMin = this.longitudeMin;
69                                    
70                  longitudeMax += consts.getLongitudeMargin();                  return bb;
                 longitudeMin -= consts.getLongitudeMargin();  
71          }          }
72                    
73    

Legend:
Removed from v.2200  
changed lines
  Added in v.2330

  ViewVC Help
Powered by ViewVC 1.1.20