Blitzer erfassen; muss es eine Relation sein?

Im einem anderen thread kam das Thema OT zum Zuge: http://forum.openstreetmap.org/viewtopic.php?pid=304648#p304648
Ich habe dann da eine Spontanidee gepostet, die aber nicht weiter beachtet wurde, was ja auch im Sinne einer themenbezogenen Diskussion ist. Deshalb steige ich hier neu in das Thema ein und wiederhole meine Idee von dort.
Ich schrieb:


Eine Idee, um die “Relationskacke” zu vermeiden:
Wie Ampeln werden Blitzer grundsätzlich als node auf den überwachten way gesetzt (und nicht daneben, wo das Gerät steht)
Zusätzliche keys könnten sein:
speed_camera:forward misst in Richtung des ways, speed_camera:backward die Gegenrichtung; speed_camera=both misst beide Richtungen.
Mögliche values für diese keys:
frontside misst den in Richtung auf den Blitzer zufahrenden Verkehr, backside misst den von ihm wegfahrenden Missetäter, both misst beides.

Ein “speed_camera:forward=frontside” würde somit den in Richtung des ways fahrenden Verkehr blitzen, wenn er auf den Blitzer zufährt.

speed_camera:type=* könnte dann noch die Art der Messung erfassen.

no relation=no problem
Erste Meinungen?..

Finde ich gut. Wir mappen zwar die Realität, aber eine Karte ist immer auch eine Vereinfachung der Realität. Bei einem Verkehrsschild zur Geschwindigkeitbegrenzeung wird auch meist nicht das Schild selt gemappt, sondern es wird ein maxspeed an den Way geheftet. Daher finde ich es analog auch richtig für einen Blitzer einen Node am Way zu erstellen, statt daneben und dies dann in Beziehung (um das Wort Relation zu vermeiden) zum Way zu setzen, zwecks Richtungsangabe.

Gruß
unixasket

An und für sich wird ja die Realität getaggt, somit “sollte” der Blitzer auch neben die Strasse gesetzt werden… eigentlich.
Auch wenn ich dieses Taggingschema einigermassen gut finde, bin ich dennoch grundsätzlich für Relationen. Schliesslich kann man in einer enforcement-Relation mehr Infos unterbringen als in einem Node.
Und z.b. bei einer Abschnittskontrolle (was bereits in x Ländern im Einsatz ist und zukünftig immer häufiger anzutreffen sein wird) bringt ein Node nichts, das müsste man dann schon an den Way setzen. Aber: Problem hier ist dann aber wieder, wenn eine Abschnittskontrolle über mehrere Ways (Beispiel ein Teil hat 2 Lanes, der andere Teil hat 3 Lanes) stattfindet. Wenn die maxspeed-Sachen dann an den Ways dran ist, ist es dann doch sehr schwierig auszuwerten, ob da nun 2 verschiedene Abschnittskontrollen sind, oder nur eine Kontrolle. Bei einer Relation ist dieses Problem nicht vorhanden.

Nun ja, die Wiki sieht ja hier http://wiki.openstreetmap.org/wiki/DE:Relation:enforcement#Kompatibilit.C3.A4t_zum_.C3.A4lteren_Verfahren weiterhin die einfache Erfassung von speed_camera als node vor. Mir geht es darum, soweit wie möglich auf eine enforcement-relation zu verzichten. Sicher wird es Fälle geben, bei denen dies nicht möfglich sein wird, aber nach pareto ( http://de.wikipedia.org/wiki/Paretoprinzip ) dürfte wohl für die Masse der Blitzer die vereinfachte Erfassung als node (edit: oder way für Abschnittskontrollen) ausreichen und somit dem Normal-Mapper entgegenkommen.

Soooo kompliziert finde ich die enforcement-Relation nicht. Ich bin also dafür das jetzige Schema beizubehalten und nicht noch
ein drittes einzuführen.

Chris

ah o.k., wenn es nur um die “einfache Erfassung” geht, kann ich mich sehr gut mit diesem Taggingschema anfreunden. Ich hatte es so aufgefasst, dass es die Relationen komplett ersetzen sollte, was mir aber nicht passen würde, da ich selber doch weiterhin die Blitzer als Relationen erfassen möchte (sofern ich genaueres weiss über den Blitzer).

Ich sehe nur das Problem, wenn Mapper1 einen Blitzer als Node auf dem Way setzt und Mapper2 anschliessend es ändert auf einen Blitzer neben der Strasse mit Relation…
Jetzt gerade ist es ja so, dass bei beiden Varianten die Realität gemappt wird, also ein Blitzer-Node neben der Strasse. Wenn dann aber plötzlich bei einer Variante (einfaches Tagging) der Blitzer auf der Strasse getaggt wird und bei der anderen Variante (Relation) der Blitzer neben der Strasse (wie es in der Realität auch aussieht), könnte es dann zu Editwars führen (mit Revert, Änderung, Revert, Änderung) und dann mit riesigem Rumgeheule in den Foren und MLs…

