x

BRouter Profil Syntax


  1. BRouter Profil Syntax · abrensch (Gast) · 01.03.2015 13:49 · [flux]

    GUFSZ wrote:

    abrensch wrote:

    GUFSZ wrote:

    highway=primary|secondary|tertiary|primary_link|secondary_link|tertiary_link

    Das ist eigentlich keine schlechte Syntax, um ver-oderte Lookup-Matches in die Profile zu schreiben. Ich hab's in den Parser eingebaut.

    Wenn es dir um Nutzbarkeit geht, hätte ich da einen Vorschlag für dich. Ich habe mal vor mehr als 30 Jahren an irgendwelchen Commodorerechnern ein wenig Basic gelernt. Seitdem bin ich bei jeder Programmiersprache auf if und else gestoßen. Du arbeitest mit switch. Das war eigentlich das erste Mal, dass ich fragen musste, was bedeutet diese Syntax. Langer Rede kurzer Sinn, vielleicht wird die Personalisierung für mehr zugänglich, wenn Du auf if und else umstellen würdest. Oder überlege dir, wie selbsterschließend deine Syntax für jemanden ist, der geringe Kenntnisse bis gar keine von Programmiersprachen hat, aber einigermaßen logisch denken kann.

    Ich mach dazu einen eigenen Thread auf, weil's im Ursprungsthread off-topic ist.

    Vielen Dank für die Anregung, ich hab' sie aufgegriffen, "if then else" eingebaut und noch mehr "syntactic sugar" und ich glaube tatsächlich, dass man es so besser lesen kann.

    In Summe sind die Erweiterungen jetzt:
    - Kurschreibweise für ve-oderte Lookup-Matches: highway=primary|primary_link
    - "if <bedingung> then <true-expression> else <false-expression>" alternativ zu "switch <bedingung> <true-expression> <false-expression>"
    - optionale Klammern um jeden (zusammengesetzten) Ausdruck
    - "=" Zeichen beim assign-operator: "assign <var-name> = <expression>
    - true und false als logische Konstanten

    Das trekking-Profil auf Github habe ich entsprechend umgestellt: https://github.com/abrensch/brouter/blo … ekking.brf

    Was ich dabei gemerkt habe ist, dass man eigentlich JEDEN logischen Ausdruck auch als "else if" Konstrukt schreiben kann, und bis auf paar wenige Stellen, wo das sperrig wäre, hab' ich's umformuliert.

    D.h. die polnische Notation, also das eigentlich schwer zu verdauende an dieser Syntax, ist zwar nach wie vor das Grundprinzip, aber man sieht sie fast kaum noch. In der nächsten Version von BRouter wird das dann so drin sein, und ich hoffe tatsächlich, dass so die Einstiegshürde sinkt und ein grösserer Kreis sich da ran traut, solche Profile anzupassen (vielleicht auch Rollstuhlfahrer?)


    • Re: BRouter Profil Syntax · abrensch (Gast) · 18.03.2015 19:21 · [flux]

      GUFSZ wrote:

      abrensch wrote:

      PaschyS wrote:

      Jetzt ist die Frage, wie kann man so eine App realisieren? Auf was muss ich achten und wie fange ich am besten mit kleinen Schritten an? Openstreetmap und der Aufbau sind mir neu und man wird erschlagen von vielen Infos.

      Mit BRouter geht das. Einstieg hier: http://brouter.de/brouter/

      Oder auch das Vortrags-Video von der FossGis-Konferenz: https://youtu.be/Eba4fcYI4h4?list=PLTli … Uzh_0v6Z6T

      So siehst Du aus. Ich war verblüfft.

      Zu diesen Kontraktions-Hierachie die du im Nebenbei erwähnst, habe ich zwar etwas gefunden, aber mit mathematischen Formeln, vor denen ich versage.

      Gibt es irgendwo eine leichter verständliche Erklärung?

      Die neue Syntax ist aber noch nicht implementiert, weil googleplay meint immer noch 28.12.2014. Falls die Synatax mit dem if auf dem Mist meiner Anmerkungen gewachsen ist, ich fühle mich geehrt und danke.

      Ich warte dann schon mal auf die Suchkorridore. (Treuherzig schauend.)

      Irgendwo bist Du ein Meister im Bereich Off-Topic, ich antworte also mal in diesem letzten Off-Topic-Spinoff-Thread...

      ja, mit der Syntax waren Deine Anmerkungen der Trigger und nein, die Version 1.2, wo das drin ist, die gibts noch nicht.
      BRouter-Web ist aber diesbezüglich schon aktualisiert.

      Mit dem Aussehen, klar, da haben die Masken-Bildner alles gegeben um mich wie Mitte vierzig aussehen zu lassen, dachte, das wirkt seriöser, als wenn da ein zwanzig-jähriger Leistungssportler steht..

      Einführung in Pfadsuche hatte ich mal eine deutschsprachige Diplomarbeit verlinkt, da sind auch Kontraktions-Hierarchien erklärt, ganz anschaulich, ob richtig weiss ich aber nicht: http://kola.opus.hbz-nrw.de/volltexte/2 … thesis.pdf


    • Re: BRouter Profil Syntax · GUFSZ (Gast) · 18.03.2015 21:28 · [flux]

      abrensch wrote:

      Einführung in Pfadsuche hatte ich mal eine deutschsprachige Diplomarbeit verlinkt, da sind auch Kontraktions-Hierarchien erklärt, ganz anschaulich, ob richtig weiss ich aber nicht: http://kola.opus.hbz-nrw.de/volltexte/2 … thesis.pdf

      Danke.

      Also wie es die Verteilung der Knotennummerierung entstehen, habe ich nicht wirklich verstanden.

      Es scheint sich um eine Ausdünnung des Wegenetzes zu handeln.

      Also wenn die Wege, die von einem Punkt ausgehen, auf Punkte treffen, zwischen den keine direkte Verbindung besteht, dann wird ein Weg zwischen den eigentlich nicht verbundenen Punkten gebildet. Der Weg enthält die Summe der Kosten der Wege, die die zwei Punkte über den anderen Punkt verbinden.

      Jetzt bin ich mir nicht sicher, ob dass gewünschte Ergebnis ist oder bei deinem Beispiel auf Seite 38 so aussieht, dass das rauskommen soll.

      Wenn es zwischen zwei Punkten mehrere Verbindungen gibt, die über nur einen weiteren Punkt laufen und zwischen den Punkten es keine direkte Verbindung gibt, dann wird die billigste Weg zwischen den beiden Punkten herausgefunden.

      Wenn jetzt die Nummern bei deinem Beispiel auf S. 38 anders angeordnet wären, käme da immer z.B für den Weg zwischen 3 und 6 der Wert 3 raus oder könnte da auch mal die vier rauskommen.

      Was würde eigentlich beim fünften Schritt passieren, wenn die Verbindung zwischen 8 und 7 größer als vier wäre?