Another long time without mentioning any advancements on my map making efforts.
While not much has changed, what has changed is a big step to easier
customization.

In the last post in this series I gave a quick list on how I make my own maps:

  * Use SRTM elevation to generate a hypsometric base map, hill and slope
shading, and finally hypsometric curves. For the latter I'm using
`gdal-contour` and `shp2pgsql`.
  * Use any extract you want and import them with `osm2pgsql`. Small extracts
import quite quick, but so far, I have never succeeded to import a big part of
Europe (from Portugal to south Finland, so it covers UK/Ireland and Istambul)
in a machine with 8GiB of RAM and hard disks. The recommendation is to use a
machine with *lots* of RAM (16+, I heard up to 256 for the whole planet) and
SSDs.
  * Use TileMill for the initial design.
  * Do a lot of xml manipulation to try to customize OSM's mapnik style based
on your design.
  * Use
[generate_tiles.py](https://github.com/openstreetmap/mapnik-stylesheets/
generate_tiles.py)
to, well, generate the tiles.

But since August 2013 things have changed in the 3rd and 4th items in that
list. Andy Allan had finished a first big iteration of [redoing OSM's mapnik
style in CartoCSS](https://github.com/gravitystorm/openstreetmap-carto/). The
latter is a CSS-like language that is the native way to style things in
TileMill. Since then, customizing is way much easier, not only because of the
Cascading part of CSS, but also because Andy took the time to make a lot of
things (widths, colors) to things similar to C/C++'s `#define`s, which you can
override and impact anywhere where the definition is used.

So now, steps 3 and 4 are more like:

  * Use TileMill to change OSM's initial design[^1].
  * Export the design to a mapnik XML file.

In fact, that last step could be avoided, given that TileMill can also render
everything by himself.

The last step in having your own tiles to be able to use them. I use Marble in
my phone, but I also setup [a slippy
map](http://grulicueva.homenet.org/~mdione/Elevation.html) so I can brag about
it. Unluckily I can't embed the map here (I should fix this).

The tiles served actually come from different rendering passes using different,
incremental designs. The previous-to-last one can be seen in Deutschland's
region; I will be rendering some parts of London with a newer design before the
end of the month.


[^1]: You can use any text editor to change the CartoCSS files; TileMill will
      pick them up via inotify and rerender accordingly. The only problem is when
      you're editing multiple files to impact a zoom level that takes a lot to render
      (for me is between 6 and 8).


