JOSM: Weitere Relationen werden nicht mitgeladen

Moin,

ich habe gerade festgestellt, dass ich mir gestern einige Arbeit gemacht habe, die nicht nötig gewesen wäre. Effekt ist, dass es nun einige Haltestellenrelationen doppelt gibt, so dass ich sie nun mühsam wieder rausschmeißen muss.

Grund dafür – und das führt zur eigentlichen Frage – ist, dass JOSM (10966) offenbar weitere Relationen, zu denen ein Node oder Way gehört, nicht nachlädt, wenn man dieses Element über “Elemente herunterladen” (z.B. Rechtsklick auf eine Relation) in den Editor gezogen hat.

Beispiel: Ich hatte die Relation einer ÖPNV-Linie bearbeiten wollen. Also lud ich per “Daten herunterladen” ein Stückchen Karte, in dem sich ein Teil dieser Linie befand. Damit wurden auch die Relationen der Line mitgeladen: Master-Relation, Richtung 1, Richtung 2, beide Haltestellenrelationen. Dann habe ich mir alle fehlenden Mitglieder der Richtungsrelationen nachgeladen. Danach hatte ich also alle anderen Haltestellen und Straßen bzw. Gleise im Editor. Was aber nicht geladen wurde: Die anderen Relationen, in denen sich die nachgeladenen Elemente befinden. Im konkreten Falle also z.B. die ganzen Haltestellenrelationen der Linie, von denen ich also dachte, dass sie noch nicht existieren.

Das ist natürlich sehr doof, und ich frage mich, ob das ein Bug oder ein Feature ist. Ich hatte probiert, ob “Daten aktualisieren” was bringt. Leider nicht. Auch “Auswahl aktualisieren half nicht”. Dann fiel mir der Punkt “Elternrelationen, -linien herunterladen” ins Auge, und mit dem scheint es zu klappen. Man muss allerdings vorher alle relevanten Elemente selektieren. Im einfachsten Falle also alle. Das führt dann aber zu langen Ladezeiten … bzw. zu sehr langen, wie´s aussieht … sehr, sehr langen … und man hat sicher wieder viel “Overhead” mitgeladen. Übrigens ist JOSM eben am Nachladen gescheitert. Irgendwann verschwand der Status-Dialog einfach, und nichts war passiert. Wenn ich nur ein paar wenige Elemente auswähle, dauert es immernoch ein bisschen, klappt aber – mit dem Nachteil, dass nun auch Straßen mitgeladen werden, die ich gar nicht haben will (da ja im Menü auch “-linien” steht).

Gibt es noch andere Methoden? Oder ist die Lösung, den oben vermuteten Bug zu fixen? Das wäre am besten, weil man sonst nicht drauf kommen kann, ohne es zu wissen.

Hi krza,

ich fürchte, das ist kein bug sondern ein normales Problem des sparse mappings. Woher soll das childs oder Eltern herunterladen denn wissen, daß Dich auch anderes als eben die childs und Eltern interessieren?

Wenn jemand aber einen guten workflow hat, der die Probleme umgeht, bin ich auch interessiert…

Baßtölpel

Das ist das ganz normale Verhalten von JOSM, das ich kenne und mit dem ich schon lange lebe.

Daher must du VORHER IMMER den Bereich nachladen, den du bearbeiten willst. Sonst passiert das von dir beschriebenen Chaos.
Bei diesem Nachladen erscheinen neue Rels in der Rel-Liste und zwar ebenfalls als unvollständig. Klar, da nur ein Teil der anderen Rels geladen wurde. Aber die wichtigen Ways, die mit der ersten Rel verknüpft sind, sind jetzt im Speicher.

Gruss
walter

Aber genau das möchte ich nicht,
• weil es dann sehr voll und unübersichtlich im Editor wird
• weil die Datenmenge im RAM und ggf. im File sehr groß wird
• weil man dann beim Hochladen immer alle noch offenen Fehler und Warnings bekommt, obwohl sie gar nichts mit der eigenen Arbeit zu tun haben
• und so weiter

