[opengeodb] Nochmal zu Prosa-Namen wie "Brandis bei Wurzen" (war: Inkonsistenzen der Download-Daten)
Martin Trautmann
traut at gmx.de
Fre Mar 28 19:50:01 CET 2008
Frank Glück wrote:
>> Es stehen durchaus verschiedene Methoden zur Verfügung, wie du dir die
>> Kurzformen ableiten kannst - z.B. indem du ab dem ersten
>> kleingeschriebenen Wort den Rest wegwirfst, ebenso alles nach einem
>> Komma, Schrägstrich oder Klammer.
>
> Demnach kann man ja auch davon ausgehen, dass der "Prosateil" wirklich immer
> an den offiziellen Namen anzuhängen ist und der umgekehrte Fall niemals
> vorkommt(?)
Nein, davon kannst du nicht ausgehen.
Diese Anleitung kannst du dazu verwenden, um den Name in einer ersten
Phase zusammenzustauchen - dann kannst du vergleichen, ob er bereits auf
den Sortiernamen abgebildet werden kann.
> Was spricht dann dagegen, die beiden Datentypen einfach auch
> getrennt voneinander vorzuhalten - dann soll sie doch derjenige für seine
> speziellen Zwecke wieder zusammenführen, der sie wirklich in dieser Form
> braucht.
Ich selbst verwende dafür drei getrennte Felder:
Name kurz
Name lang
Name sonstige
... wobei unter sonstige alle möglichen Schreibvarianten hinzugefügt
werden können.
>> Wie du schon entdeckt hast, steht in
>> 500100002 genau das zur Verfügung, was du brauchst. Den Zusatzaufwand
>> der Konvertierung kannst du entweder im Moment der Abfrage machen oder
>> dir vorab eine Rückkonvertierung ausdenken, die über den ASCII-Teil dir
>> den relevanten Teil der Kurzform zurückgibt.
>> Ebenso kannst du natürlich eine Wildcard-Suche verwenden, die dir alles
>> liefert, was mit Brandis beginnt.
>
> Nein, umgekehrt: man sollte nicht darauf angewiesen sein, sich über Skripte
> (womöglich noch über den redundanten Sortiernamen) mehr oder weniger
> aufwändig das wiederherstellen zu müssen, was die Datenbank auch im
> Rohformat liefern könnte.
Tja, irgendwo hört das Wunschkonzert auf, was derzeit angeboten wird.
Von daher hatte ich die Freiheit, das passend zu modellieren: Name
enthält die gesamte verfügbare Info, Sortiername enthält den typischen
Such- und Sortierbegriff - und die Suche erfolgt schneller, wenn ich den
Suchstring nach Sortier-Methodik aufbereite und direkt in der mit
ausgeschriebenen Umlauten und Grossbuchstaben passenden Schreibweise
suche, zuerst komplett passend, dann damit beginnend, dann als
Teilstring, erst dann komplett über alles.
> Ebenso, wie auch derjenige, der für seine
> spezielle Anwendung Sortiernamen benötigt, sich diese doch nach seinen
> eigenen Anforderungen, die ja weit auseinandergehen können, selbst erstellen
> könnte. Informationen und Beispiele dazu, wie er das zu Wege bringt, würden
> dann ins Wiki gehören. Und dass man diese in Form von SQL-Befehlen zur
> Verfügung stellen müsste, halte ich ebenso für falsch. Denn das hier ...
>
>> tr/a-zäöüáàâãåéèêëíìïïóòôõçñ/A-ZÄÖÜAAAAAEEEEIIIIOOOOCN/;
>> tr/ÀÁÂÃÅÈÉÊËÌÍÎÏÒÓÔÕÇÑ/AAAAEEEEIIIIOOOOCN/;
>> Ä -> AE
>> Ö -> OE
>> Ü -> UE
>> ß -> SS
>> SSS -> SS
>
> sollte mit so ziemlich jeder Skriptsprache recht einfach hinzubekommen sein,
> für viele Anwendungszwecke wohl sogar zur Laufzeit.
Sobald mir jemand die entsprechenden SQL-Befehle zur Verfügung stellt,
ist SORTNAME redundant und wird nicht mehr mitgeliefert.
Schönen Gruß
Martin