Ich bin ebenfalls auf der Suche nach Lösungen für clientseitiges Rendering und bin kürzlich über einen Blog-Post auf TileStache (Python Server) und Polymaps (JavaScript Karten-Bibliothek) gestoßen. Tilestache kann GeoJSON Vector Tiles liefern, die nach dem OSM Tile Schema aufteteilt sind und auch gecached werden können. Je nach Konfiguration (clipping) werden die Geometrien an der Kachelgrenze aufgetrennt oder komplett geliefert. Mit Polymaps können die Daten im Browser gerendert werden (per SVG und CSS).

Ähnliches wird es auch bei Mapnik2 mit dem MetaWriter geben, siehe Demo von Hermann Kraus. Ist aber wohl eher als Ergänzung zu den Raster-Tiles gedacht.

Ich bin dabei, das mal anzutesten. Mein Ansatz ist, Tilestache mit dem PostGeoJSON Provider (für PostgreSQL) zusammen mit OpenLayers und der Grid.js aus der MetaWriter Demo zu verwenden. Für das Styling hab ich mal versucht, mit mapnik2geotools den Mapnik Stil nach SLD zu konvertieren, das teilweise auch von OpenLayers unterstützt wird. Da stößt man aber schnell an Grenzen, OpenLayers hat halt (noch?) keinen kompletten Renderer dabei.

Die Lösung, um eine komplette Karte zu rendern, ist das wohl noch nicht, geht aber schon mal in die richtige Richtung. Im mobilen Bereich hört sich MapsForge noch gut an, das gibt’s aber momentan nur für Android.