eigene Tiles hosten

Oder bei mir 9-10 Stunden mit Maperitive (Zoom 8-16 !!!)

Was genau ist “alles”? :slight_smile:

Ich habe meine Tiles früher mit Mapnik/Python unter Win7 lokal erzeugt. Gibt’s inzwischen die Tools nicht mehr für Windows?

bye
Nop

Also wenn ich mir Python und Mapnik installiere dann kommen da nicht gleich die passenden Kacheln fürs Web heraus? Das stellt mich ja wieder vor Probleme. Hatte das so verstanden das das quasi “out of the box” läuft wenn man Mapnik über die Konfigurationsdateien zum laufen gebracht hat. Die Datenbank habe ich schon mit osm2pgsql laufen. Machen werde ich das unter Win7.

Danke für die Antworten bisher.

Das, was bei switch2osm aufgelistet ist. Einschliesslich dem Rendern von Metatiles und mod_tile. Oder laufen die auch mit Windows? Ich habs noch nie probiert, sondern immer nur generate_tiles.py.

Gruß,
ajoessen

Doch, so läuft das bei mir. Am Ende der generate_tiles.py trägst du Wunschgebiet und Zoomstufen ein, und los gehts. Wobei ich für jeden meiner transparenten Layer eigene py-Dateien angelegt habe.

Gruß,
ajoessen

Das klingt gut. Ich werde das die Tage mal testen.

Klar funktioniert das. Man muß sich nur im Klaren sein, daß es extrem ineffizient ist, ich kann mich erinnern daß damals ein Python Skript, das ähnlich wie die Web-Renderchain mit 10x10 Metatiles gearbeitet hat, mehr als 50 mal schneller war als generate_tiles.

bye
Nop

Wo ist der Unterschied zwischen den Varianten? Weiß Du wie ich das machen kann ohne tirex oder renderd zu installieren? Metatiles haben bei Mapnik ja außerdem den Vorteil, daß die Beschriftung über den Rand eines normalen Tiles hinausgehen kann.

Ich hatte dazu schon mal ein Ticket [1] erstellt.

Christian

[1] http://trac.openstreetmap.org/ticket/4179

In der April-Ausgabe der iX gibt es einen ausführlichen Artikel über “OSM-Daten in eigenen Karten nutzen”:
http://www.heise.de/ix/inhalt/2012/04/136/

mdk

Hab zwar keine Erfahrung damit, aber aus einer von TileMill erzeugten MBTiles Datei müsste sich mit mbutil auch ein Tile-Verzeichnis exportieren lassen, siehe FAQ.

polytiles.py aus dem Standard-Mapnik-Paket scheint sowas auch zu machen. Habs nur noch nie probiert.

Gruß,
ajoessen

  1. Metatile wird auf die Platte geschrieben und später wieder von anderem Tool weiterverarbeitet
  2. Metatile wird nur im Speicher gerendert und gleich in Einzelkacheln gespeichert, Metatile taucht auf Platte nie auf
  1. Nein.
  2. Entsprechendes Python Skript.

Nein, das Eine hat mit dem Anderen nichts zu tun.

Um die Beschriftung zu erhalten wird normalerweise ein zusätzlicher Rand von 1/2 Tile mitgerendert und verworfen. Das kann man auch für einzelne Tiles machen. Umgekehrt kann man auch Metatiles ohne Rand rendern.

bye
Nop

Danke für den Tipp. Das wär ja top wenn das geht. Hatte mich gerade in Mapnik ein bißchen eingelesen. Das scheint ja ne Quälerei zu sein damit zu arbeiten.

Weiß jemand wie ich dieses mbutil zum laufen bekomme? Python habe ich installiert aber ich habe keine Ahnung was ich da starten oder ob ich das Ding noch installieren muss.

Am Anfang stehen einige Bibliotheken, die er laden möchte:


import sqlite3, uuid, sys, logging, time, os, json, zlib, glob, shutil

Die musst du erst mal an der richtigen Stelle installiert haben, sonst läuft da nix.

Der Vorteil von Mapnik ist halt, dass alle Abhängigkeiten gut dokumentiert sind. Bei Exoten wie mbutil kommt man nicht drum herum, den Entwickler danach zu fragen :frowning:

Gruß,
ajoessen

Ich habe jetzt doch mal TileMill ausprobiert und auch gleich das mbutil. Eine Installation ist nicht notwendig, hätte nur den Vorteil, dass mb-util direkt als Kommando verwendet werden kann.

Bei mir hat folgender Aufruf funktioniert (Pfade und Dateiname anpassen):


python C:\Tools\mbutil\mb-util --scheme=osm open-streets-dc.mbtiles D:\tmp\tiles

Habs gestern auch noch hinbekommen. Ich rufe es so auf:

python mb-util test.mbtiles /tmp

Jetzt muss ich nur noch eine passende openlayers oder leaflet Vorlage finden. Weiß jemand zufällig wie man die eigenen tiles einbindet? Hatte gestern schon mit der Anleitung im Wiki http://wiki.openstreetmap.org/wiki/OpenLayers_Local_Tiles_Example getestet aber das schein nicht ganz das richtige zu sein.

Edit: Was machste du denn mit dem Schalter --scheme ?

http://wiki.openstreetmap.org/wiki/User:Ajoessen/Osmviewer_und_GPXviewer

Und die dort verlinkte zip-Datei studieren :wink:

Weitere Nutzungsmöglichkeiten siehe hier:
http://wiki.openstreetmap.org/wiki/User:Ajoessen/eigene_Tiles#Verwendung_der_Tiles

Gruß,
ajoessen

Das schaut gut aus. Habs grad mal getestet und wie nicht anders zu erwarten geht es nicht. Ich habe mein Verzeichnis auf dem Webspace eingebunden und meine Karte wird nicht angezeigt. Habe das dann mal mit Chrome untersucht. Meine Verzeichnisstruktur nach dem Export mit mbutil stimmt soweit. Er findet aber die einzelnen Kacheln nicht. Er sucht nach dateien die bspw. so heißen: http://www.blabla/tiles/14/8801/5291.png bei mir heißen die Tiles nach dem Export aber http://www.blabla/tiles/14/8801/11092.png. Die Dateien haben also den falschen Dateinamen. Ich hatte irgendwo gelesen das das mbtiles Format spherical Mercator benutzt. Kann ich das bei der Projektion in der karten.js des gpx viewers irgendwo einstellen?

Man alles schwerer als gedacht. Wenn ich das zum laufen bekomme muss ich wohl ein dickes Tutorial dafür schreiben.

Es gibt da verschiedene Weltanschauungen, wie man die Tiles nummeriert. Google und OSM fangen oben an (bei 85° Nord, die offizielle TMS_Spezifikation fängt unten an, bei 85° Süd.

Umrechnung: ty1=(2**zoom - 1) - ty

Du kannst dir mal probeweise maptiler anschauen. Die nummerieren auch “verkehrt herum”, und bauen eine eigene Openlayers-Anwendung, die es dann richtigherum darstellt. Oder per script umnummerieren, oder sich einfach an die Standard-Mapnik-Toolchain halten :wink:

EDIT: Hier gibts was zum Anschauen:
http://www.maptiler.org/google-maps-coordinates-tile-bounds-projection/

Das hab ich schon hinter mir :wink:

Gruuß,
ajoessen