Danke für die sehr gute Beschreibung damit läuft es jetzt bei mir.
Etwas dauern wird die Umsetzung noch, da ich von meiner spaltenweisen
Arbeitsweise auf etwas mit der Z-Kurvenaufteilung umplanen muß.
Der Nachteil ist jetzt halt, dass ich durch alle Ordner scannen muß,
obwohl mich ja nur einige interessieren. Aber vielleicht ist das auch
nicht so schlimm. Man hätte x und y auch schön bitweise verschränken
können, dass hätte dann schönere Ordnernamen ergeben....
Frederik, du hattest ja mal etwas zur Mapnik-Performance geforscht und
dazu auch auf der SotM2010 einen Vortrag gehalten. Denkst du, dass mein
Ansatz mehrer Stile und Zoomlevel an einer Stelle zur selben Zeit zu
rendern was bringen könnte? Die Daten sollten dann doch eigentlich im
RAM liegen können.
Danke nochmal
und Grüße Tim Alder
Am 24.07.2011 02:52, schrieb Frederik Ramm:
Hallo,
Kolossos wrote:
Was besonders unschön erscheint, ist dass x und y scheinbar untrennbar
miteinander verkoppelt werden. Meinen Plan die Tiles in bestimmten
Längengradbereichen abzufragen werde ich damit wohl zu den Akten legen
müssen.
Ich verstehe nicht ganz, was Du meinst.
Letztlich geht es bei der ganzen Sache doch nur darum, dass nicht alle X
Milliarden Tiles auf Zoom 17 in einem Verzeichnis liegen. Also teilt man
auf. Nun gibt es natuerlich viele Methoden, einen Pfad fuer das Tile
x=12345 y=67890 zu bestimmen; man koennte z.B. sowas wie
zoomlevel/012/345/067/890.meta oder so machen - aber auch hier waeren X
und Y miteinander vermischt.
Im konkreten Fall hat man halt eine Methode gewaehlt, bei der die X- und
Y-Koordinate des oberen linken Tiles im Metatile in 20 Bits
hingeschrieben werden, also
x = aaaabbbbccccddddeeee (a sind die hoechst-, e die niedrigstwertigen
bits)
y = ffffgggghhhhiiiijjjj
und dann werden jeweils 4 Bits von einem und 4 Bits vom anderen zu einem
Verzeichnis zusammengesetzt:
aaaaffff / bbbbgggg / cccchhhh / ddddiiii / eeeejjjj.png
Theoretisch koennen in jedem Verzeichnis die Zahlen 0-255 vorkommen,
aber in der letzten Verzeichnisebene sind die letzten drei Bits immer 0,
wenn man mit Metatiles arbeitet, d.h. wir haben "e000j000.png", d.h. es
gibt nur 0.png, 8.png, 128.png und 136.png.
In den vorderen Verzeichnissen gibt es auch eine Einschraenkung des
Wertebereichs, weil es ja nicht auf jedem Zoomlevel 20-bittige
Koordinaten gibt. Bei allen Zoomlevels unter 17 ist das erste
Verzeichnis immer 0. Bei allen unter 13 das zweite auch. Bei allen unter
9 das dritte, usw.
Also eigentlich kann man damit schon arbeiten.
Bye
Frederik
_______________________________________________
Talk-de mailing list
[email protected]
http://lists.openstreetmap.org/listinfo/talk-de