sehe ich auch so. die enforcement-Relationen sind ja wirklich einfach handzuhaben.

Fred,

das ist aber schön, dass das so einfach ist. Machst mir mal grad eine Overpass-API-Abfrage für alle Blitzer in Deutschland?

LG,

-moenk


www.overpass-api.de/api/interpreter?data=[out:json];relation[enforcement="maxspeed"](47.7,13,47.9,13.1);out;

Bounding box für D bitte selber anpassen…

XAPI-Nachtrag:


http://overpass-api.de/api/xapi?relation[enforcement=maxspeed][bbox=13,47.7,13.1,47.9][@meta]

Moin,

btw: Vielleicht hat noch jemand sachdienliche Hinweise zu meinem kleinen SQL-Dings mit man aus einer PostGIS-Datenbank im Osmosis-Schema eine Enforcement-Tabelle erstellen kann?
https://github.com/moenk/osmosis-layers/blob/master/enforcement.sql
Funktioniert soweit ganz gut. Wäre das wohl ok wenn man nun überall das fehlendende Tag “highway=speed_camera” ergänzt?

LG,

-moenk

Thomas,

haste das mal ausprobiert? Den XAPI-Kram lassen wir mal besser, den wollen die Overpass-Leute eher ungern weil er Ressourcen frisst, bleiben wir bei dem QL-Ding. Ich kriege dann zwar die Relationen, aber keine Liste mit Koordinaten der Devices, wie man sie dann für die POI-Datei brauchen würde.

LG,

-moenk

Dann frag doch einfach die nodes der devices ab.

Oder kannst du das auch nicht?

Thomas,

das ist mir nicht klar, wie ich das mit der Overpass-API machen soll. Allerdings habe ich gerade festgestellt, dass es mit den Relationen gar nicht mehr so übel aussieht. In einigen Fällen fehlt bei dem Device auch das Tag am Node, aber das war mal schlimmer. Die Thematik habe ich mir vor einiger Zeit das letztemal angeschaut, da hat wohl jemand was gemacht, vielleicht kümmer ich mich noch irgendwann mal darum. Wenn alle Device-Nodes zusätzlich “highway=speed_camera” getaggt sind solls mir recht sein, dann kann man die Nodes einfach abfragen.

LG,

-moenk

Wieder an meinem Standard-Beispiel:


www.overpass-api.de/api/interpreter?data=[out:json];node[highway="speed_camera"](47.7,13,47.9,13.1);out;

Klar ist es eine Frage der präzisen Eingabe beim Taggen - aber das Problem besteht bei einer Relation genauso wie bei einem simplen node… Wird da oder dort was falsch gemacht, klappt es nicht…

Thomas,

genau diese Abfrage der Nodes geht eben nur dann, wenn die Device-Nodes auch als speed_camera getaggt sind. Ich habe gerade einige Nodes gefunden bei denen dies nicht der Fall war und das Tag ergänzt. Nun sollte sich sehr einfach eine Radarwarner-POI mit der Overpass-API herstellen lassen. Für Anfänger sollte es völlig reichen nur die POI zu mappen, der ganze Relationsquark ist optional und steht es auch im englischen Wiki.

LG,

-moenk

Stimmt :wink:

eine winzige Kleinigkeit: Ich frage immer so ab, ob ein tag im hstore existiert


alt: where r.tags->'enforcement'!=''
neu: where r.tags ? 'enforcement'

bringt zwar nix an Performance, erscheint mir aber übersichtlicher.

Gruss
Walter

Nahmd,

Alle Blitzer in Deutschland.

Gruß Wolf

Eh klar - kommt der Wolf, kommt eine Komplettlösung… :slight_smile:

Wäre aber schon komplett vorhanden gewesen… :wink: http://frink.bplaced.de/blitzer/

Hallo,
Oh, Blitzer in Biebersdorf fehlt… Merke ich mir…

So ist das, wenn man Auswertekarten zu bestimmten Themen bekommt, und einem auffällt, was fehlt…

Danke,

Sven

Wolf,

das sind genau genommen gar nicht alle - Du lädst immer nur einen Teil ein, nämlich wenn man im passenden Zoomlevel ist für diese Region. Oder ist da irgendwo noch ein versteckter Knopf oder Link der mit entgangen ist?

Aber Du zeigst sehr schön dass Du Relationen auseinanderfusseln musst um dann nur Punkte anzuzeigen. Ja, man kann das tun. Ist so wie mit den Polygonen, aber das ist ein anderes Thema.

LG,

-moenk