Hilfe: Speicherfehler in Potlatch 2; Relation

A server error occurred. Do you want to retry? (The server said: Placeholder Way not found for reference -96 in relation 2005461.)

http://www.openstreetmap.org/browse/relation/2005461

Was muss ich tun, um meine Änderungen speichern zu können?

Ich habe extrem viel geändert (1135 Zeilen!) und MUSS meine Änderungen daher speichern, aber wie?

Danke

PS: Kann ich meine 1135 Datenzeilen auch manuell ändern? Z.B. den Way -96 (eine Zeile) löschen und das alternativ mit JOSM speichern? Wenn ja wie?

Für die Zukunft

  • Öfter zwischendurch speichern. → kleinere Verluste
  • JOSM benutzen, da kannst du lokal abspeichern.
    In JOSM kannst du auch nur markierte Teile abspeichern.

Für dein aktuelles Problem innerhalb Potlatch-2 fällt mir nur ein, solange Undo auszuführen, bis es mit dem Speichern klappt.

Edbert (EvanE)

Sorry, aber auf diese absolut nicht zur Problemlösung beitragende Antwort kann ich wirklich verzichten. Ich suche eine Lösung. Das was du schreibst, weiß ich selber. Und von tausend Änderungen fast alle rückgängig zu machen, ist auch keine Option. :frowning: Danke.

Na ja, hättest dich halt besser daran gehalten.
Wenn jemand einen Editor ohne Fehlerprüfung verwendet, ist er/sie dazu verdammt, mit der mininmalen Fehlerprüfung der API zu leben.

PS: Du kannst versuchen das Multipolygon wieder zu löschen, vielleicht klappt es ja dann mit dem Speichern.

Edbert (EvanE)

So wie ich es verstehe, dann habe ich z.B durch aufteilen einen Weg erzeugt der zur besagten Relation gehört. Später habe ich den Weg wohl gelöscht. Aber in der Relation ist der neue Weg (der da gelöscht, nicht gespeichert wird) noch vorhanden. Dies führt zum speicherfehler.

Wie kann ich die 1135 Datensätze (Arbeitszeit 3-4 Stunden) korrigiert in die OSM-Datenbank übertragen? (Korrektur=In Rel. verweis auf gelöschten Weg löschen (kein Problem → Texteditor)).

Z.B. alternativ mit JOSM?

PS: löschen dürfte nix bringen, da ich die rel selber nicht löschen kann. Ich kann sie nur von den anderen vorhandenen Wegen löschen, aber eben nicht vom Way -96 (da dieser nicht existiert, wie die OSM-DB korrekt bemängelt).

Mit den jetzigen Information, musst nicht die ganze Relation löschen, sondern nur das ‘falsche’ Member aus der Relation. In Potlatch2 den Zwinger auswählen, die Advanced Darstellung (unten rechts) einschalten (oder per Taste T). Dann stehen unten die Relationen, von denen der Zwinger Mitglied ist. Die passende Relation doppel-Klicken, sodaß das Relationen-Fenster erscheint. Dort die Darstellung ‘Member’ auswählen. Das ‘falsche’ Member solltest du dann löschen können.

Jetzt kann ein neues Problem auftreten. Einige Dinge können bereits hochgeladen sein. Wenn du nun erneut hochlädst, kann das zwei Auswirkungen haben:

  • Modifizierte Objekte → Falsche Version.
    Das ist einfach, die Version auf dem Server übernehmen.
  • Neue Objekte.
    Da können die Objekte mehrfach in die Datenbank geschrieben werden.
    Das wiederum führt zu doppelten Objekten in der Datenbank.

Da ich nicht weiß, wie Potlatch mit partiellem Hochladen umgeht, kann ich nicht sagen, was bereits alles hochgeladen ist, und ob das bei Potlatch-2 einzeln vermerkt wird. Es könnte sogar sein, dass P2 alles außer dem fehlerhaften Multipolygon hochladen konnte.

PS: Mittlerweile scheint das MP-Problem behoben zu sein.
In JOSM sieht das mit je einem (vorhandenen) Inner/Outer vernünftig aus.

Edbert (EvanE)

  1. Nein, Problem ist nicht gelöst. :frowning:
  2. Beim “speichern” werden die Änderungen erst NACH der Prüfung in die OSM-DB übernommen. Daher ist keine Änderung “online”. Solange der Fehler nicht beseitigt wurde, kann daher absolut keine Änderung übertragen/gespeichert werden.
  3. Wie lösche ich in Potlatch den Weg innerhalb der Relation? Anklicken und entfernen funktioniert nicht :frowning:
    Unter “Member” ist der Weg eingetragen, ich kann ihm auch eine Rolle zuordnen, aber ich bekomme den Eintrag nicht weg…

Im Prinzip wird bei Potlatch auch lokal im Browser gespeichert. Ich finde den zwanghaften Hinweis auf JOSM auch eher fehl am Platz (gibt halt gute Gründe für beide Editoren).

Du kannst sicherlich “View Data” wählen bei der Fehlermeldung, oder? Wenn ja den Textinhalt kopieren, in eine txt-Datei einfügen und in name.osm ändern. Dann kannst du die Änderungssätze auch mit einem Skript wie upload.py hochladen. Hoffe das hilft dir (falls du die Session nicht schon geschlossen hast).

