pbf mit osmupdate aktuell halten (windows)

Hallo

ich möchte auf einem Windowsrechner zwei- bis dreimal die Woche niedersachsen-latest.osm.pbf (bezogen aus der Geofabrik) aktualisieren.

osmupdate scheint das Tool zu sein, das ich nutzen sollte.

In dem ausgewählten Datei-Ordner befindet sich neben niedersachsen-latest.osm.pbf zwei weitere Dateien (deshalb): wget.exe und osmconvert.exe. Internetverbindung ohne Proxy ist da. osmupdate.exe ist umbenannt zu osmup.exe, weil update im Dateinamen windows irritiert.

Die Batchdatei lautet

osmup niedersachsen-latest.osm.pbf niedersachsen-latest-new.osm.pbf -v --day --base-url=http://download.geofabrik.de/europe/germany/niedersachsen-updates

Als Ergebnis sagt mit windows:

osmupdate Parameter: --day
osmupdate Parameter: --base-url=http://download.geofabrik.de/europe/germany/niedersachsen-updates
osmupdate: timestamp of niedersachsen-latest.osm.pbf: 2015-03-05T21:21:02Z
osmupdate: newest daily timestamp: (no timestamp)
osmupdate Error: Could not get the newest daily timestamp from the Internet.

Was ich ohne Ergebnis versucht habe:

  • (…)niedersachsen-updates/ in (…)niedersachsen-updates/000/ oder (…)niedersachsen-updates/000/000 ändern
  • (…)niedersachsen-updates/state.txt oder (…)niedersachsen-updates/000/000/721.state.txt als Ziel probiert
  • additiv –base-url-suffix=-replicate in die Batchdatei geschrieben
  • 721.osc.gz (bzw 721.osc) in den Ordner gelegt.

Hat jemand Erfahrungen und kann mit auf die Sprünge helfen?

Warum denn? du kannst jeden Morgen einen neue hochaktuelle Version herunterladen. Oder klemmt es bei dir mit dem Internet?

Gruss
walter

Halte mich für altertümlich, aber ich gehöre noch zur Generation, die unnötigen Traffic vermeiden möchte. Außerdem will ich es einfach können :slight_smile:

Was passiert denn, wenn Du “–day” weglässt? Damit funktionierts zumindest bei mir unter Linux, mit “–day” kam der gleiche Fehler.

Der Planet bei OSM hat Unterverzeichnisse “minute”, “hour”, “day”, die Geofabrik hat diese Struktur nicht. Braucht sie auch nicht, sie hat ja nur eine Art von diffs.

Grüße, Max

@ Sven Wacker
Mach es so

osmupdate -v --daily --keep-tempfiles niedersachsen-latest.osm.pbf niedersachsen-latest_new.osm.pbf

Danach einfach umbenennen

Wenn Du mehrere verschiedene Regionen brauchst, machst es vielleicht Sinn einen lokalen Planet zu verwenden und anhand der bei der Geofabrik zu findenden oder eigenen Poly Daten aus zuschneiden und die dann vor Ort zu aktualisieren.

BTW:
Es macht schon Sinn lokal zu aktualisieren, wenn es entweder keine entsprechenden Rohdaten. DACH+ oder hier Bonn, gibt
Ansonsten ist ein Download von z.B. 2,3 GB für Deutschland über 1 Stunde sinnfrei wenn ich mit etwa 50 MB pro --daily das Ganze in 5 Minuten aktualisieren kann

Bernd

Danke @maxbe

Das war es. Mit der Zeile

osmup niedersachsen-latest.osm.pbf niedersachsen-latest-new.osm.pbf -v --base-url=http://download.geofabrik.de/europe/germany/niedersachsen-updates

gelingt es. (-v dient (mir) ist mir übrigens nur zu Ausgabe von Hinweisen während der Verarbeitung und ist, wenn alles rund läuft, nicht nötig)

Bei DEU geb ich dir recht, für ein Bundesland war mMn den Aufwand (des Herausfinden einer funktionierenden Lösung) nicht unbedingt notwendig. Aber gut, dass ihr helfen konntet.

Kleine technische Zusatzfrage: Wenn ich mit osmosis und psql2osm nur ein Teilgebiet aktuell halten will, werden dennoch alle Daten der Diffs übernommen, ein Clipping auf das Zielgebiet findet nicht statt. Wie macht das eigentlich osmupdate?

Gruss
walter

