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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2239 - (hide annotations) (download)
Wed Dec 10 07:36:40 2014 UTC (9 years, 5 months ago) by torben
File size: 1731 byte(s)
BBox check improvements
1 torben 2145 package dk.daoas.fulddaekning;
2    
3     public class BoundingBox {
4 torben 2200
5 torben 2145
6     public static class BoundingBoxException extends Exception{
7     public BoundingBoxException(String reason) {
8     super(reason);
9     }
10    
11     private static final long serialVersionUID = 1L;
12     }
13    
14 torben 2200 //public static final double LATITUDE_MARGIN = 0.02702703;
15     //public static final double LONGUTUDE_MARGIN = 0.046875;
16 torben 2145
17     public double latitudeMax;
18     public double latitudeMin;
19    
20     public double longitudeMax;
21     public double longitudeMin;
22    
23    
24     @Override
25     public String toString() {
26 torben 2146 return "bbox: Latitude=" + latitudeMin +"/" + latitudeMax + " longitude=" + longitudeMin + "/" + longitudeMax;
27 torben 2145 }
28    
29     public void validateBbox() throws BoundingBoxException {
30    
31 torben 2239 double latDiff = Math.abs(latitudeMax - latitudeMin);
32     if ( latDiff > 1.0) {
33     throw new BoundingBoxException("For stor latitude forskel / " + latDiff);
34     }
35 torben 2211
36 torben 2239 double lngDiff = Math.abs(longitudeMax - longitudeMin);
37     if ( lngDiff > 1.0) {
38     throw new BoundingBoxException("For stor longitude forskel / " + lngDiff);
39     }
40    
41 torben 2211 GeoPoint min = new GeoPoint(latitudeMin, longitudeMin);
42     GeoPoint max = new GeoPoint(latitudeMax, longitudeMax);
43     double afstand = GeoPoint.beregnAfstand(min, max);
44    
45 torben 2221 if (afstand >= 80.0) { //hvis cross afstand er over 80 km - så er postnummeret for stort
46 torben 2211 throw new BoundingBoxException("For stor cross afstand " + afstand);
47     }
48 torben 2145 }
49    
50     public void adjustToMargin() {
51 torben 2200 Constants consts = Constants.getInstance();
52 torben 2145
53 torben 2200 latitudeMax += consts.getLatitudeMargin();
54     latitudeMin -= consts.getLatitudeMargin();
55    
56     longitudeMax += consts.getLongitudeMargin();
57     longitudeMin -= consts.getLongitudeMargin();
58 torben 2145 }
59    
60    
61     }

  ViewVC Help
Powered by ViewVC 1.1.20