OSM-Strassenliste: Admin gesucht

Hallo

ich bin vor einiger Zeit auf den OSM-Strassenabgleich

http://osm.gt.owl.de/Strassenliste/

gestossen und möchte ihn gern für Luxemburg verwenden. Ein offizielle Strassenliste liegt vor und ich habe sie in das Wiki eingetragen.
Leider ist die Liste in Grossschreibung, so dass für den Abgleich umgewandelt werden muss. Als ich anfing, hatte ich mit dem Entwickler Kontakt, leider meldet er sich seit einigen Wochen nicht.

Weiss jemand, wie ich ihn erreiche bzw. ob ich selbst was an den Skripts ändern kann?

Ansonsten wäre die viele Arbeit zur Eintragung der Listen umsonst gewesen :frowning:

Gruss
Nils

Hallo Nils,

wie hast du denn probiert Florian zu erreichen?

Wäre ansonsten der SV Vergleich von Sven was für dich?
http://wiki.openstreetmap.org/wiki/Stra%C3%9Fenlisten

Hallo Nils

Nur Geduld. Der Autor ist ein Mapper wie du und ich. Und wir alle haben nicht immer Zeit.

Die Listen sind vorhanden http://osm.gt.owl.de/Strassenliste/wiki/ und werden ausgewertet.
Beispiel Echternach (Kanton Echternach):
Liste: http://osm.gt.owl.de/Strassenliste/wiki/Luxemburg/Echternach/Echternach
Auswertung: http://osm.gt.owl.de/Strassenliste/output/569741/

Jeder kann die Liste editieren (es ist schliesslich ein Wiki).
Am Ende jeder Liste findet man den Link dafür.

Das drängende Problem ist die Großschreibung der Straßennamen.
Keine Ahnung mit welchem Editor, das auf einfache Weise zu ändern geht.

Edbert (EvanE)

Hi,

