4 GB-Grenze ist inzwischen überschritten

Hi,

die 4 GB-Grenze für unsigned Integer*4 - unsigned 32-Bit- von 4.294.967.295 wird in den nächsten Tagen wohl überschritten werden. Derzeit liegen wir bei 4.282 GB und täglich kommen 10-20 MB an Nodes dazu.

Ist interessant für manche Anwendungen - oder auch Anwender :wink: - , die möglicherweise dann ausflippen. “Unsere” Osm-Anwendungen (die bekannten Editoren, osmosis und die ganze Verarbeitungskette) sollten wohl davon nicht betroffen sein, da sie längst auf 64-Bit umgestellt wurden. Aber für manche Utility oder App würde ich meine Hände nicht ins Feuer legen wollen.

Gruss
walter

Können wir hier potentielle Crash-Kandidaten sammeln?

OSM Standard-Style - vermutlich nicht betroffen
splitter - vermutlich nicht betroffen
mgkmap - vermutlich nicht betroffen
osmconvert - vermutlich nicht betroffen
osmfilter - vermutlich nicht betroffen
osm2pgsql - vermutlich nicht betroffen
OSRM - vermutlich betroffen
QGIS - vermutlich betroffen

Stand: 06.07.2016

Ich stelle es mir sinnvoll vor, das letzte 32-bit-lauffähige Planetfile irnkwo einzufrieren, damit empfindliche Anwendungen da ihre maximal aktuelle Ressource haben :slight_smile:

–ks

Garmin-Anwendungen sind hinter der mkgmap-Übersetzung wohl nicht mehr betroffen, oder? Ich gehe davon aus, daß die IDs dort pro Karte neu vergeben werden (weshalb kein kartenübergreifendes Routing geht und es auch in Grenznähe zu Konflikten kommt, wenn beide aktiviert sind).

–ks

Ältere Planetfiles sind auf planet.openstreetmap.org jederzeit verfügbar. Wenn ich es richtig sehe im Wochenabstand.

Falls nicht bekannt: mit osmium-renumber können alle Elemente konsistent von 1 an neu durchnummeriert werden. Damit lässt sich z.B. ein aktuelles Extrakt zurück in die 32bit Welt beamen.

http://docs.osmcode.org/osmium/latest/osmium-renumber.html

In die -unsigned- 32bit Welt, was je nach Tool nicht sehr viel hilft (und spätestens in 2 Jahren ist endgültig Schluss mit 32bit).

PS: AFAIK ist OSRM der einzige weiterverbreitete Kandidat für Schwierigkeiten mit dem Abschied von 32bit unsigned IDs

Kommt darauf an, wenn ich mir z.B. ein Extrakt von der Schweiz runterlade und neu nummeriere, sollten auch Tools mit 32bit signed IDs noch damit klarkommen. Das mit den 2 Jahren verstehe ich in diesem Zusammenhang nicht. Mir ging es hier ausschliesslich um kleinere Extrakte. Auf den ganzen Planet betrachtet funktioniert das wahrscheinlich wirklich schon bald nicht mehr.

Das mit kleineren Extrakten stimmt, die 2 Jahre beziehen sich darauf, dass wir dann endgülitg mehr Nodes (im Planet) haben als man mit unsigned 32bit nummerieren kann.

Genau das war mit den 2 Jahren gemeint. Momentan werden ja gelöschte IDs nicht aus der DB genommen, sondern deaktiviert – durch Löschen von Nodes spart man dadurch derzeit weder Speicherplatz noch Zahlenraum, durch Neunummerierung schon. Aber in spätestens 2 Jahren reichen die unsigned 32bit nicht mal mehr für alle aktiven Elemente (des planetfile) aus.

–ks

uint64_t sollte heutzutage doch kein Problem mehr sein. Und in ein paar Jahren gibt es dann vielleicht auch ein gut funktionierendes uint128_t. :wink:

Das ist nicht das Problem, man muss ja auch entsprechende Datenstrukturen verwenden.

Sollte funktionieren.

Hier gibt es übrigens eine Liste zu dem Thema:

https://wiki.openstreetmap.org/wiki/64-bit_Identifiers

Aktueller Stand: 4.287.394.815 / 4.294.967.295

Gruss
walter

Spannend.

Als Co-Autor von mkgmap und splitter kann ich hier für halbwegs aktuelle Versionen definitiv Entwarnung geben, beide Tools werden seit geraumer Zeit mit generierten Daten mit Ids > 4GB eingesetzt. Es gibt allerdings in mkgmap eine Sonderbehandlung für Ids >= 1 << 62, z.B. 4611686018427394038L.
Es ist denkbar, das Ids mit Werten 1<<62 und höher zu Problemen führen, in der Praxis stellt das wohl kein Problem dar.

Noch 0 Nodes bis zum 64-bit OSM.

Schicken wir die Kollegen da hin, die das hier gebaut haben. Die hauen 6 Millionen Nodes locker beim Mappen eines Bauernhofs durch.

–ks

Hier wird in Kürze der erste 64 Bit Node gepostet.

Lustig, die Überschreitung wird ungefähr zeitgleich mit dem EM Endspiel stattfinden.

Node # 2^32 geht an Frankreich. Glückwunsch.

https://www.openstreetmap.org/node/4294967296