Vector Tiles for MapBox Streets
mapbox.com
mapbox.com
And the tour:
As an aside, MapBox (via funding from the Knight Foundation) is also behind the shiny new iD Editor for OpenStreetMap: http://ideditor.com/
Nope. We have started to use a common set of base styles ( https://github.com/samanpwbb/fresh-start ) but those are basically a reset.css + columns, etc.
I believe their ProtoBuffer approach sounds promising and their position in the mapping / OSM community is strong enough to get this to some kind of standard.
Have seen a few client vector-based approaches before. 2 of the better ones:
https://github.com/jywarren/cartagen
MapDroyd - was a product of OneStepAhead - now seemingly part of Cloudmade ( http://wiki.openstreetmap.org/wiki/MapDroyd - still in Google Play with screenshots etc search for MapDroyd )
Also KothicJS, a JS renderer.
Part of the challenge of rendering maps quickly is simplifying features, clipping and filtering the data. E.g. you might have a layer containing really high resolution national boundaries. Most tiles won't even contain any part of it, and those who do will either contain a small subsection or a vastly simplified version. If you were to try client side rendering based on that, you're potentially looking at gigabytes of data to transfer to the client.
What they're doing is essentially doing all the steps apart from the final rasterisation, and then storing that vector data on a per tile basis, so that they can process only the relevant vector data - whether to serve it up as is, or rasterise it.
One major advantage is that things like styles (line widths, colours) can be modified without having to re-render the entire map data set. Instead you just have to on-the-fly rasterise the already prepared tiles, which you can do without totally killing performance.
Even Google Maps WebGL implementation that only uses vectors for the streets is laggy as hell.
There's also this Open Letter: http://wiki.osgeo.org/wiki/Geoservices_REST_API#Open_Letter_...
And James Fee's view on the whole thing: http://spatiallyadjusted.com/2013/05/09/esri-and-an-ogc-stan...
I'd also be interested to see a write up on these aspects, what are the gains here... 10%? 10x? 100x?
[...] highly optimized, slim enough to fit the entire world onto a single USB stick.
Now that the exact size is known (1 world/stick), it's easy to get a feel for how this new format is better than the old alternatives, right? Grumble.
For my use (topographic maps) the ability to combine this on the client side with tiled raster data for thing where that makes sense (ie grey scale elevation, their satellite layers etc) would make this a killer platform.
I already have code to do slope angle overlays client side by applying an image transformation to elevation data in a canvass [1] which could be used for hill shading etc but the only available web services are slow, query (instead of tile) base, and use poorly defined encodings.
[1] The "Custom Slope Analysis" tool for identifying avalanche prone slopes on hillmap.com
Their unique value proposition is a platform for styling maps?
Both Cloudmade and MapBox use OpenStreetMap data. Leaflet ( http://leafletjs.com/ ) was created by Cloudmade and is the JavaScript lib for putting tiled maps on the web. Mapbox have their own version of Leaflet, but it's essentially much the same if all you want to do it drop pins, work with layers, choose a tile set.
Both are comparable, and both are strong in the same space: Custom styled, tiled maps. And both are weak in the same place: routing.
Not to say that they don't do routing, but it's certainly not their forte.
Thankfully the majority use-case for most sites and applications using maps is simply "show a map, drop a few pins here and there". So having this map look and feel like the site is actually a good selling point.
Only allowed me to pick car as a mode of transport, and unrealistically suggested I could get across 14KM of central London in 14 mins, but ignoring those things this is very nice.
Would love to see the path output of this added to Leaflet and a standard form of API emerge for Mapbox, Cloudmade, Google Maps, etc.
Also Public Transport route and connectivity information is frequently a bit patchy in OSM, but this is steadily improving.
Email in my profile... that is, if you think we're your market.
Adding public transport, cycling etc. would be fantastic.
For std image files, Mapbox make source available for their TileStream server (https://github.com/mapbox/tilestream). Not sure if/when it'll get support for the raster images.
Reverse geocode: http://nominatim.openstreetmap.org/reverse?format=json&l...
Forward geocode: http://nominatim.openstreetmap.org/?format=json&q=1600%2...