--- mixed-index/src/uk/me/parabola/imgfmt/app/mdr/Mdr7.java Tue Dec 09 22:02:56 2014 +++ mixed-index/src/uk/me/parabola/imgfmt/app/mdr/Mdr7.java Thu Dec 11 22:25:37 2014 @@ -51,10 +51,11 @@ st.setMapIndex(mapId); st.setLabelOffset(lblOffset); st.setStringOffset(strOff); st.setName(name); st.setCity(mdrCity); + st.setNameOffset(0); allStreets.add(st); // XXX Quick test... //int nameOffset = name.indexOf(' '); //if (nameOffset > 0) { @@ -66,18 +67,25 @@ // st.setCity(mdrCity); // st.setNameOffset(nameOffset+1); // allStreets.add(st); //} - boolean start = true; + int nameOffset = 0; + for (; nameOffset < name.length() -2; nameOffset++) { + if (!Character.isWhitespace(name.charAt(nameOffset))) + break; + } - for (int nameOffset = 0; nameOffset < name.length(); nameOffset++) { + boolean start = true; + for (; nameOffset < name.length() -2; nameOffset++) { char c = name.charAt(nameOffset); if (Character.isWhitespace(c)) { start = true; continue; } + if (c == '(') + break; if (!Character.isLetterOrDigit(c)) { start = true; continue; } @@ -87,19 +95,14 @@ st.setLabelOffset(lblOffset); st.setStringOffset(strOff); st.setName(name); st.setCity(mdrCity); st.setNameOffset(nameOffset); - if (st.getPartialName().startsWith("CALLE")) - continue; allStreets.add(st); - String part = st.getPartialName(); - //System.out.println("adding: " + part); start = false; } } - } /** * Since we change the number of records by removing some after sorting, * we sort and de-duplicate here. @@ -108,12 +111,11 @@ //createPartials(); Sort sort = getConfig().getSort(); List> sortedStreets = new ArrayList>(allStreets.size()); for (Mdr7Record m : allStreets) { - SortKey sortKey = sort.createSortKey(m, m.getPartialName(), - m.getMapIndex()); + SortKey sortKey = sort.createSortKey(m, m.getPartialName(), m.getMapIndex()); sortedStreets.add(sortKey); } Collections.sort(sortedStreets); // De-duplicate the street names so that there is only one entry