82 |
gadeident = helperCache.get(helperSearchKey); |
gadeident = helperCache.get(helperSearchKey); |
83 |
} |
} |
84 |
|
|
85 |
|
if (gadeident == null) { |
86 |
|
String best = getbestLevenshteinDistance(vasketVejnavn, postnrVeje); |
87 |
|
if (best != null) { |
88 |
|
result.levenshtein = true; |
89 |
|
gadeident = postnrVeje.get(best); |
90 |
|
} |
91 |
|
} |
92 |
|
|
93 |
|
|
94 |
// Brug OpenStreetMap før vi prøver google |
// Brug OpenStreetMap før vi prøver google |
95 |
// For google har en request limit, det har OSM ikke! |
// For google har en request limit, det har OSM ikke! |
348 |
} |
} |
349 |
|
|
350 |
|
|
351 |
|
private String getbestLevenshteinDistance(String vasketVejnavn, Map<String,Long> postnrVeje) { |
352 |
|
for(String vej : postnrVeje.keySet()) { |
353 |
|
if ( StringUtils.getLevenshteinDistance(vasketVejnavn, vej) == 1) { |
354 |
|
System.out.println("Levenstein: " + vasketVejnavn + "->" + vej); |
355 |
|
return vej; |
356 |
|
} |
357 |
|
} |
358 |
|
|
359 |
|
return null; |
360 |
|
} |
361 |
|
|
362 |
private String calculateExtendedDaoRoute(ExtendedBean eb, Address orgAddress, Address targetAddress) { |
private String calculateExtendedDaoRoute(ExtendedBean eb, Address orgAddress, Address targetAddress) { |
363 |
|
|
364 |
// /////////////////////////////////////////////////////////////////// |
// /////////////////////////////////////////////////////////////////// |
472 |
//alternative måder at stave vej/gade/alle |
//alternative måder at stave vej/gade/alle |
473 |
aliasSet.add(vejnavn.replace("vej", "ve") ); |
aliasSet.add(vejnavn.replace("vej", "ve") ); |
474 |
aliasSet.add(vejnavn.replace("vej", "vj") ); |
aliasSet.add(vejnavn.replace("vej", "vj") ); |
475 |
|
aliasSet.add(vejnavn.replace("vej", "v") ); |
476 |
|
|
477 |
aliasSet.add(vejnavn.replace("alle", "all") ); |
aliasSet.add(vejnavn.replace("alle", "all") ); |
478 |
aliasSet.add(vejnavn.replace("allé", "all") ); |
aliasSet.add(vejnavn.replace("allé", "all") ); |