One of the neatest hacks in TileMill is the "UTFGrid", used for associating tooltips to regions of the map ... without having to do all kinds of expensive boundary checking on the client-side.
Why use a grid of characters and not a grid of pixels (with indexed values that can be linked to the properties just like UTFGrid links chars to properties) ?
I use this kind of pixel grid which brings those advantages, especially for very large maps :
- use of the image (with carefully chosen colors) as a direct preview of the map (depending on the resolution)
- efficient (bidirectional) PNG compression
- use of already present image manipulation libraries for all kind of manipulation (like layers addition)
TileMill is great, I used it to style our replacement maps, since google maps decided to start charging. Here is an example: http://tile.ridewithgps.com/leaflet.html
TileMill is addictive to play with, though very tedious if you don't have a fast machine with some SSD's, as refreshes take a while to reload various zoom levels to see your work. Not much to be done there except throw hardware it.
Edit: I am hosting our maps on my own hardware, mapnik2+mod_tile. I just used the slick client to create a mapnik XML file for rendering.
Your demo displays one problem : the strange choice of labels. For example, look for France's capital at zoom 8. You'll see a lot of small towns indicated but not Paris. And I can reproduce this for a lot of notable towns (like NY).
Question: where did get the map and terrain data from if I may know? I used shapefiles from OpenStreetMap but they aren't as complete as I thought they are.
possibly inappropriate but i'd just like to say that i'm a huge fan of ridewithgps, best by some way for planning/sharing routes (i have never actually used the gps bit)
TileMill is a lot of fun; you can download it and be making custom maps in just a few minutes. There's a lot of very sophisticated open source cartography hiding under the covers, not to mention nodejs wizardry. They've done a great job of packaging it all and making an easy to use tool for map-makers without requiring a lot of GIS or OSGeo expertise.
One particularly nice option is the ability to "print" your pre-rendered map to an MBTiles bundle for serving in a slippy map on the web.
Looks great, and kudos on releasing open source code as well. As a developer who has specialized in making web-based maps, I've been dreaming of something like this coming a long, and here it is.
I had seriously considered working toward the same goal, but gave up because I wasn't sure about what kind of customers I might find. I'm still convinced that there are a lot of customers out there for this type of thing, and I hope you guys make this into something big!
We've been using TileMill for a good 6 months now; for anybody who has been struggling with the tools that were available so far, it is a breath of fresh air.
I'd recommend anybody to give it a try and then have a look at their plans: http://mapbox.com/plans/. It's damn affordable for that kind of service.
We even use Tilemill's underlying node.js framework, Bones, for some of our projects.
Maybe not entirely on topic, but after some googling I could not find this: what is the easiest way to have this interface (or Google Maps, etc) towards a huge picture (so not maps/GIS). A gigantic panorama picture so that the end user can pan and zoom?
Yes. Stitching the tiles together is relatively easy. Depending on the specific tiling scheme, you may be able to do so without any depth of knowledge in geography.
That said mapnik [1], the rendering engine used to generate tiles, is a general purpose geographic data renderer. You could use tilemill as a tool to generate the map style then use mapnik directly to render your map at any pixel or geographic dimensions desired.
[+] [-] jashkenas|14 years ago|reply
http://mapbox.com/mbtiles-spec/utfgrid/
edit: TileMill is also a really cool example of using Backbone.js + Bones to build a Desktop app: https://github.com/mapbox/tilemill/tree/master/models
[+] [-] canop_fr|14 years ago|reply
I use this kind of pixel grid which brings those advantages, especially for very large maps :
- use of the image (with carefully chosen colors) as a direct preview of the map (depending on the resolution)
- efficient (bidirectional) PNG compression
- use of already present image manipulation libraries for all kind of manipulation (like layers addition)
What's the benefit of using UTF characters ?
[+] [-] ericgund|14 years ago|reply
- TileMill on Windows,
- Live map rendering for dynamic data via TileMill + direct uploads to MapBox for hosting,
- Beautiful new OpenStreetMap base maps as an alternative for Google Maps w/ its new usage fees,
- Shipping fast hardware (which we are still designing :) http://www.flickr.com/photos/developmentseed/5812414817/).
[+] [-] reedlaw|14 years ago|reply
[+] [-] cullenking|14 years ago|reply
TileMill is addictive to play with, though very tedious if you don't have a fast machine with some SSD's, as refreshes take a while to reload various zoom levels to see your work. Not much to be done there except throw hardware it.
Edit: I am hosting our maps on my own hardware, mapnik2+mod_tile. I just used the slick client to create a mapnik XML file for rendering.
[+] [-] canop_fr|14 years ago|reply
Your demo displays one problem : the strange choice of labels. For example, look for France's capital at zoom 8. You'll see a lot of small towns indicated but not Paris. And I can reproduce this for a lot of notable towns (like NY).
[+] [-] eblade|14 years ago|reply
[+] [-] jeffcapeshop|14 years ago|reply
[+] [-] NelsonMinar|14 years ago|reply
One particularly nice option is the ability to "print" your pre-rendered map to an MBTiles bundle for serving in a slippy map on the web.
[+] [-] akamaka|14 years ago|reply
I had seriously considered working toward the same goal, but gave up because I wasn't sure about what kind of customers I might find. I'm still convinced that there are a lot of customers out there for this type of thing, and I hope you guys make this into something big!
[+] [-] hunvreus|14 years ago|reply
I'd recommend anybody to give it a try and then have a look at their plans: http://mapbox.com/plans/. It's damn affordable for that kind of service.
We even use Tilemill's underlying node.js framework, Bones, for some of our projects.
[+] [-] ojilles|14 years ago|reply
[+] [-] tmcw|14 years ago|reply
[+] [-] spacestation|14 years ago|reply
I need something more "freehand" and Ortelius is what I need; http://www.mapdiva.com/ortelius/
[+] [-] xbryanx|14 years ago|reply
[+] [-] mmaunder|14 years ago|reply
[+] [-] awj|14 years ago|reply
That said mapnik [1], the rendering engine used to generate tiles, is a general purpose geographic data renderer. You could use tilemill as a tool to generate the map style then use mapnik directly to render your map at any pixel or geographic dimensions desired.
[1] http://mapnik.org/
[+] [-] dhotson|14 years ago|reply
[+] [-] noeltock|14 years ago|reply
[+] [-] twog|14 years ago|reply
[+] [-] ximeng|14 years ago|reply
[+] [-] dangoldin|14 years ago|reply
[+] [-] tectonic|14 years ago|reply
[+] [-] jarnix|14 years ago|reply
[+] [-] iampeter|14 years ago|reply
[+] [-] JoannaMeiger|14 years ago|reply
[deleted]