13 |
import java.util.List; |
import java.util.List; |
14 |
import java.util.Map; |
import java.util.Map; |
15 |
import java.util.Properties; |
import java.util.Properties; |
|
import java.util.Queue; |
|
16 |
import java.util.Set; |
import java.util.Set; |
17 |
import java.util.TreeSet; |
import java.util.TreeSet; |
|
import java.util.concurrent.ConcurrentLinkedQueue; |
|
18 |
import java.util.logging.Logger; |
import java.util.logging.Logger; |
19 |
|
|
20 |
|
|
30 |
List<GeoPoint> alleAdresser; |
List<GeoPoint> alleAdresser; |
31 |
Adresse alleIkkeDaekkede[]; |
Adresse alleIkkeDaekkede[]; |
32 |
|
|
33 |
|
Map<Short,List<GeoPoint>> daekkedeAdresserHO = new HashMap<Short,List<GeoPoint>>(); |
34 |
|
|
35 |
|
|
36 |
|
|
37 |
|
|
38 |
|
|
39 |
|
|
40 |
DeduplicateHelper<String> husnrbogstavCache = new DeduplicateHelper<String>(); |
DeduplicateHelper<String> husnrbogstavCache = new DeduplicateHelper<String>(); |
41 |
DeduplicateHelper<String> ruteCache = new DeduplicateHelper<String>(); |
DeduplicateHelper<String> ruteCache = new DeduplicateHelper<String>(); |
42 |
|
|
76 |
conn.createStatement().executeUpdate(sql); |
conn.createStatement().executeUpdate(sql); |
77 |
|
|
78 |
logger.info("Rename tables"); |
logger.info("Rename tables"); |
79 |
sql = "RENAME TABLE fulddaekning.afstand_anden_rute" + ext + " TO fulddaekning.afstand_anden_rute_old" + ext + ", fulddaekning.afstand_anden_rute_ny TO fulddaekning.afstand_anden_rute" + ext; |
String sql2 = "RENAME TABLE fulddaekning.afstand_anden_rute" + ext + " TO fulddaekning.afstand_anden_rute_old" + ext + ", fulddaekning.afstand_anden_rute_ny TO fulddaekning.afstand_anden_rute" + ext; |
80 |
|
|
81 |
logger.info("Executing: " + sql); |
logger.info("Executing: " + sql2); |
82 |
conn.createStatement().executeUpdate(sql); |
conn.createStatement().executeUpdate(sql2); |
83 |
} |
} |
84 |
|
|
85 |
public BoundingBox getBoundingbox(short postnr) { |
public BoundingBox getBoundingbox(short postnr) { |
102 |
"LEFT JOIN bogleveringer.postnummerdistributor p on (a.postnr=p.postnr) " + |
"LEFT JOIN bogleveringer.postnummerdistributor p on (a.postnr=p.postnr) " + |
103 |
"WHERE rute IS NULL " + //Ingen dækning |
"WHERE rute IS NULL " + //Ingen dækning |
104 |
"AND a.postnr BETWEEN ? AND ? " + |
"AND a.postnr BETWEEN ? AND ? " + |
105 |
|
"AND a.postnr NOT BETWEEN 3900 and 3999 " + //Skip greenland |
106 |
|
"AND a.postnr NOT BETWEEN 9000 AND 9499 " + // Skip nordjylland (DAO) |
107 |
"AND latitude IS NOT NULL " + |
"AND latitude IS NOT NULL " + |
108 |
"AND longitude IS NOT NULL " + |
"AND longitude IS NOT NULL " + |
109 |
"AND gadeid IS NOT NULL " + |
"AND gadeid IS NOT NULL " + |
146 |
|
|
147 |
|
|
148 |
|
|
149 |
|
public Map<Short, List<GeoPoint>> getDaekkedeAdresserHO() { |
150 |
|
return daekkedeAdresserHO; |
151 |
|
} |
152 |
|
|
153 |
|
public int hentAlleDaekkedeAdresser() throws SQLException { |
|
public List<GeoPoint> hentAlleDaekkedeAdresser() throws SQLException { |
|
154 |
if ( alleAdresser == null ) { |
if ( alleAdresser == null ) { |
155 |
String sql = "SELECT id,a.postnr,adresse,gadeid,husnr,husnrbogstav,latitude,longitude,rute,p.distributor as ho " + |
String sql = "SELECT id,a.postnr,adresse,gadeid,husnr,husnrbogstav,latitude,longitude,rute,p.distributor as ho " + |
156 |
"FROM fulddaekning.adressetabel a " + |
"FROM fulddaekning.adressetabel a " + |
171 |
|
|
172 |
alleAdresser = new ArrayList<GeoPoint>(); |
alleAdresser = new ArrayList<GeoPoint>(); |
173 |
alleAdresser.addAll(list); |
alleAdresser.addAll(list); |
174 |
|
|
175 |
|
for(Adresse addr : list) { |
176 |
|
short ho = addr.ho; |
177 |
|
List<GeoPoint> hoListe = daekkedeAdresserHO.get(ho); |
178 |
|
if ( hoListe == null) { |
179 |
|
hoListe = new ArrayList<GeoPoint>(); |
180 |
|
daekkedeAdresserHO.put(ho, hoListe); |
181 |
|
} |
182 |
|
|
183 |
|
hoListe.add(addr); |
184 |
|
|
185 |
|
} |
186 |
} |
} |
187 |
return alleAdresser; |
|
188 |
|
return alleAdresser.size(); |
189 |
} |
} |
190 |
|
|
191 |
|
|