Danke. Dein Posting hatte ich leider nicht übersehen, als ich maxbe antworte. Ich habe das jetzt auch auf Deine Weise probiert: es funktioniert!.

Aus Neugier: woher hat sich osmupdate jetzt die Änderungen bezogen? Und ist das verantwortlich für die Größe der pbf? Die aktuelle pbf ist jetzt rund 20.000 kb größer ist als mit der “maxbe-Methode” (226.739 kb gegenüber 246.427 kb).

Von planet.openstreetmap.org und Du hast jetzt auch ein paar Updates aus fernen Gegenden eingespielt. Wenn Du das auf Niedersachsen reduziert haben willst, musst Du Dir eine poly-Datei davon besorgen und die dem osmupdate mitgeben:

osmupdate altes.pbf -v -B=niedersachsen.poly neues.pbf

Es hat dieses Poly. Ich weiss aber nicht, wie erfolgreich das ist. Bei osmosis+psql2osm kann ich ja auch ausschneiden, aber es funktioniert nur bedingt, weil osm2pgsql nicht weiss, welche Teile einer Relation es mitnehmen muss…

Grüße, Max

Edit: Bundesland verwechselt

Ein Clipping findet nicht statt, wer wie ich die globalen diffs reinhaut muss also anschliessend per osmfilter klippen.

Bin ich frei in der Definition der poly-Datei, solange die poly-Datei an sich gültig ist? Für meine (privaten wie teilweise auch beruflichen) Zwecke schweben mir Gebiete wie Landkreis Lüneburg ohne Stadt Lüneburg oder Metropolregion Hamburg oder Geltungsbereich des HVV vor. Entsprechende poly-Dateien habe ich mir aus den boundaries von wambacher gebastelt. Mir ist klar, dass die letzten beiden Beispiele größer als Niedersachsen sind und deshalb germany-latest.osm.pbf als Grundlage dienen müsste.

Denk schon. Ich machs jedenfalls mit einer selbst gebastelten und hatte damit nie Probleme…

@maxbe:

Du hast recht mit dem Hinweis auf die Benutzung eines Poly zur Aktualisierung, in meinem Script ist das auch so

@Sven Wacker:

Ich benutze auch selbst erstellte Poly-Dateien, die erstelle ich mit JOSM, osm2poly.pl und poly2osm.pl, letztere sind Perlscripte von Frederick Ramm.
u.a. eine für Bonn +100 Km Radius für den Alltagsgebrauch, ergibt eine Karte von rund 330 MB.
Die Poly der Geofabrik sind IMHO aus den Grenzen erstellt, dadurch enthalten sie sehr viele Punkte, ich verwende stark vereinfachte mit
Überlappung bis zu 100 Km in die Nachbarregionen. Poly mit Loch machen aber wenig Sinn

Bernd

warum so kompliziert? :frowning: https://osm.wno-edv-service.de/boundaries/idx21o.jsp?zoom=6&lat=51.35149&lon=10.45412&layers=0BT&selected=51477
anklicken, export als bufferd poly (bpoly), feddich.
nur 100 Km halte ich für etwas heftig.

walter

Nachtrag: wenn ich mal ganz viel Zeit habe, baue ich einen Slider für die Buffergröße ein. mal sehen.

Das wäre schön :wink:

Die Erstellung meiner lokalen Poly liegt schon länger zurück als Dein Boundary-Service, deswegen habe ich den nie verwendet.

Aber die 100 Km rund um Bonn sind eine schöne Gegend, sowohl zum Mappen als auch für Radtouren.

Und eine DACH+ mit etwas Polen, Tschechien, Ungarn, Italien(Südtirol) und Frankreich brauche ich für meine Motorradtouren, also sind 100 km nicht zuviel. Denk bitte dran, ich erstelle aktuell nur Karten für mich und ein paar Freunde vom Bonner Stammtisch, für eine Veröffentlichung im Web fehlt mir die Kenntnis und die Zeit für den Support.

Bernd

Bei mir stand bisher der Zuschnitt Adminstrativer Grenzen im Vordergrund (was liegt in welcher Stadt?, welchem Kreis?, …) aber Stadt + große Umgebung ist mir noch nicht in den Sinn gekommen. Vereinigung mehrerer Grenzen (DEU+CHE+AUT+LIE → Dach+) hätte auch was.

Wird Zeit, das ich das mal anpacke.

Gruss
walter