[Talk-de] Semikolon als Trenner (war Re: Paketannahmestellen)

Guenther Meyer d.s.e at sordidmusic.com
Di Nov 3 07:27:09 UTC 2009


Am Dienstag 03 November 2009 00:49:39 schrieb Tobias Knerr:
> Guenther Meyer schrieb:
> > werkzeuge und software koennen und werden angepasst werden.
> 
> Deshalb schreibe ich ja:
> >> Das ist also kein Problem lediglich der aktuellen
> >> Anwendungen, sondern eine konzeptionelle Frage.
> 
> Denn diese pauschale Aussage hier
> 
> > fuer manche reicht eine "dumme" software, fuer manche brauchts etwas
> > mehr. das ist jetzt aber auch schon so...
> 
> ist zwar nicht falsch - der entscheidende Punkt ist aber: Um mehrwertige
> Attribute handhaben zu können, bräuchte man für manche Aufgaben, wo
> jetzt noch "dumme" Software reicht, "intelligente" Software. Software
> also, die zwischen Freitextattributen, mehrwertigen Attributen und
> eventuellen Sonderfällen (opening_hours?) unterscheidet
wenn man die daten in osm einigermassen komplett nutzen und auswerten will, 
braucht man das sowieso.
osm ist nunmal ein wust an verschiedenen herangehensweisen.
so eine spielwiese ist anfangs schoen und gut, doch irgendwann wird jeder 
verstehen, dass man mit eindeutigen tags letztendlich schneller und einfacher 
zum ziel kommt. und das nicht nur als entwickler, sondern auch als mapper - 
grade als einsteiger.

> und dafür auf
> eine - nicht existierende - verbindliche Tag-Definitionsbasis angewiesen
> ist.
> 
um software effektiv schreiben zu koennen, braucht es nunmal saubere und 
eindeutige definitionen. ich bin nicht der einzige hier, der nach sowas 
schreit.

> > ich sehe es als vereinfachung.
> > man fasst zusammen, was zusammen gehoert.
> >
> > ein beispiel:
> >
> >   amenity = recycling
> >   recycling = batteries;glass;paper
> >
> > ich lese das "haupttag" amenity, und habe meine grobe einordnung.
> > ich lese das zweite tag, und habe alles, was ich an klassifizierung
> > brauche. das reicht z.B. um ein icon zu zeichnen, oder eine Suchfunktion
> > zu bedienen. Weitere Tags brauch ich mir gar nicht anschauen.
> 
> Inwiefern bedeutet das Ansehen der Werte von 3 Tags, die bereits hübsch
> getrennt vorliegen, eine Erleichterung gegenüber dem Ansehen von 3
> Wert-Teilen eines Tags, dessen Wert hierzu erst noch zerlegt werden muss?
> 
EINE zeichenfolge einzulesen und an einem trennzeichen aufzutrennen ist weit 
weniger aufwaendig, als eine unbekannte zahl von mehreren tags sowohl auf 
key-, als auch auf value-seite auszuwerten.

> > wenn das ganze dagegen folgendermassen getaggt ist:
> >
> >   amenity = recycling
> >   recycling:batteries = yes
> >   recycling:glass = yes
> >   recycling:paper = yes
> >   recycling:cars = no
> >
> > ist das wesentlich aufwendiger zu verarbeiten,
> 
> Für welche Zwecke?
> 
in meinem konkreten fall geht es in erster linie darum, pois zu finden und 
darzustellen.

> Bei den Beispielen, die mir so einfallen, kann ich da keinen
> Zusatzaufwand erkennen. Einfacher Fall: Ich will wissen, ob ein Objekt
> eine Recyclingstelle für (unter anderem) Glas ist.
> 
ok, nehmen wir diese beispiel, erst mal den einfachsten fall (das 
amenity=recycling lass ich mal weg, das ist ja immer gleich):

meine methode:
  recycling = glass

1. key "recycling" suchen
2. (value aufsplitten, falls liste)
2. wenn gefunden, falls value "glass" enthaelt -> ende.


deine methode:
  recycling:glass = yes

1. key mit anfang "recycling" suchen
2. wenn gefunden, key am doppelpunkt trennen
3. zweite haelfte des keys auf "glass" pruefen, falls nein -> weiter bei 1.
4. enthaelt wert "yes" -> ende.
5. sonst weiter bei 1. bis gefunden oder ende der tags

bei pois mit mehreren werten, bleibe ich innerhalb meines value-arrays, 
waehrend du mehrere key/value-paare parsen musst.

auf mapper-seite ist es auch einfacher, weil man wesentlich weniger tippen 
muss.


> Pseudocode yes/no:
> 
> wenn objekt.wertVon("amenity") ist "recycling"
>      und objekt.wertVon("recycling:glass") ist "yes"
> dann ...
> 
> Pseudocode Semikolon:
> 
> wenn objekt.wertVon("amenity") ist "recycling"
>      und objekt.wertVon("recycling").trenneAn("[whitespace]*;")
>                   .enthält("glass")
> dann ...
> 
> Sieht ähnlich aus. Wenn überhaupt ist die Notwendigkeit der Trennung des
> Wertes noch ein zusätzlicher Aufwand.
> 
bei nur einem wert gibt sich das nicht viel. wenn's mehrere werden machts 
einen unterschied.

> > ausserdem ist es kein guter
> > Stil, alle moeglichen Werte grundsaetzlich auf die Schluesselseite zu
> > verlegen.
> 
> Liest sich für mich ein wenig so, als würdest du als gegeben
> voraussetzen, dass es sich hierbei um einen Wert handelt. Wenn man diese
> Ansicht nicht teilt, dann liegt aber auch keine "Verlegung" auf die
> Schlüsselseite vor .
> 
das ist die osm-definiton: key=value
das einzige, worauf man sich wirklich verlassen kann hier... ;-)

> Diese etwas längere Mail hier soll jetzt nicht so wirken, als wäre ich
> entschieden gegen mehrwertige Attribute mit Semikolon. Ich sehe nur
> immer noch nicht wirklich einen Vorteil. Vielleicht hast du ja noch ein
> konkretes Beispiel, das mir hilft, deinen Standpunkt besser zu
> verstehen? Das mit dem "Stil" ist halt so eine eher subjektive Sache...
> 
siehe oben.
klar, worauf ich hinaus will?




Mehr Informationen über die Mailingliste Talk-de