On 25/07/2008 22:11, Martin Hoffmann wrote: > Frederik Ramm wrote: >> If you want to have shortened names in the database, then I would put >> them in there explicitly, like so: >> >> name=Viale don Luigi Sturzo >> name_short_1=V.le don Luigi Storzo >> name_short_2=V.le Luigi Sturzo >> name_short_3=V.le L.Sturzo >> >> But generally I believe the renderer should just have proper rules >> about shortening and use them - so you would only employ above scheme >> for exceptions that the renderer cannot derive automatically. > > Not sure whether you can find an algorithm that actually manages to find > the correct short versions for all possible languages and places. You > can't just shorten, say, Viale to V.le on a general basis as it may > appear as a main part of a name. The shortening is only possibly if (a) > you are in Italy or the Italian part of Switzerland and (b) it appears > as the first word. It gets even trickier, if you want to shorten or even > leave out first or middle names like Luigi in the above example. Is the > first of two names a first name or rather the first part of a double > name? [snip]
There's two separate cases (1) recognizing that variations are equivalent so that searching works. I think I've demonstrated that that can work pretty well, without needing to know the language - because 9a) it doesn't matter if you get the odd extra hit on occasion, (bn) searches can be context sensitive, and (c) you don't get to see and people don't search for the silly variations that the database sometimes holds because of different languages. (2) Drawing shorter variants when rendering. You only really need one variation there, probably the shortest one. In principle it ought to be possible to determine the country an object is in, even though it is quite hard at present. I think a lot of things would benefit from this ability: nationally-styled rendering rules, deciding which way roundabouts go, name renderings, validation, improved searching context etc. David _______________________________________________ talk mailing list talk@openstreetmap.org http://lists.openstreetmap.org/cgi-bin/mailman/listinfo/talk