mkgmap auf 32bit OS?

Hallo,

da ja jetzt 64bit Node-Ids Realität sind in OSM: Ist es eigentlich weiterhin möglich auf einem 32bit System mit mkgmap und splitter Garminkarten aus OSM Daten zu generieren oder kann das wegen der Node-Ids zu Fehlern führen?

Gruß
unixasket

Auch ein 32-Bit-System hat kein Problem mit dem Speichern/Verarbeiten von 64 Bit breiten Daten (4 Bytes, 2 Words, 1 Doubleword). Wie groß ist die größte Zahl, die der Windows-Rechner oder “Taschenrechner” schon unter 16 Bit (bis Win 3.1) verarbeitet hat? :slight_smile:

Die Datenbreite hat was zu tun mit dem möglichen Speicherort von Daten (z.B. oberhalb 4 GB), der Breite der mit einer einzigen (!) Instruction über den Prozessor kopierbaren Daten oder der Größe der mit einer einzigen (!) Instruction berechenbaren Zahlen. Die ID bei OSM hat mit Berechnung nichts zu tun. Solange Programme unter 32-Bit-Java lauffähig sind, muss man sich darüber keine Gedanken machen, nötige Berechnungen erledigt Java notfalls eben mit mehreren Prozessorbefehlen.

Grüße
Mario

Ich habe auf meinem 64bit Win-7 Rechner die 32bit-Version von Java installiert, und mkgmap und splitter laufen damit ordentlich, auch mit den neuen hohen IDs.

Wie ich neulich lernen durfte, ist die Breite der Datentypen bei Java (anders als in der C-Familie) unabhängig von der Architektur. MaW int hat 32 Bit und long 64 Bit, egal auf welcher Java-Version. Für die Verarbeitung von “großen” Knoten mit einem Java-Programm ist also nur entscheidend, daß im Programm konsequent long für IDs verwendet wird.

Jupp. Einziger Vorteil von 64bit-java ist dass ein größerer Speicherbereich angesprochen werden kann (32 bit: 1.5 - 3 GB je nach OS , 64 bit: unbegrenzt bezogen auf heute verfügbare Hardware) .
Nachteil ist, dass die längeren Pointer mehr Speicher benötigen. :wink: