[Talk-de] OSM kaum mehr benutzbar

Christoph Eckert ce at christeck.de
Di Okt 2 22:06:36 UTC 2007


Hi,

> Ja, vermutlich schon. Ich habe gerade auch angefangen, das Perl-
> Skript mal so umzustellen, dass es Bit::Vector benutzt statt Hashes -
>   das wird langsamer, braucht aber weniger Speicher.

es gibt ab Qt 4.3 fertige Klassen namens QXmlStreamReader und 
QXmlStreamWriter. Die lesen XML "line by line", so dass man auch das 
aktuelle Planetfile locker verarbeiten kann. Es ist so ähnlich wie SAX, 
nur dass es nicht mit einem Callback arbeitet sondern man die Daten 
selbst pollt.
Nachdem Qt seit Version 4 auch vollkommen ohne Gui-Elemente verwendet 
werden kann, wäre das ja vielleicht eine Alternative zu Perl. Meine 
ersten Basteleien, aus einem Planetfile alle Nodes innert einer 
bestimmten Region zu extrahieren sahen ganz vielversprechend aus.

Der zweite Schritt jedoch, nämlich wie man alle Relations, Wege und 
Nodes innert einer Region aus einer Datei zieht, übersteigt meine 
Hobbyhackerkenntnisse bei weitem. Man müsste eigentlich bei Vorkommen 
eines jeden Weges zuerst alle zugehörigen Nodes 'raussuchen und den Weg 
mitsamt Nodes wieder 'rausschreiben, falls einer der zum Weg gehörenden 
Nodes innert des gewünschten Polygones liegt. Mir ist unklar, wie man 
das mit der gewünschten Performanz macht. Entweder müsste ich doch 
wieder alle Nodes im Speicher halten (was man ja eben genau nicht 
will), oder die Datei für jeden Weg immer und immer wieder nach allen 
Nodes durchsuchen (so dass dann die Plattengeschwindigkeit zum 
Flaschenhals wird).

Soweit meine bisherigen "Forschungsergebnisse".

Beste Grüße,

ce





Mehr Informationen über die Mailingliste Talk-de