--- dao/DaoAdresseService/src/dk/daoas/daoadresseservice/AdressSearch.java 2015/02/27 10:19:15 2397 +++ dao/DaoAdresseService/src/dk/daoas/daoadresseservice/AdressSearch.java 2015/02/28 16:14:55 2409 @@ -37,8 +37,14 @@ ServiceConfig config; + StreetnameHelper googleHelper; + StreetnameHelper osmHelper; + public AdressSearch(ServiceConfig config) { this.config = config; + + googleHelper = new GoogleStreetnameHelper( config ); + osmHelper = new OSMStreetnameHelper( config ); } @@ -95,21 +101,13 @@ // Brug OpenStreetMap før vi prøver google // For google har en request limit, det har OSM ikke! if ( gadeident == null) { - if (config.useOpenStreetMaps) { - result.osmVej = GeocodeHelper.openstreetmapHelper(config, postnr, result.splitResult.vej ); - result.osm = true; - - gadeident = helperWrapper(result.osmVej, postnrVeje, helperSearchKey); - } + String vej = osmHelper.proposeStreetName(result, postnr, result.splitResult.vej); + gadeident = helperWrapper(vej, postnrVeje, helperSearchKey); } if ( gadeident == null) { - if (config.useGoogle) { - result.googleVej = GeocodeHelper.googleHelper(config, postnr, result.splitResult.vej ); - result.google = true; - - gadeident = helperWrapper(result.googleVej, postnrVeje, helperSearchKey); - } + String vej = googleHelper.proposeStreetName(result, postnr, result.splitResult.vej); + gadeident = helperWrapper(vej, postnrVeje, helperSearchKey); } @@ -129,6 +127,10 @@ } + //Kunne evt klares med Iterables.get fra Guava/Collections + Address firstAddress = gade.values().iterator().next(); + result.vej = firstAddress.vejnavn; + String husnrSearch = "" + result.splitResult.husnr + result.splitResult.litra; Address addr = gade.get(husnrSearch); @@ -518,6 +520,44 @@ aliasSet.add(vejnavn.replace("sct", "skt") ); + // fornavn forkortelser + aliasSet.add(vejnavn.replace("john", "j") ); + aliasSet.add(vejnavn.replace("thomas", "th") ); + aliasSet.add(vejnavn.replace("thorvald", "th") ); + + + // Romertal + aliasSet.add(vejnavn.replace("1", "i") ); + aliasSet.add(vejnavn.replace("i", "1") ); + + aliasSet.add(vejnavn.replace("2", "ii") ); + aliasSet.add(vejnavn.replace("ii", "2") ); + + aliasSet.add(vejnavn.replace("3", "iii") ); + aliasSet.add(vejnavn.replace("iii", "3") ); + + aliasSet.add(vejnavn.replace("4", "iv") ); + aliasSet.add(vejnavn.replace("iv", "4") ); + + aliasSet.add(vejnavn.replace("5", "v") ); + aliasSet.add(vejnavn.replace("v", "5") ); + + aliasSet.add(vejnavn.replace("6", "vi") ); + aliasSet.add(vejnavn.replace("vi", "6") ); + + aliasSet.add(vejnavn.replace("7", "vii") ); + aliasSet.add(vejnavn.replace("vii", "7") ); + + aliasSet.add(vejnavn.replace("8", "viii") ); + aliasSet.add(vejnavn.replace("viii", "8") ); + + aliasSet.add(vejnavn.replace("9", "ix") ); + aliasSet.add(vejnavn.replace("ix", "9") ); + + aliasSet.add(vejnavn.replace("10", "x") ); + aliasSet.add(vejnavn.replace("x", "10") ); + + //alternative måder at stave vej/gade/alle aliasSet.add(vejnavn.replace("vej", "ve") ); aliasSet.add(vejnavn.replace("vej", "vj") ); @@ -532,6 +572,9 @@ aliasSet.add(vejnavn.replace("gade", "gaed") ); //Fundet i logs.hentruteinfo + aliasSet.add(vejnavn.replace("plads", "pl") ); + aliasSet.add(vejnavn.replace("vænget", "vænge") ); + // Opbyg æøå varianter over alle fundne aliaser