/[projects]/dao/DaoAdresseService/src/main/java/dk/daoas/daoadresseservice/AliasGenerator.java
ViewVC logotype

Contents of /dao/DaoAdresseService/src/main/java/dk/daoas/daoadresseservice/AliasGenerator.java

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2813 - (show annotations) (download)
Thu Jan 14 13:28:08 2016 UTC (8 years, 4 months ago) by torben
File size: 8596 byte(s)
1 more alias
1 package dk.daoas.daoadresseservice;
2
3 import java.util.ArrayList;
4 import java.util.HashSet;
5 import java.util.Set;
6
7 public class AliasGenerator {
8
9 static class Replacement {
10 public String search;
11 public String replace;
12
13 public Replacement(String search, String replace) {
14 this.search = search;
15 this.replace = replace;
16 }
17 }
18
19 ArrayList<Replacement> replacements = new ArrayList<Replacement>();
20
21 public AliasGenerator() {
22 replacements.add( new Replacement("alle", "allé") );
23 replacements.add( new Replacement("allé", "alle") );
24
25 // forkortelser
26 replacements.add( new Replacement("dronningens", "dr") );
27 replacements.add( new Replacement("dr.", "dronningens") );
28 replacements.add( new Replacement("dr ", "dronningens") );
29
30 replacements.add( new Replacement("dronning", "dr") );
31 replacements.add( new Replacement("dr.", "dronning") );
32 replacements.add( new Replacement("dr ", "dronning") );
33
34 replacements.add( new Replacement("kng", "kongen") );
35 replacements.add( new Replacement("kongen", "kng") );
36
37 replacements.add( new Replacement("kvt", "kvarter") );
38 replacements.add( new Replacement("kvarter", "kvt") );
39
40 replacements.add( new Replacement("gl", "gammel") );
41 replacements.add( new Replacement("gammel", "gl") );
42
43 replacements.add( new Replacement("gl", "gamle") );
44 replacements.add( new Replacement("gamle", "gl") );
45
46 replacements.add( new Replacement("lille", "ll") );
47 replacements.add( new Replacement("ll ", "lille") );
48 replacements.add( new Replacement("ll.", "lille") );
49
50 replacements.add( new Replacement("store", "st") );
51 replacements.add( new Replacement("st ", "store") );
52 replacements.add( new Replacement("st.", "store") );
53
54 replacements.add( new Replacement("søndre", "sdr") );
55 replacements.add( new Replacement("sdr", "søndre") );
56 replacements.add( new Replacement("sønder", "sdr") );
57 replacements.add( new Replacement("sdr", "sønder") );
58
59
60 replacements.add( new Replacement("nørre", "nr") );
61 replacements.add( new Replacement("nr", "nørre") );
62
63 replacements.add( new Replacement("nordre", "ndr") );
64 replacements.add( new Replacement("ndr", "nordre") );
65
66
67 replacements.add( new Replacement("vestre", "vester") );
68 replacements.add( new Replacement("vester", "vestre") );
69
70 replacements.add( new Replacement("søndre", "sønder") );
71 replacements.add( new Replacement("sønder", "søndre") );
72
73 replacements.add( new Replacement("østre", "øster") );
74 replacements.add( new Replacement("øster", "østre") );
75
76 replacements.add( new Replacement("nordre", "nørre") );
77 replacements.add( new Replacement("nørre", "nordre") );
78
79 replacements.add( new Replacement("borgmester", "borgm") );
80 replacements.add( new Replacement("borgm", "borgmester") );
81
82
83 replacements.add( new Replacement("sankt", "skt") );
84 replacements.add( new Replacement("sankt", "sct") );
85 replacements.add( new Replacement("skt", "sankt") );
86
87 replacements.add( new Replacement("skt", "sct") );
88 replacements.add( new Replacement("sct", "skt") );
89
90
91
92 // fornavn forkortelser
93 replacements.add( new Replacement("john", "j") );
94 replacements.add( new Replacement("thomas", "th") );
95 replacements.add( new Replacement("thorvald", "th") );
96 replacements.add( new Replacement("frederik", "fr") );
97 replacements.add( new Replacement("frederiks", "fr") );
98
99
100 replacements.add( new Replacement("christian", "chr") );
101 replacements.add( new Replacement("christians", "chr") );
102 replacements.add( new Replacement("kristian", "kr") );
103 replacements.add( new Replacement("kristians", "kr") );
104
105 replacements.add( new Replacement("mylius", "myl") );
106 replacements.add( new Replacement("myl", "mylius") );
107
108 replacements.add( new Replacement("ludvig", "ludv") );
109 replacements.add( new Replacement("ludv", "ludvig") );
110
111
112 // alternative stavninger
113 replacements.add( new Replacement("peder", "peter") );
114 replacements.add( new Replacement("peter", "peder") );
115
116
117
118 // Romertal
119 replacements.add( new Replacement("1", "i") );
120 replacements.add( new Replacement("i", "1") );
121
122 replacements.add( new Replacement("2", "ii") );
123 replacements.add( new Replacement("ii", "2") );
124
125 replacements.add( new Replacement("3", "iii") );
126 replacements.add( new Replacement("iii", "3") );
127
128 replacements.add( new Replacement("4", "iv") );
129 replacements.add( new Replacement("iv", "4") );
130
131 replacements.add( new Replacement("5", "v") );
132 replacements.add( new Replacement("v", "5") );
133
134 replacements.add( new Replacement("6", "vi") );
135 replacements.add( new Replacement("vi", "6") );
136
137 replacements.add( new Replacement("7", "vii") );
138 replacements.add( new Replacement("vii", "7") );
139
140 replacements.add( new Replacement("8", "viii") );
141 replacements.add( new Replacement("viii", "8") );
142
143 replacements.add( new Replacement("9", "ix") );
144 replacements.add( new Replacement("ix", "9") );
145
146 replacements.add( new Replacement("10", "x") );
147 replacements.add( new Replacement("x", "10") );
148
149
150 //alternative måder at stave vej/gade/alle
151 replacements.add( new Replacement("vej", "ve") );
152 replacements.add( new Replacement("vej", "vj") );
153 replacements.add( new Replacement("vej", "v") );
154 replacements.add( new Replacement("vej", "vejen") );
155 replacements.add( new Replacement("vejen", "vej") );
156
157 replacements.add( new Replacement("v", "vej") );//Vi kan have vejnavne i DB der bare slutter på v istedet for vej
158
159 replacements.add( new Replacement("alle", "all") );
160 replacements.add( new Replacement("allé", "all") );
161 replacements.add( new Replacement("alle", "allú") ); //Fundet i logs.hentruteinfo
162 replacements.add( new Replacement("allé", "allú") );
163
164 replacements.add( new Replacement("gade", "gaed") ); //Fundet i logs.hentruteinfo
165 replacements.add( new Replacement("gade", "gde") );
166
167 replacements.add( new Replacement("plads", "pl") );
168 replacements.add( new Replacement("vænget", "vænge") );
169
170 replacements.add( new Replacement("boulevard", "blvd") );
171 replacements.add( new Replacement("blvd", "boulevard") );
172
173 replacements.add( new Replacement("boulevard", "boule") );
174 replacements.add( new Replacement("boule", "boulevard") );
175
176 replacements.add( new Replacement("kronborg", "krbg") ); //Krbg ladegårdsvej, 3000
177 replacements.add( new Replacement("krbg", "kronborg") );
178
179 System.out.println("AliasGenetator, loaded replacements: " + replacements.size() );
180
181 }
182
183
184
185 public Set<String> findVejAliaser(String vejnavn) {
186 vejnavn = vejnavn.toLowerCase();
187 HashSet<String> aliasSet = new HashSet<String>();
188 aliasSet.add(vejnavn);
189
190 for (Replacement repl : replacements) {
191 if (vejnavn.indexOf(repl.search) >= 0) {
192 aliasSet.add( vejnavn.replace(repl.search, repl.replace) );
193 }
194
195 }
196
197
198
199 // Opbyg æøå varianter over alle fundne aliaser
200
201 HashSet<String> variants = new HashSet<String>( aliasSet );//brug Copy-Constructor
202
203 for (String vVejnavn : variants) {
204 // danske tegn 1
205 aliasSet.add( vVejnavn.replace("æ", "ae") );
206 aliasSet.add( vVejnavn.replace("ø", "oe") );
207 aliasSet.add( vVejnavn.replace("å", "aa") );
208 aliasSet.add( vVejnavn.replace("ae", "æ") );
209 aliasSet.add( vVejnavn.replace("oe", "ø") );
210 aliasSet.add( vVejnavn.replace("aa", "å") );
211
212 //danske tegn 2
213 aliasSet.add( vVejnavn.replace("æ", "ae").replace("ø", "oe") );
214 aliasSet.add( vVejnavn.replace("æ", "ae").replace("å", "aa") );
215 aliasSet.add( vVejnavn.replace("ø", "oe").replace("å", "aa") );
216 aliasSet.add( vVejnavn.replace("ae", "æ").replace("oe","ø") );
217 aliasSet.add( vVejnavn.replace("ae", "æ").replace("aa","å") );
218 aliasSet.add( vVejnavn.replace("oe", "ø").replace("aa", "å") );
219
220 //danske tegn 3
221 aliasSet.add( vVejnavn.replace("æ", "ae").replace("ø", "oe").replace("å", "aa") );
222 aliasSet.add( vVejnavn.replace("ae", "æ").replace("oe", "ø").replace("aa", "å") );
223
224
225 //udenlandsketegn
226 aliasSet.add( vVejnavn.replace("u", "ü") );
227 aliasSet.add( vVejnavn.replace("ü", "u") );
228
229 aliasSet.add( vVejnavn.replace("ä", "æ") );
230 aliasSet.add( vVejnavn.replace("æ", "ä") );
231
232 aliasSet.add( vVejnavn.replace("ö", "ø") );
233 aliasSet.add( vVejnavn.replace("ø", "ö") );
234 }
235
236 return aliasSet;
237 }
238 }

  ViewVC Help
Powered by ViewVC 1.1.20