My Spatial Application Toolset For Creating Custom Tile Layers (a reminder to myself)

Like most people, I am getting more forgetful as I get older. But my advancing senility seems to have taken an unusual 21st century twist: whereas my mum, for example, will go into a room and forget what she went there for, I found myself earlier today looking at the list of programs in my start menu, unable to remember what they did or why I installed them.


The list of installed programs on my computer is a bit of a blur. And scanning down my /Program Files directory just looks like I’m looking through a foreign phone directory: /JMicron – what’s that? /MikSoft – no idea. /Quest Solutions – errrm.

I find myself opening up different applications one after another until I get the one I wanted, only to find that I’ve forgotten what it was I was going to do with it… and it’s not helped by the fact that I’m also a bit of a hoarder. Programs that I no longer use, or which have been superseded still litter my C:\ drive. I have two versions of Visual Studio and two versions of SQL Server installed side-by-side, and at least three different versions of Python, for example. Meanwhile, other applications such as FWTools and Shape2SQL, which I would have once used on an almost daily basis, now lie gathering cobwebs in my Start Menu, envious of the applications in my “recently used” list that have replaced them.

I’m doing a lot of work creating custom tile layers for Bing Maps at the moment so, for my own benefit, I thought I’d make some quick notes as to those applications I do actually use at various stages of a tool chain for this task. Then, next time I need to do this, I won’t faff around for ages loading up the wrong programs…

MapTiler – for creating tilesets from one or more georeferenced image files (e.g. a set of GeoTIFFs). This is essentially just a GUI wrapper around the script, which requires GDAL and Python.

Mapnik – for rastering, labelling and creating tilesets from vector shapefiles. (Should in theory be able to rasterise and tile geometry/geography data direct from SQL Server, but still haven’t got it to work yet). It’s what Open Street Maps uses and it makes very pretty tiles. Requires Python.

GDAL/OGR – for conversion and projection between most vector and raster spatial data formats, including importing/exporting to SQL Server/Shapefiles/CSV and more. Provides the conversion functionality used by MapTiler and Mapnik above.

OSGeo4W – Package containing precompiled binaries for the above, and many other useful spatial apps such as QGIS. Provides a shell in which all the environment variables for the various command-line apps are already configured, which saves a lot of time.

Microsoft Mapcruncher – for creating tilesets from small, simple, ungeoreferenced image files (e.g. PDF floorplans)

Safe FME – The first, and only, commercial tool on this list. Since it’s commercial, it’s only for when I deal with clients who have got the appropriate licence to use it. FME licences aren’t cheap, but it does justify its cost by basically replacing the functionality of all of the preceding tools in one go.

PNGRewrite / PNGCrush / OptiPNG / PNGOut /AdvPNG – used to compress created PNG tile images created by any of the above tools. (Conveniently packaged together in PNG Monster)

Perhaps at some point I’ll get round to deleting the many other applications I have that do very similar things to these but which I never use…

This entry was posted in Bing Maps, Spatial and tagged . Bookmark the permalink.

2 Responses to My Spatial Application Toolset For Creating Custom Tile Layers (a reminder to myself)

  1. Anthony says:

    I’m really surprised there isn’t a Microsoft / google sponsored app that does all this seamlessly. Surely they want to promote usage of their mapping and what better way to do it then by giving them to developers !

    I’ve started trying to make my own SQL => tile maker. Might be bored before I get anywhere!

  2. alastaira says:

    Yes, I’ve also noted in the past how it’s strange that SQL Server and Bing Maps – both MS products for dealing with spatial data – don’t really integrate at anything more than a trivial level. I know that there are some within MS who feel this way too, but the two products are developed completely independently by different sides of the business and I guess the “glue” between them is left to the community to figure out…

    I’ve also got several of my own half-baked SQL->Tile generating scripts too. I find that it’s easy to plot basic features – POIs, Lines, and Polygons – but things get a lot more complicated if you try to create cartographically-designed maps – i.e. adding street names that lie on and follow the path of the roads / making sure labels for features don’t overlap / generalising and thinning features at appropriate zoom levels.
    Things are about to get more complicated in SQL Denali too, which now supports curved geometries – CircularStrings, ComoundCurves, and CurvePolygons. I don’t think any of the tile-generating programs I’ve seen can cope with that!

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s