Verwirrung um Mapnik Zoomstufen

Hallo zusammen,
ich möchte gerne eine karte eines einzelnen Landes mit Mapnik rendern. Dazu benutze ich die generate_tiles.py. osm.xml usw wurde bereits angepasst, so dass die Karte eigentlich sehr gut aussieht. Als bbox habe ich die Koordinaten für Österreich angegeben, und mal die Zoomstufen 1 bis 14 angegeben also


#Oesterreich
bbox = (9.4, 46.35, 17.333, 49.033)
minZoom = 1
maxZoom = 14
render_tiles(bbox, mapfile, tile_dir, minZoom, maxZoom, "Oesterreich")

Ich hätte nun erwartet, dass bei Zoomstufe 1 Österreich in ein oder zwei Kacheln gerendert wird. Stattdessen enthält Zoomstufe 1 eine Kachel, die ganz Europa und Asien anzeigt. Warum habe ich eigentlich den Bereich mit bbox dann auf Österreich eingeschränkt?? Meine Frage wäre nun, wie ich Mapnik einstellen muss, damit Österreich in sagen wir 8 Zoomstufen gerendert wird, der Rest aber vernachlässigt wird.

Danke für Eure Hilfe
Martin

Hi!

Zoomstufe 0 ist die gesamte Welt. Das Skript berechnet Anfangs- und Endkachel anhand der BB und des Zooms und rundet dabei. Also wird bei Zoom 1 die halbe Welt gemalt, weil sie in eine Kachel paßt.

Fang einfach mit dem Rendern erst bei Zoom 5 oder 6 an, dann kriegst Du das gewünschte Ergebnis.

bye
Nop

Zoomstufe 0 = 1 x die ganze Welt
Zoomstufe 1 = 1/4 Welt
Zoomstufe 2 = 1/16 Welt
Zoomstufe 3 = 1/64 Welt
Zoomstufe 4 = 1/256 Welt
usw…

Halbe Kacheln gibt es nicht. Eine Kachel ist eine Kachel

Doofe Frage:

Wie ist man eigentlich auf die Zoomstufen, bzw. die Aufteilung gekommen?

Gruß

Na, man hat einfach ein Quadrat um die Erde gezeichnet und gesagt “Das ist Zoom 0”.

Also ich muss schon sagen, das Ganze ist ziemlich unvorteilhaft. Gerade wenn die Karte eine bestimmte Größe auf der Website einnimmt. Ich hab nur 600px Breite zur Verfügung. Beim Laden der Seite soll möglichts genau ein Land angezeigt werden, also z.B. Österreich 600px breit (so Pi mal Daumen). Jetzt ist es so, dass bei Zoomstufe 7 Vorarlberg und Burgenland schon abgeschnitten werden und bei Zoomstufe 6 seh ich ja noch bis in die Slowakei rüber. Gibt es denn überhaupt keine Möglichkeit die Zoomstufen zu beeinflussen? Ich bräuchte etwas zwischen Zoomstufe 6 und 7 :slight_smile:

Noch ne Frage. für was übergebe ich Mapnik eigentlich das bbox Element? Eigentlich würde ja dann auch ein “Center” mit einem Wert für Breiten- und Längengrad reichen, wenn sowieso das rendern mit der ganzen Welt begonnen wird, und auf einen bestimmten Punkt gezoomt wird.

Diese Einteilung kommt nicht von Mapnik - der kann das beliebig rendern - sondern von der Kachelsystematik von Google Earth, die Openlayers verwendet.

Du kannst auch Zoom 6.5 haben - aber dafür mußt Du das python script ein wenig ändern und evtl. auch OpenLayers für die Darstellung patchen.

Klar, ein Center und ein Zoomlevel reichen auch aus zur Beschreibung. Ist halt anders implementiert - Du kannst in das python script einen neuen Parameter einbauen und die bb draus berechnen.

bye
Nop

Schau mal auf diese Karte. Vielleicht hilft dir das. Dort kannst du auf ein Zehntel der Zoomstufen zoomen.
Zwischen den ganzen Stufen wird es leider etwas unscharf.