Vielleicht wäre ein Workaround, wenn man sich nur Relationen runterladen könnte, die in einer bestimmten Boundary existieren. Aber ich wüsste nicht, wie das geht (mit JOSM – über irgendeine API wäre das sicher möglich, wenn vielleicht auch aufwendig, was die Verarbeitung betrifft). Das o.g. Runterladen der Elternrelationen ist ja schon fast das. Allerdings steht da keine Boundary, sondern eine Selektion am Start, und dummerweise werden auch ways mitgeladen.

Hast Du mal probiert, in dem interessanten Bereich per overpass alle Bus-Relationen runterzuladen?

Baßtölpel

ich habe ein Filter: admin_level=* & boundary=administrative

wichtig sind die Häkchen bei S und I

ja und?

beim Hochladen werde die Elemente überprüft, die du geändert hast. Und das willst du nicht fixen?

gilt nicht :wink:

Jo, da könnte man was machen (lassen).

Gruss
walter

Baßtölpel: Da braucht man das entsprechende PlugIn, oder? Nein, habe ich noch nicht probiert.

Wambacher: Also ich habe das Gefühl, dass ALLES angemeckert wird, was im Editor geladen ist, nicht nur das, was ich selber angefasst habe. Gilt es nachzuprüfen, aber ich bin relativ sicher. Da sind dann Straßen ohne Namen, Punkte, die aufeinander liegen, irgendwelche Abweichungen von Regeln und so weiter (hier gilt es), aber nichts davon hat für gewöhnlich mit meinen Änderungen zu tun.

Das passiert, wenn man selber den Validator aufruft. Wenn keine Objekte selektiert sind, überprüft er dann alle.
Und beim Hochladen nur die geänderten.

Letzteres hab ich gerade gecheckt:

  • Gegend geladen
  • Validator aufgerufen (Häkchen)
  • Validator findet ca 30 Warníngs
  • Ebene entfernt und selbe Gegend neu geladen
  • ein harmloses unverbundenes Objekt (z.B. building) leicht modifiziert
  • Hochladen
  • Validator schweigt

Gruss
walter

Inzwischen ist kein plugin dazu mehr nötig, der Experten-Modus muß aber aktiv sein.

Stimmt, habe den Punkt gefunden im Menü. Coole Sache eigentlich. Jetzt muss man nur die Syntax kennen :wink: Meine auf der Wiki basierenden Versuche sind bislang gescheitert. Gibt es irgendwo spezifische JOSM-Beispiele? Auf der JOSM-Wiki bin ich auch nicht direkt fündig geworden.

Für Deine Zwecke: schreib einfach route=bus in die oberste Zeile und drück dann “Suchanfrage erstellen” Wenn Du willst, entferne dann aus der sich ergebenden Suchanfrage die beiden Zeilen mit node und way. Runterladen drücken. Fertig. Das hilft allerdings noch nichts, wenn es in der Gegend Bushaltestellen gibt, die noch in gar keiner Routen-Relation sind. Eine Abfrage für alle stop areas oder bus_stops kannst Du auf gleiche Weise erzeugen. Dann den Teil innerhalb der ersten runden Klammer für alle unterschiedlichen Abfragen zusammenfassen und zum Aufheben woandershin kopieren. Wenn die query fertig ist, aufpassen: ich zerstöre meine sie regelmäßig, weil ich versehentlich wieder “Suchanfrage erstellen” drücke.

Dann mußt Du nur (?) noch aufpassen, wenn Du Wege auftrennst, dann solltest du an der Trennstelle eine kleine Umgebung konventionell laden.

Baßtölpel

Achso … darauf war ich gar nicht gekommen, dass dieser Knopf einen Code erzeugt. Ich dachte, damit würde man ein Template speichern können, das man vorher eingegeben hat. Okay. Damit ist natürlich schon mal die Rahmen-Syntax klar, und dann sollte es kein Problem sein, mit Hilfe der o.g. Wike eigene Abfragen zu basteln. Danke!