As with my old subway map, the most difficult parts of creating the new map didn’t involve any programming. The hardest and most time-consuming part by far was cleaning the TTC ride guide and projecting it onto Google’s tiles. I made heavy use of Adobe Illustrator for this part, removing the unnecessary bits which Google’s maps already have (streets, street names, landmarks, etc.) and then scaling, rotating and moving the map around so that the routes matched their respective streets. Sure, that should have been relatively simple but it wasn’t. First, Illustrator’s selection tools leave much to be desired. Secondly, Illustrator is a pig. The 1MB PDF which is the TTC ride guide ballooned to over 30MB inside Illustrator, and oftentimes even the most minute transformations took tens of minutes to complete. Even after all that work, the lines don’t quite match up, especially on the city’s outskirts, but it’s good enough.
All this tedious work leaves me with a greater appreciation of the TTC ride guide. The PDF version of that document has been around for at least a decade, and yet a computer I purchased last year had trouble manipulating it. There’s no way the map could have been made manually; it has to be computer-generated.
In addition to being unwieldy on large files, Illustrator wouldn’t let me export the image for zoom level 2 of the map. Apparently it was too large to be saved to PNG. I had thought zoom level 3 would be enough but, as someone was quick to point out, that level isn’t enough as it doesn’t contain names for smaller streets. I’m currently trying to figure out a way around that, although it’s difficult as the image for zoom level 2 will be 13794 by 8192.
Through my work with the Toronto transit map I’ve created a few tools which others will find useful. The first is a simple script to download and collate the Google tiles for a given area into one large image. The second is a command-line tile cutter which uses free software and which has a few more features than the automatic tile cutter for Photoshop. I will be releasing those shortly.