[Talk-de] RFC: Tags für Tags - warum so kompliziert?

Guenther Meyer d.s.e at sordidmusic.com
Mo Aug 25 14:36:33 UTC 2008


Am Montag 25 August 2008 schrieb Marcus Wolschon:
> Am 25.08.08 schrieb Sascha Silbe <sascha-ml-gis-osm-talk-de at silbe.org>:
> > On Mon, Aug 25, 2008 at 02:24:47PM +0200, Marcus Wolschon wrote:
> >> maxspeed(weight>=7.5t)(Mondfeuchte=grün)=60
> >> * ist trivial zu parsen,
> >
> > Nitpick: Das stimmt nicht, insbesondere in low-level-Sprachen ist das
> > alles andere als trivial. Man könnte allerdings
>
> Was bezeichnest du jetzt als "low-level"?
> PHP, Java. Python, C#,.. geht super.
> Sogar Shell-Script kann das ausreichend parsen regex und Funktionen)
> und daß hier jemand sowas in Assember parsen will glaub ich mal nicht,
>
> > Referenz-Implementationen für die gängigen Sprachen anbieten, d.h. ein
>
> Referenz-Implementierung um welche Frage mit Hilfe solch eines Ausdruckes
> zu beantworten? Halte ich für simplex Ausdruck-Parsen für übertrieben.
> Klar, kann ich dir für Java in 30min super dokumentiert und
> objekorientiert runtertippen.
> Dann weis jeder wie er's in seiner Sprache machen muss und hat etwas zum
> Vergleichen ob er's richtig gemacht hat.
>
> > Ich persönlich würde
> > - [] statt () benutzen
> > - Gruppierung per () erlauben
> > - wie von Bernd vorgeschlagen oder-Verknüpfungen erlauben (wobei ich da
> > Klartext ala "or" und "and" bevorzuge)
>
> gerne doch. Macht Vorschläge!
>

ok, gut ;-)

mein vorschlag zu benanntem beispiel:

> * Autos: Höchstgeschwindigkeit 80 km/h
> * LKW ab 7,5 Tonnen: Höchstgeschwindigkeit 60 km/h
> * LKW ab 12 Tonnen: Nur Anlieger frei
>

  limit.speedmax = "80"
  limit.speedmax[weight:7.5] = "60"
  limit.access[weight:12] = "access only"

mit der generellen definition, dass:
- geschwindigkeiten in km/h angegeben werden
- gewichtsangaben in tonnen angegeben werden
- das angegebene gewicht immer "groessergleich" mit einschliesst.

eine 'oder' verknüpfung sollte nicht noetig sein, das laesst sich als 
separates tag schreiben, ein beispiel:
  limit.access[weight:7.5] = no
  limit.access[height:3.5] = no

das wuerde bedeuten, dass fahrzeuge die schwerer als 7,5t oder hoeher als 3,5m 
sind, nicht reinfahren duerfen.

'und' verknüpfungen wuerde ich auch durch reines aneinanderreihen realisieren:
  limit.access[weight:3.5][height:2.8] = "access only"

das sollte sich recht einfach parsen lassen, und lesbar ist es auch...
 
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : signature.asc
Dateityp    : application/pgp-signature
Dateigröße  : 197 bytes
Beschreibung: This is a digitally signed message part.
URL         : <http://lists.openstreetmap.org/pipermail/talk-de/attachments/20080825/8cf29c6e/attachment.sig>


Mehr Informationen über die Mailingliste Talk-de