27 |
} |
} |
28 |
|
|
29 |
public void validateBbox() throws BoundingBoxException { |
public void validateBbox() throws BoundingBoxException { |
|
|
|
|
if ( Math.abs(latitudeMax-latitudeMin)> 1.0) |
|
|
throw new BoundingBoxException("For stor latitude forskel"); |
|
30 |
|
|
31 |
if ( Math.abs(longitudeMax-longitudeMin)> 1.0) |
double latDiff = Math.abs(latitudeMax - latitudeMin); |
32 |
throw new BoundingBoxException("For stor longitude forskel"); |
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); |
GeoPoint min = new GeoPoint(latitudeMin, longitudeMin); |
42 |
GeoPoint max = new GeoPoint(latitudeMax, longitudeMax); |
GeoPoint max = new GeoPoint(latitudeMax, longitudeMax); |
43 |
double afstand = GeoPoint.beregnAfstand(min, max); |
double afstand = GeoPoint.beregnAfstand(min, max); |
44 |
|
|
45 |
if (afstand >= 90.0) { //hvis cross størrelsen er over 90 km - så er postnummeret for stort |
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); |
throw new BoundingBoxException("For stor cross afstand " + afstand); |
47 |
} |
} |
48 |
} |
} |
57 |
longitudeMin -= consts.getLongitudeMargin(); |
longitudeMin -= consts.getLongitudeMargin(); |
58 |
} |
} |
59 |
|
|
60 |
|
@Override |
61 |
|
public BoundingBox clone() { |
62 |
|
BoundingBox bb = new BoundingBox(); |
63 |
|
bb.latitudeMax = this.latitudeMax; |
64 |
|
bb.longitudeMax = this.longitudeMax; |
65 |
|
|
66 |
|
bb.latitudeMin = this.latitudeMin; |
67 |
|
bb.longitudeMin = this.longitudeMin; |
68 |
|
|
69 |
|
return bb; |
70 |
|
} |
71 |
|
|
72 |
|
|
73 |
} |
} |