Tutorial: Drawing Complex Highway Interchanges in Illustrator
This is kind of a tangent to my normal tutorials, but I had a surprising number of requests for this after I published my McKinney Avenue Trolley map, so here goes!
The first thing to note is that this is not a 100-percent accurate representation of the interchange: this trolley map is not intended to be a road map or to be used to navigate freeways. I want to communicate the idea of an interchange stack and show general connections, but I’ve left some of the fiddly detail out. However, this technique stands up pretty well to any level of detail required: it’s just a matter of how patient you are.
Let’s run through this step by step:
This just shows my base layers before any of the complex stuff starts. At the very bottom, there would be a some sort of source image template for tracing elements from (which I’m not showing to improve clarity), then the background colour layer, then two road layers. In this part of Dallas, some parts of the highways are actually lower than the surface roads, so they come first (in a layer called “Hwy Low”), then a “Streets” layer for those surface roads.
A note here on colours. I actually define separate global colours for the different types of roads I need to show on a map, so that I can easily tell them apart while working. So, as shown here, there’s yellow for freeways/highways, white for surface roads and blue for freeway ramps. When I’m done, I can simply re-edit all these global colours to achieve the final look of the map (in this case, all roads end up being white). I also define a “road edge” colour for the stroke that separates the different level of roads (black in its working mode, the same colour as the background in the final piece).
I’ve added a layer for those parts of the highways that are elevated above the surface roads, called “Hwy Up”. Once I’ve drawn the paths for the roads, I’ve copied them and sent them to the back (a quick Cmd/Ctrl-C, Cmd/Ctrl-B combo) and changed their stroke from a 6pt “highway yellow” to an 8pt “road edge” black.
Here’s the first of my clever tricks for this type of work: the top yellow line has a rounded cap end, while the lower black line has a flat cap end (these are defined in the Strokes panel). If both of them had a flat cap end, then you can often see a tiny thin sliver of black extending past the end of the yellow, especially with PDF output. It’s tricky to see with this image, but I’ve circled a deliberate example of this in “Step 2” above. If both strokes have round ends, then the black stroke extends all the way around the yellow one, which we don’t want. Having a round cap above the flat cap hides it effectively every time.
STEPS 3 THROUGH 5
Now it’s just a matter of adding all the desired freeway ramps and overpasses, working your way up from lowest in elevation to the highest. You can do this all in one layer if you’re confident in Illustrator, or you can make separate layers for each level as you go up. I thinned my ramps down to 4pt wide, with a 6pt “road edge” stroke behind them. The outside edge of the ramp stroke needs to line up pretty precisely with the outside edge of the freeway stroke below it: this probably takes the most practice to get right on a consistent basis.
You’ll note in the images above that even though the “road edge” stroke should cross over and be visible above the highway that’s on a lower layer, it isn’t. This is my second little trick: I use an opacity mask on the strokes where required to hide parts of them from view.
If you haven’t used opacity masks in Illustrator before, then I highly encourage you to do some research and make them a part of your workflow. Basically, you draw a 100-percent black object that defines the area that you want to be masked, making sure it’s placed above the stroke in the stacking order. Then, select both the stroke and the mask object and click the “Make Mask” button in the Transparency palette (you might also have to uncheck the “Clip” check box to make things show up as you expect).
It’s certainly not as intuitive as masking in Photoshop, but it saves having to shuffle things around layers in an often futile attempt to get them behind some objects while still being in front of others. In the images above, I’ve shown the masks I’ve used for each stroke as a magenta box, just to give an idea of what’s required.
Note: You could also use the simpler Clipping Mask function to achieve the same end result, although here you have to draw a masking object that covers what you want to be visible after masking, not what you want hidden. I personally find it easier to draw a small object over the tiny part I want to hide, rather than a large object that encompasses the rest of the relevant stroke.
We could really call things done after finishing Step 5, but I wanted to give the freeway ramps and overpasses a little more dimensionality and depth. I do this by copying “road edge” strokes where they cross lower layers and then pasting them behind. I cut them using the scissors tool so that I’m only left with the pieces that are required, then I just nudge them a few points directly down the page to give the illusion of depth. These are shown in green in Step 6 above.
Now it’s just a matter of redefining the working global colours for each element to achieve the final look. For this map, that means changing all the road elements to be white, and the “road edge” colour to match the background colour. Beautiful!
New Adobe Illustrator “Join Tool” Aids Transit Map Design!
When Adobe Illustrator CC introduced “Live Corners" in January of this year, I was overjoyed. They’d taken one of the most time-consuming and tedious tasks in transit mapping – generating properly nested sets of rounded corners where route lines changed direction – and turned it into something intuitive, quick and 100-precent accurate every time.
However, it didn’t solve every problem. Joining two separate paths into one (so that Live Corners could be applied to the new corner point) was still a laborious task that involved using the Scissors tool and hoping that it snapped to the paths properly, or a lot of manual pulling and pushing of endpoints until the two points aligned precisely (and it had to be precise, or you’d end up with two points very close to each other, one of which would have to be deleted before Live Corners could be used).
Despite their name, Illustrator’s Pathfinder tools actually do a lousy job with unclosed paths: only one of them – Outline – works at all, and even then it strips all stroke attributes from the path in the process. So they’re not the answer, either.
However, the October update to Illustrator CC 2014 (version 18.1, if you’re keeping track) introduced the new “Join Tool” that hides away underneath the Pencil tool, as seen in the first picture above: and it’s simply fantastic.
Simply select the two paths you want to join, and then just lazily swipe over the bits of the paths that you want to be eliminated, as shown by the arrow in the second picture. That’s it! Because you’ve selected what you want to tool to affect, it doesn’t do anything to other paths nearby, like the cyan paths in the example shown.
As you can see in the third picture, Illustrator has instantly joined the two paths with a single point, that (in all my experiments at least) is exactly where it should be. It does also add some bezier anchors even though the paths are completely straight, which doesn’t seem to affect the subsequent application of Live Corners (picture 4). If it really bothers you or you like super-clean artwork (like me!), then you can click on the point with the Anchor Point Tool (Shift-C) to get rid of them before any further editing.
Tutorial: Working with a Grid in Adobe Illustrator
Got a message in my inbox from ssjmaz, who says:
I’m new to working with Illustrator. While working with 45 degree angles and Snap to Grid on I have a hard time getting my lines (routes) to align properly, there is always a part of them that intersects with the neighbouring line.
Back when I first started making transit maps, I had this exact same problem. I’d make my grid, turn on Snap to Grid to lock all my route lines to it and start drawing my map. And then I’d realise that while lines drawn horizontally and vertically always worked perfectly, lines at 45 degrees had problems. The first one was always fine, but any subsequent parallel lines simply couldn’t conform to the grid because: mathematics.
If you’ve got a 10 point grid, then each side of a grid square is 10 points long. However, this means that the diagonal distance across the grid square has to be longer – Pythagoras’ Theorem and all that. In the case of a 10-point grid, the diagonal is 14.14 points long. Because of this, locking a second diagonal route line to the grid is just never going to work: it’s either going to be too close and overlap the first one, or too far away, leaving a gap between the two route lines. See the top image above.
So what to do? There are two basic options, shown in the second and third images above:
1. Use the Object > Path > Offset Path… command to offset your existing route line by the required size of your grid (10 points in this example). This works well, but does require some cutting of the resultant path to get the final required segment. I go into more detail about offsetting paths in this post.
2. My preferred method: draw your second diagonal path exactly over the top of the first one and then offset it using the incredibly useful Move dialog box. This is accessed by simply pressing the Return or Enter key while you have an object selected. Input the required distance (equal to your grid: 10 points here) and angle in the relevant boxes. Ignore the first two boxes: they’ll update dynamically as you enter values below, then click ‘OK’ to accept the move. Again, there’s some clean up required as you have to join your new diagonal path with its corresponding horizontal/vertical one. For reference, the angles that are most useful for transit map design are:
+45 degrees: moves up to the right
-45 degrees: moves down to the right
+135 degrees: moves up to the left
-135 degrees: moves down to the left
Note that the two points where the route lines change direction are at an angle of 22.5° from the vertical: exactly halfway between the only two options available if you lock all your paths to the grid. In short, a grid is an essential tool for laying out your diagram, but you can’t expect to be able to lock every single element to it. Knowing when you have to turn “Lock to Grid” off and place things manually is a big part of being a good map maker.
Graphic Fix: Change Background Color of Text Box in Illustrator
Problem: My Kentucky Ave label overlaps with objects below it, resulting in a cluttered appearance. Turns out, there is a super easy fix for something like this!
1.Create the Area Text (text box).
2. Select the Area Text with the Direct Selection Tool (white arrow).
3. In the Appearance panel select desired background fill color and adjust Transparency to your heart’s content. Your labels should now look like the Western Ave label on the picture.
4. With the text frame selected, drag and drop the new Fill onto the Graphic Styles panel to re-use it later.
Transit Maps says:
This is a great tip for people who use Area Text in Illustrator — that is, dragging out a text box for type to fit into, rather than just clicking once to use Point Type. The crux of this tip is using the Direct Selection tool to select the text frame only, otherwise Illustrator wants to apply the fill to the type contained within it. Silly old Illustrator!
If you’re like me, and you don’t like to use the Area Type tool, you can always position a new frame beneath your type and apply the required fill/transparency to that instead.
An alternative way to separate your type from an object that it overlaps would be to apply a stroke to your text, which I covered in this post back in November.
Tutorial: Harnessing the Power of Illustrator’s “Symbols” Feature in Transit Map Design
Imagine this scenario: you’ve been working for months on a complex transit map — lots of interchanges and routes — for a big-city transit agency and you’re presenting it to their management team for approval. They love it, except they’d like the circular interchange markers you’ve used to be square with rounded edges instead. And they’d like to see the revised version in an hour.
If you’ve used standard Illustrator artwork for each of your interchanges, then you’ve got a frantic afternoon of finding, deleting and replacing every interchange marker on the map ahead of you. However, if you’d used Illustrator’s Symbols feature, then this request would be an absolute breeze.
Symbols were quietly introduced into Illustrator way back when Adobe acquired Macromedia, and are a feature lifted directly from Flash. Put simply, the feature allows you to define Illustrator artwork as a “symbol”: every duplicate of that symbol is linked to that original artwork. Which means that when you edit the symbol’s artwork, it instantly updates all the duplicates (or “instances”, as Adobe likes to call them). Super powerful and not used nearly enough by most.
STEP ONE: Defining a symbol couldn’t be easier, as seem in the first image above. With the Symbols palette open (Window menu > Symbols or Shift-Cmd/Ctrl-F11), simply select your artwork and choose “New Symbol…” or click on the “New Symbol” icon at the bottom of the palette. In the resulting dialog box, give your symbol a descriptive name, and choose a registration point. For an interchange symbol, the centre point is best. If you’re creating a symbol for a “tick” mark, then use a registration point that matches where you’d like the tick to attach to its route line.
Click “OK” and you’re done!
STEP TWO: Picture 2 shows the Symbols palette with three different station marker symbols set up and ready to use. If you are using “ticks” or other markers that are colour-coded to the route lines, you’ll have to make symbols for each colour and variation needed. To make more instances of a symbol, you can drag one out of the Symbols palette onto your artboard, or you can simply duplicate one that already exists. Symbols are readily distinguishable from normal artwork: they have a little bounding box and a little “+” marker that corresponds to the registration point you defined in Step 1. For a symbol where the registration point doesn’t actually align with anything useful, like the double interchange marker, you can still see and use the centre points from the original artwork to align things properly.
STEP THREE: The third picture shows the solution to our problem and the real benefit of using Symbols. I’ve created new artwork for the interchange marker — a square with rounded edges, just as the client requested. With that artwork selected, click on the “Interchange” symbol in the Symbols palette and choose “Redefine Symbol” from the flyout menu. Instantly, every instance of that symbol takes on the new appearance! You can also double-click on any instance of a symbol to edit it, but I find this “Redefine” method easier when completely changing the look of a symbol.
Tutorial: Creating Multiple Parallel Route Lines using Art Brushes
Last week’s tip about using the Offset Path command in Illustrator to create multiple parallel paths was very well received, but reader Leah left a comment saying that she finds using Art Brushes quicker and easier. If nothing else, it’s good to be reminded that there are always different ways to achieve the same result!
Setting up an Art Brush for what we want to do is actually pretty simple. Simply create a short section of the setup you’d like to use as a brush — in the first picture, I’ve got three parallel 8-point lines, spaced 10 points apart (exactly the same as last week’s example).
With these three paths selected, simply choose “New Brush” from the Brush palette’s flyout menu, or click on the “New Brush” icon at the bottom of the palette. When Illustrator asks you what type of brush you’d like to create, choose “Art Brush”.
In the resulting dialog box, give your new brush a descriptive name, and make sure the Brush Scale Option is set to “Stretch to Fit Stroke Length”. Finally make sure that the arrow that’s overlaid on your artwork in the little preview window runs along the length of your lines. Click “OK” and your Art Brush is ready to go!
Applying it to your path couldn’t be easier, as shown in the second image. Simply select your path, click on your newly-created brush in the Brushes palette and — hey presto! Note, however, that this is still one path that is styled with the Art Brush to look like multiple paths. To make three separate editable paths (which you’ll almost certainly have to do, as the routes will eventually go in different directions), you’ll need to select the path and choose Object menu > Expand Appearance. And this is where my (minor) problem with this technique lies.
As the last image shows, the original path had just three anchor points: one at each end, and one in the middle. When I offset this path in last week’s tutorial, the new paths also had just three anchor points — nice, clean, easily editable artwork. When we expand the Art Brush-styled path, it creates a lot of extra anchor points — over 20 on each path in my example! This is not my idea of clean artwork, even though it looks much the same as the offset paths.
In the end, the two techniques produce very similar results — offsetting paths takes a little longer, but (in my opinion) makes cleaner finished art. The Art Brush technique is easier to set up and allows you to have an arsenal of brushes at hand for different numbers of parallel route lines, but it makes a bit of a mess behind the scenes. Both are valid approaches to the problem: it’s up to you to decide which suits your needs best!
Tutorial: Creating Multiple Parallel Route Lines
Today’s tutorial comes from an anonymous question that I received in my Tumblr Inbox, which asked:
I design a bus transit map using a street layer. But how can i align correctly multiple lines on a street without overlap?
This is a great question. You’d be amazed how often I see people attempting to draw multiple parallel route lines manually, which is absolutely the most difficult way of doing things. You might be able to get away with it on a rectilinear transit map, but it’s almost impossible to get right when your route lines are overlaid on a standard road map — there are always curves and twists in the road that make it nigh-on impossible to manually draw adjacent route lines without things looking terrible.
For an example of a very poor attempt at drawing parallel route lines individually, you need look no further than the light rail map for Denver, Colorado (April 2013, 2 stars).
The most frustrating thing about seeing it done the wrong way is that there’s a tool in Adobe Illustrator that makes this task almost effortless.
Object Menu > Path > Offset Path…
The images above demonstrate how to offset route lines correctly — the first image shows how it’s done with an odd number of route lines; the second illustrates how to do it for an even number of route lines.
If you’ve drawn the street layer on your map yourself, then you’ve probably already got the first thing you need — a path that follows the centre of your street. Copy it and then Paste in Front (Cmd/Ctrl-F) so it sits exactly on top of the original. Then move it to its own layer above the street layer and stroke it the way you want your route lines to look. In my example, we’ve got an 8-point wide red route line.
If you’re drawing your route lines on top of an aerial photo or Google Maps image, then you’re going to have to draw your own central route line. Be as accurate as possible while also using as few bezier points as you can. Again, put it on its own layer and make it look the way you want. Now the fun starts.
IF YOU NEED THREE ADJACENT ROUTE LINES (First image), then you’re going to use the central route line you already have, and use the Offset Path function to create a new route line on both sides at once. Select the path, then invoke the Offset Path command. In the resultant dialog box, enter the amount of offset you want, which is the desired distance between the paths. Here, I want a little gap to show between my 8-point route lines, so I entered 10 points. The middle part of the first image shows the results: Illustrator will offset your path to both sides of the line, so it’s basically done all the hard work for us. Now you just need to use the Scissor tool (C) to cut and then delete the pesky little joining lines that are created at the top and bottom (circled in blue in the image). From there, simply colour the route lines as required. If you need five, or seven, or more route lines, simply keep offsetting the outermost route lines by 10 points and then cutting the resulting new lines to only keep the outermost section each time.
IF YOU NEED TWO ADJACENT ROUTE LINES (Second Image), the process is almost the same, except that when you select and offset the original path, you only use half the required distance between route lines (in my example, 5 points). Then you can delete the original route line, keeping only the new offset paths, which now sit neatly on either side of the centre of the road. To create four, or six, or more route lines, continue to offset the outermost paths by 10 points as in the first example.
Tutorial: Station Labels Using the “Core Type Area” - Part 4: Intersecting Route Lines
Here’s the last of my tutorials regarding station label placement – what to do when route lines intersect each other. There are three standard ways that orthogonal route lines can cross each other, each illustrated above.
Horizontal and Vertical Lines: The simplest intersection to deal with. Simply keep the same distance from the side and top/bottom of your label for consistent results.
Vertical Line Intersecting an Angled Line (or a Horizontal Line/Angled Line): This one’s a little trickier and a lot of it comes down to personal design preference. In the example shown, keep labels the standard distance away from the vertical route line, but move the labels down or up to nestle them into the 135-degree angle created by the intersecting lines better. I’ve used the intersection point of the two lines to create a guide to align the distance guide to, and it works well. Experiment and see what works for you. If we were dealing with a horizontal line intersecting an angled line, we’d keep the standard distance to the top/bottom and move the labels left/right to get the right visual spacing.
Two Angled Lines Intersecting: This is probably my least favoured label type, because it simply has to break the spacing conventions that I normally use. Because you need adequate space between the top and bottom of the Core Type Area and the angled route lines, you have to move the type at least twice as far away from the route lines as you normally would. It still looks visually correct most of the time, but be wary of overusing this type of label.
Tutorial: Station Labels Using the “Core Type Area” - Part 3: Angled Labels
While it’s true that I don’t really like the use of station labels that are angled — being very much in the Erik Spiekermann camp that believes horizontal labels aid comprehension and create a cleaner looking map — I do realise that there are times when their use is necessary.
If you do use angled labels, then I strongly advise that you keep the number of angles used to the absolute minimum required — type that reads from many different directions is always going to cause headaches. This is one thing that the Sydney rail network map (both the new version and the previous one) has done well: it only uses labels angled in one direction, reading from the bottom left to the top right.
Once you’ve decided that you absolutely have to use angled labels, the rules for their placement are exactly the same as in the previous two tutorials, except that you rotate everything 45 degrees around, using the placement rules that used to apply to one type of route line to the other.
The first image shows what it looks like if you take labels that were used for a route line angled at 45 degrees from top left to lower right and rotate the lot another 45 degrees counter-clockwise. Use the corners of the Core Type Area to determine positioning. It’s pretty easy to see how this would also work if your labels were angled the other direction. The same technique would also apply to a vertical route line, but exercise common sense here — there’s even less reason to angle a label on a vertical route line!
The second image shows a vertical route line that’s been rotated 45 degrees clockwise to show how angled labels for a 45-degree route line should look. Use the edges of the Core Type Area in these cases.
One more post in this series to come: labels where route lines intersect!
Tutorial: Station Labels Using the “Core Type Area” - Part 2: 45-Degree Angled Route Lines
Following on from last week’s tutorial, here’s how to use the Core Type Area to make your station labels align perfectly and consistently when you’re applying them to 45-degree angled route lines.
If you use the edges of the Core Type Area when you’re aligning labels to horizontal and vertical route lines, then it should make perfect sense that you use the corners of it when you’re labelling angled stations. The first GIF shows the defining setup — using the bottom right corner for labels above and to the left of the route line and the top left corner for labels below and to the right of the route line. I’ve shown this setup first because it always looks right: there’s always a capital letter in the former, and the bottom right edge of a lower-case letter in the latter.
The second image shows what happens when you apply the same rules to the opposite angle. That is, using the top right corner for names to the left and below the route line, and the bottom left corner for names above and to the right. When the route line is angled like this, it can be harder to see that you’ve got the placement right, because the letterforms are more varied.
In the first instance, the last letter of a word could be an “n” (as we have here) or a “d”. We need to allow space for the “d” to fit comfortably, hence the use of the Core Type Area, which shows us exactly that. Whatever you do, don’t nudge labels without a final ascender up until that letter aligns with the station marker: this is what leads to uneven and inconsistent baselines as seen on the recent Sydney Trains map redesign.
Labels to the right and above aren’t quite as bad, but there’s still some variance: the first letter could be a “T”, “B”, or “W”, all of which have a different visual relationship to that bottom left corner. Remember to use the Core Type Area — the box that defines the maximum size the label could take up — and not the letterforms themselves to align text to markers and you should always be okay.
The last image shows a mistake I see quite often when designers try to align their labels to 45-degree lines by simply moving the label sideways from the marker, instead of across and up/down an even amount. I personally prefer not to do this, as I think it creates uneven spacing, but it can look effective and interesting when done right.
However, be aware that labels that sit on the lower side of the route line need to hang from the top of the Core Type Area (by their cap height) or they’ll end up being too close to the route line, as shown in the image. Type that sits on the higher side of the route line can sit on its baseline.