[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