an den Skript selbst kann m.W. nichts ändern.
Die Auswertung an sich funktioniert ja schon, z. B. Heinerscheid (http://osm.gt.owl.de/Strassenliste/output/1353133/ bzw. http://osm.gt.owl.de/Strassenliste/wiki/Luxemburg/Clervaux/Heinerscheid)).
Meinte schon bemerkt zu haben, dass entgegen der Doku eine “;” die Zeile komplett nicht angezeigt wird. Versuch mal die “; FISCHBACH (CLERVAUX)” rauszunehmen.
Bzgl. Klein-/Großschreibung:
Je nach Plattform die Du einsetzt: In Word kannst Du per Shift-F3 den markierten Bereich von Klein- auf Großschreibung umstellen, was Dir aber nicht so viel helfen wird,
da die Straßen scheinbar unterschiedlich geschrieben werden (rue du …), würde erst alles mal klein schreiben und ggf. noch ändern.

Ciao,
Frank

EDIT:
Ah, Edbert war schneller als ich :wink:

Ich habe mal ein kleines kwik’n’dirty awk-Skript drauf geworfen. Die Straßennamen sind sicher nicht perfekt und einige Änderungen bei der Groß- und Kleinschreibung nötig, aber die Restarbeit dürfte deutlich kleiner ausfallen, als wenn man das jetzt alles manuell umgetippt hätte. (Falls ich damit falsch liege und meine Änderung totaler Mist ist, einfach Version 1 wiederherstellen…)

EDIT: Bezog sich auf das Beispiel Echternach. Den Rest mache ich nicht… ich kann aber das Skript zur Verfügung stellen und ggf. noch anpassen.

EDIT: eine verbesserte Version des Skripts ist gerade über http://osm.gt.owl.de/Strassenliste/wiki/Luxemburg/Luxembourg/Contern getrampelt.

Hallo,

vielen Dank für die vielen Antworten!

Ich habe Florian versucht per Mail zu erreichen, vielleicht klappts ja noch …

Das die Daten bereits täglich verarbeitet werden, hab ich gesehen, das Problem ist, das “Nicht in OSM” keine Strasse enthält und “Nicht in der Liste” alle aus OSM. Grund ist m.E. die Gross-/ Kleinschreibung.

Die Idee, die Strassenliste umzuwandeln, ist erstmal ein guter Ansatz, leider müsste ich dann nochmal manuell durch alle Wiki Seiten der einzelnen Communen (116). Vielleicht nehme ich mir nochmal die Zeit…

Besser wäre sicher, beide Vergleichs-Seiten in Grossschreibung zu verwandeln, das gibt m.E. die aussagekräftigsten Ergebnisse. Aber das kann wohl nur der Skript-Autor.

Der Hinweis mit dem Semikolon ist interessant, ich habe in jeder Zeile eines (dainter steht - praktisch als Kommentar - der zugehörige Ort, um mehrfache Namen zuordnen zu können), weggelassen werden sie also nicht komplett (sonst würde im output nichts stehen). Allerdings fehlen einige, deren Name wohl zu lang ist (die Grenze muss irgendwo bei 35 Zeichen liegen…).

@Oli-Wan: Kannst Du das awk Skript kurz hier veröffentlichen? Ich muss das Ergebnis aber wieder manuell in die Seite einstellen, oder? Oder kann man die Seiten skriptgesteuert hochladen?

Gruss Nils

Hallo Nils,

mein kleines Skript findest Du unten. Es liest aus der Standardeingabe bzw. angegebenen Datei und schreibt in die Standardausgabe; d.h. mit diesem Skript allein bleibt Dir leider nichts anderes übrig, als das Hoch- und Runterladen manuell durchzuführen. Ganz so viel Arbeit ist das aber auch nicht: Wiki-Quellcode in eine Datei kopieren, als Input an awk verfüttern, den Output wieder in die Edit-Seite einfügen.
Oder vielleicht hat ja einer der Wiki-Spezialisten einen Tipp, wie sich das Runter- und Hochladen auch noch automatisieren läßt…?

Änderungen werden nur an Zeilen vorgenommen, die mit einem Stern beginnen - daher sollte alles außerhalb der Liste in Ruhe gelassen werden.
Das Skript betrachtet alle Buchstaben zwischen zwei Leerzeichen als ein Wort. Dessen erster Buchstabe wird immer groß geschrieben, alles andere klein. Bisher beherrscht das Skript folgende Ausnahmen:

  • bestimmte Wörter werden grundsätzlich klein geschrieben: rue, route, … (natürlich beliebig erweiterbar)

  • bei d’ oder l’ am Wortanfang wird der Buchstabe nach dem Apostroph groß geschrieben, das d bzw. l jedoch klein

  • nach einem Bindestrich folgt immer ein Großbuchstabe

Damit sollten die wichtigsten Fälle abgedeckt sein. Der Code ist so dokumentiert, daß kleinere Änderungen auch ohne awk-Kenntnisse möglich sein sollten. Bei größeren Umbauten helfe ich aber gerne weiter.
#!/usr/bin/awk -f

/^\*/ { # nur Zeilen bearbeiten, die mit "*" anfangen (Wiki)
    # erstmal _alles_ in Kleinbuchstaben
    $0 = tolower ($0)
    # jetzt jedes "Wort" einzeln anschauen (Schleife):
    for (i = 1; i <= NF; ++i) {
        # und den ersten Buchstaben groß schreiben, es sei denn,
        # das Wort ist rue, route, de, des, der, du oder la
        # (\< ... \> sorgt dafür, daß nur das _ganze Wort_ "gematcht" wird)
        if ($i !~ /\<(rue|route|de|des|der|du|la)\>/) {
            $i = toupper(substr($i, 1, 1)) substr($i, 2)
        }
        # Fehler: d'blabla wurde soeben zu D'blabla "korrigiert", das ist
        # aber natürlich falsch. Also korrigieren zu d'Blabla. Gleiches für l'.
        if ($i ~ /\<[DL]'/) {
            $i = tolower(substr($i,1,1)) "'" \
                toupper(substr($i, 3, 1)) substr ($i, 4)
        }
    }
    # hinter einem Bindestrich stets groß schreiben
    position = 1
    while (match(substr($0, position), "-")) {
        position += RSTART
        $0 = substr($0, 1, position-1) toupper(substr($0, position, 1)) \
            substr ($0, position+1)
    }
}

{
    # Ausgabe (alle Zeilen, egal ob mit "*" oder ohne)
    print
}

Hallo Nils

Falls es noch keiner gesagt hat: Herzlich willkommen im Forum

Der Grund für “Nicht in OSM (0 von 0)” sind wie von kellerma bereits geschrieben die Kommentare hinter den Namen. Kommentare (mit ‘;’ abgetrennt) dienen dazu Straßen, die aus irgendeinem Grund nicht in die Auswertung gehören, aus dieser Rubrik auszublenden. Sie werden bei der kompletten Übersicht jedoch berücksichtigt.

Von daher meine Empfehlung diese Kommentare zumindest für den Hauptort zu entfernen.

Nein, Umwandeln in Großschreibung ignoriert falsche Schreibweisen in den OSM-Daten oder der Straßenliste. Von daher sehe ich das nicht als eine sinnvolle Option.

Da du (oder auch andere) aus vielen Gründen sowieso diese Liste editieren musst, um zum Beispiel falsche Schreibweisen in OSM oder der Liste zu korrigieren (aus Echternach: “Ancien Chemin d’Osweiler” gegen “Ancien Chemin vers Osweiler”), sehe ich das manuelle Ändern nicht als großes Problem. Für Bonn (rund 2700 Straßen) haben wir zu zweit mehrere Wochen gebraucht, bis wir die Liste komplett hatten und alle Zweifelsfälle geklärt waren.

Ganz Luxemburg ist von der Menge her natürlich eine wesentlich größere Herausforderung.
Aber vielleicht gibt es ja Hilfe aus der Community. Ich könnte z.B. die anderen Orte im Kanton Echternach übernehmen. Ich müsste allerdings wissen, wie mit den Ortsteilnamen verfahren werden soll.

Das ist ja letztlich eine normale Webseite mit einem Text-Feld zur Eingabe.
Das könnte man sicher auch automatisieren (z.B. mit Perl).

Ob sich der Aufwand zur Erstellung eines Perl-Skriptes zur Fernsteuerung gegenüber dem manuellen Aufwand mit dem awk-Skript lohnt, hängt davon ab, wie gut jemand sich mit solchen Perl-Anwendungen auskennt.

Wie auch immer, bitte alle Änderungen mit einem kurzen Kommentar versehen, damit man nachvollziehen kann, was geändert wurde. In Bonn hat es sich bewährt, am Ende des Kommentars den Bearbeiter in Klammern anzugeben. So wird nachvollziehbar wer eine Änderung durchgeführt hat.

Edbert (EvanE)

Hallo Edbert,

vielen Dank für die Hilfestellung! Ich hab in der Gemeinde Echternach mal zusätzlich zu Deiner Korrektur die Kommentare für Echternach entfernt, aber für Lauterborn stehen lassen, um zu schauen, wie das Ergebnis aussieht.
Der Abgleich für Echternach ist jetzt sehr gut (ich meine den Abgleich, noch nicht das Ergebnis ;-), aber es gibt hier gleich einen Spezialfall, dessen Behandlung mir noch nicht ganz klar ist: die “route de Luxembourg” gibt es zweimal: einmal ohne Kommentar (in Echternach-Stadt) und einmal mit (in Lauterborn). In den jeweiligen Querprüfungen am Anfang ist offenbar die Lauterborner Strasse nicht drin, da sie ein Semikolon enthält (so wie Du es erläutert hast). Die Echternacher “route de Luxembourg” ist auch nicht drin, da sie ja in beiden Listen ist - so weit, so gut.

In der unteren Gegenüberstellung steht nun in einer Zeile “route de Luxembourg” und die Links nach Google und OSM verweisen auf die Echternacher Strasse. Darunter steht nur Lauterborn… was fange ich damit an?

Liege ich richtig, wenn ich alle mehrfachen Strassennamen mit Semikolon und Ort versehe und alle anderen ohne beides? Dann werden beide Strassen wohl nicht quergeprüft, tauchen aber in der Übersicht unten mit ihrem jeweiligen Ortsnamen auf, richtig?

Das wäre vielleicht ein Lösung… ich frage deswegen so detailliert, weil ich es genau im Wiki erläutern möchte, damit die anderen Mapper mithelfen, die Listen zu korrigieren…

Ich könnte dann in unserem Beispiel mal folgendes machen: Auch den Kommentar Lauterborn entfernen und nur für die beiden “route de Luxembourg” den Ort als Kommentar ergänzen.

Übrigens: Läuft der Abgleich 2x täglich?

Grüsse
Nils

Hi,

mir nicht bekannt, dass er 2x läuft. Inzwischen dauert die Auswertung (wenn man den Zahlen trauen darf) von 03:00 bis 10:30, also 7,5 Stunden.

Ciao,
Frank

Hallo Nils

Ich habe an der Liste bisher nichts geändert. Ich glaube es war Oli-Wan, der so freundlich war.
Es gibt etliche Einträge, wo die Schreibweise nicht übereinstimmt. Die tauchen dann in beiden Kategorien auf. Das kann man nur mit Ortskenntnis anpassen. Damit verschwinden dann gleich zwei Fehlermeldungen und eine Zeile in der Komplettliste.

Die Sache mit den doppelten Straßennamen ist ein Problem.
Ich glaube, dass da nur der erste Eintrag ausgewertet wird. Aber die Frage kann dir wahrscheinlich nur Florian selber beantworten. Die Reihenfolge scheint für die Komplettliste jedoch keine Bedeutung zu haben.

Habe gerade mal mit Potlatch2 nachgesehen. Außerhalb von Echternach (Stadt) hat die N11 in den OSM-Daten keinen Namen. Von daher gibt es auch keine Verweise nach Lauterborn.

Die Zeilen mit Einrückungen sind die Kommentare. Für die Anzeige in der Komplettliste wird wohl der letzte Eintrag verwendet.

Doppelte Straßennamen könntest du beide mit Kommentar versehen. Ich weis allerdings nicht ob die Auswertung das berücksichtigt. Falls ja siehst du eventuell den Unterschied, eventuell auch nicht. Die Auswertung weis allerdings nicht, was Lauterborn ist.

Soweit ich weis läuft der Abgleich einmal täglich. Allerdings wird eventuell ein neuer außerplanmäßiger Abgleich gestartet, wenn die Straßenliste verändert wurde. Das war mal im Gespräch, wobei ich nicht weis ob das realisert wurde und ob es (wenn ja) nach einen Probebetrieb beibehalten wurde.

Edbert (EvanE)

Doch, scheint so zu sein. Als ich Echternach und Contern geändert habe, waren die geänderten Straßennamen wenige Minuten später im Abgleich berücksichtigt. Ein vorbildlicher Service :slight_smile:

Das musste ich gleich mal für Nürnberg ausprobieren. Und wirklich, nach 18 min gab es eine neue Liste :slight_smile:

Ciao,
Frank