lg

//edit: Achja den fehlerhaften Way (ID -96) musst du dann natürlich manuell aus dem Änderungssatz raussuchen und löschen, sonst bleibt es natürlich bei einem Fehler :wink:

Danke, auf genau so eine Antwort habe ich jetzt stundenlang gewartet :smiley:
Werde es sofort probieren, bis gleich…

Wie funktioniert das den? Hat mal jemand ne kurze deutsche Anleitung? :slight_smile:

  1. Python 2 oder 3 herunterladen und installieren (falls noch nicht vorhanden)
  2. upload.py-Skript für Python 2 oder für Python 3 herunterladen
  3. upload.py in der Konsole/Terminal ausführen:
    upload.py -u reneman -p deinpasswort -c yes -m Changeset-Kommentar datei.osc
    (Vorausgesetzt datei.osc ist im selben Verzeichnis wie das Skript; ob die Endung .osc lauten muss bin ich mir nicht sicher)

Dafür darf aber auch der fehlerhafte Way mit der ID -96 nicht mehr im Änderungssatz vorhanden sein

Ich kapier nicht wie man das Script in python 2 starten muss… :frowning:
Hab keine Ahnung von dem Tool…
Installieren: OK
upload.py anlegen: Ok
datei.osc anlegen: OK
Starten, k.a. :frowning:

PS: Dateiendung “osc” scheint lt. Script richtig zu sein.

Zu Punkt 2 (hochladen/speichern):
Die Fehlermeldung kam von der API. Von daher vermute ich, dass doch bereits einiges hochgeladen wurde. Ich kenne die Interna von P2 nicht, insoweit ist kann ich das nicht sicher sagen.

Zu Punkt 3 (Member löschen):
Du hast leider Recht, mir ist es bei P2 auch nicht gelungen, ein Member aus einer Relation zu löschen.
Da bleibt dir wohl nur die Möglichkeit, die komplette Relation zu löschen (in der Advanced Ansicht das Ausklapp-Menü hinter der Relation)

PS: Zwei Dinge sind mir zusätzlich aufgefallen:

  • lit=yes für Punkte. Das wäre besser mit highway=streetlamp erfasst
    plus lit=yes an der Straße / dem Weg.
  • Es sind Straßenflächen mit highway=, area=yes, access=no erfasst
    und zusätlich einem Weg mit highway=
    .
    Da ist wohl eher area:highway=* für die Straßenfläche gemeint.

PPS: Ich habe nicht geprüft, ob diese zwei Sachen von dir stammen.

Edbert (EvanE)

Ich nehme an Windows, oder?
Dann machen wir das ganz einfach, damit wir uns nicht mit Umgebungsvariablen rumärgern müssen:

Die osc-Datei und die upload-python2.py in den selben Ordner wie die python.exe (z.B. c:\python2\python.exe)
Und danach die Eingabeaufforderung (cmd.exe) ausführen und folgendes eingeben:

c:\python2\python.exe upload-python2.py -u reneman -p deinpasswort -c yes -m Changeset-Kommentar datei.osc

(halt dementsprchend anpassen)

@EvanE: In Josm kannst du dir deine Changesets ansehen, wenn in Potlatch ein upload fehl schlägt, dann kannst du dir eben diesen in JOSM ansehen. Mit dem ergebnis: Status: geöffnet; Inhalt: 0
(Hoffentlich fummelt mir jetzt nicht noch jemand dazwischen, bevor ich meine Änderungen erfolgreich gespeicher habe. Mir sind Straßenlampen ehrlich gesagt grad sehr egal, da sie meine geringste sorge sind.)

@alle: Wie *verflucht *bediene ich phyton und das upload.py ? :smiley:
Ich schaff das einfach nicht.

Wo kommst du nicht weiter? Hat dir der Befehl nicht geholfen? Wenn du willst kann ich dir auch deinen Änderungssatz hochladen, aber ich denke du willst auch ernten was du säst (macht ja auch mehr Sinn schließlich sind es ja deine Änderungen).

http://www.pic-upload.de/view-17051216/zwischenablage.jpg.html

muß ja das PW weg machen :wink:

PS: Das mit dem ernten ist mir inzwischen egal, wichtig ist mir nur dass meine Arbeit nicht für die Katz war…

Wenn du Python2 benutzt musst du upload-python2.py herunterladen (nicht upload.py, die anscheinend ja auch nicht im Verzeichnis ist laut Konsole)

hab die von deinem Link oben genommen

, man muss aber beim speichern selber einen Dateinamen angeben, daher ist meiner wieder kürzer geworden. Aber es ist die richtige Datei…
Der Befehl in der CMD für Windoof ist falsch, man muss dem irgendwie die Ebene zur Datei richtig angeben, nur wie?

“no such file or directory” bedeutet, dass die Datei upload.py (die hoffentlich im Original upload-python2.py hieß, ich habe ja oben zwei links gepostet) nicht im Verzeichnis C:\Programme\python-2.7.3\ ist (die Datei datei.osc muss da auch rein)