lima-city: Webhosting, Domains und Cloud
1 Pluspunkt 0 Minuspunkte

Ich habe mir die austria-latest.osm.pbf Datei von OpenStreetMap heruntergeladen und mit JOSM eine Postbox eingefügt. Mit dem PBF Plugin habe ich die Datei dann wieder als PBF Datei gespeichert. Wenn ich daraus jetzt aber mbtiles mit Planetiler generieren will kommt eine Fehlermeldung das negative OSM element IDs nicht erlaubt sind.

Caused by: java.util.concurrent.ExecutionException: java.lang.IllegalArgumentException: Negative OSM element IDs not supported: Node[id=-25626, tags={}, lat=48.1692021, lon=16.3282473, info=Info[changeset=0, timestamp=0, userId=-1, version=0, user=]]
        at java.base/java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:396)
        at java.base/java.util.concurrent.CompletableFuture.get(CompletableFuture.java:2096)
        at com.onthegomap.planetiler.stats.ProgressLoggers.await(ProgressLoggers.java:361)
        ... 9 more
Caused by: java.lang.IllegalArgumentException: Negative OSM element IDs not supported: Node[id=-25626, tags={}, lat=48.1692021, lon=16.3282473, info=Info[changeset=0, timestamp=0, userId=-1, version=0, user=]]
        at com.onthegomap.planetiler.reader.osm.OsmReader.processPass1Blocks(OsmReader.java:256)
        at com.onthegomap.planetiler.worker.WorkerPipeline$Builder.lambda$sinkTo$2(WorkerPipeline.java:274)
        at com.onthegomap.planetiler.worker.Worker.lambda$new$0(Worker.java:41)
        at com.onthegomap.planetiler.worker.Worker.lambda$new$1(Worker.java:68)
        at java.base/java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1804)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
        at java.base/java.lang.Thread.run(Thread.java:1583)

Wie kann ich dem Objekt eine gültige ID geben?

von  

1 Antwort

0 Pluspunkte 0 Minuspunkte

Das Objekt hat eine negative ID beklommen weil es ein neu angelegtes (noch nicht auf den OSM Server hochgeladenes) Element ist. Eine "echte" OSM-ID wird normalerweise erst beim Upload zur OSM API vergeben. Du kannst die Datei aber nachträglich renummerieren. Dafür ist osmium renumber der übliche Weg. Negative IDs im Input sind erlaubt solange die Datei korrekt sortiert ist; renumber weist dann neue IDs zu und erhält die Referenzen zwischen Nodes, Ways und Relations konsistent.

osmium sort neu.osm.pbf -o sorted.osm.pbf
osmium renumber sorted.osm.pbf -o renumbered.osm.pbf
von (813 Punkte)  
Diese Community basiert auf dem Prinzip der Selbstregulierung. Beiträge werden von Nutzern erstellt, bewertet und verbessert – ganz ohne zentrale Moderation.

Wer hilfreiche Fragen stellt oder gute Antworten gibt, sammelt Punkte. Mit steigender Punktzahl erhalten Mitglieder automatisch mehr Rechte, zum Beispiel

  • Kommentare verfassen
  • Fragen und Antworten bewerten
  • Themen von Fragen bearbeiten
  • Fragen, Antworten und Kommentare bearbeiten
  • Inhalte ausblenden

So entsteht eine Plattform, auf der sich Qualität durchsetzt – getragen von einer engagierten Gemeinschaft.

2,602 Fragen

3,123 Antworten

293 Kommentare

16 Nutzer