My Account     Contact Us     Cart

Articles

Using MAPublisher and Illustrator tools to create great looking road layers

Here’s a question we receive at Avenza support quite often: I’ve located and imported a GIS layer of road lines with attributes for the city I’m mapping. How can I turn this:

into this:

Getting Started

The workflow for this process involves the use of both MAPublisher and Adobe tools, specifically MAP Stylesheets and MAP Selections along with Illustrator’s Graphic Styles and the Appearance Panel.

This process works on roads that have an attribute on which you can base classification rules. My road data has a column named “CLASS” with four categories: Controlled, Controlled-Ramp, Highway, and Street. I’ve created a graphic style for each and loaded them using “Open Graphic Style Library”. I keep the road styles I have created in a template document titled RoadStyles.ai so that I can import the graphic styles I need into whatever map I’m making from my template (see Adobe Graphic Styles Help).

Controlled Access Highway: Controlled Access Highway
Controlled Access Ramp: Controlled Access Ramp
Major Road: Major Road
Minor Road: Minor Road

These styles all have been created using the Illustrator Apprearance panel to overlay two strokes, the top stroke with a smaller weight and different colour than the bottom stroke (see Adobe Appearance Panel Help).

With our graphic styles set I can now apply the MAP Stylesheet I built using the following expressions:

Cleaning up with groups

Once we apply these styles using MAPublisher Stylesheets, we will see what steps we muys take to get the appearance we want. Our roads look like this:

but we want them to look like this:

Why does this happen?

This occurs because MAP Stylesheets applies graphic styles at the path level. To look like intersections, each road classification must become one object, whether by being grouped or by turning the various paths into a compound path. Grouping is the preferred method for managing these objects since a compund path will delete the attributes of all paths that are being compounded. In this case, the street names field would be blank for our compound path object as dozens of streets are turned into one compund path. The consequence of this would be to make automatic labelling with MAPublisher Label Pro impossible. A set of paths turned into a group will not have their attributes available to MAPublisher while in a group, however these objects can always be ungrouped making individual paths and their original attributes available again.

Grouping Objects

In order to group our road classes we will have to select the road paths belonging to each class. The expressions we created when defining our MAP Stylesheet rules are available to us to use again through the Expression Library (new in MAPublisher 8.3). We can use MAP Selections to individually select each of our road classes. Once selected the street classes can be grouped using CTRL+G on your keyboard or Object > Group from the menu (See Adobe Group Help). The final step is to re-apply the graphic style appropriate to each group using the Adobe Graphic Style panel.

If we want to get technical here in considering what has happend to our artwork, using the Appearance panel we can see that each of the paths we initially imported now has a graphic style applied to it on two levels: at the path level (done through MAP Stylesheets) and at the group level (done by grouping and applying a graphic style to the group). It is possible to symbolize our artwork even further, at the layer level, by slecting the target symbol for our roads layer (See Adobe Layers Help). If desired we could apply a transparency at the layer level that would supersede all graphic styles used on objects in the layer. Our artwork will now have symbolization that suggests intersections, giving our road map a much neater appearance.

Tweaking

Now that our roads are grouped together, they are much easier to manage in the Illustrator Layers panel.

Groups can be stacked easily. My preference is to arrange with minor roads at the bottom, increasing to multi-laned divided highways at the top of the hierarchy. With our objects grouped it is easy to move objects between groups. Any path can be selected using the Direct Selection Tool and dragged in the Layers panel between groups. This is much simplier than having to use the Appearance panel to strip the path of both graphic styles and apply the desired style. There will be some situations where we will need to override the intersection appearances that result from grouping. In this image we have onramps that definitely do not interesect as this line work suggests!

To do this we must select the road lines that will be on top of the intersection, and using the Illustrator Layers panel, drag them from their group (it does not matter where in the layer hierarchy the are placed).

Our ungrouped ramps can now be sent backwards and forwards relative to other paths, giving a truer representation of the road network:

Using MAP Stylesheets to create a Legend

So why use stylesheets if we must manually group the objects after use? For a few reasons: it keeps us organized, it adds the expressions to the expression library, and most importantly MAP Stylesheets can automatically generate a Legend for us that reflects our Stylesheet rule names:

Good luck creating customized road styles! A deeper understanding of the Illustrator object styling hierarchy can go a long way in helping you use MAPublisher to leverage your GIS datasets!

Create Knockouts with MAPublisher 8.3

We receive many questions about cartographic techniques. A very popular question from MAPublisher users is “How do I mask lines behind contour labels?”

Adobe Illustrator provided some tools to achieve that through a pretty complicated workflow, so we decided to create our own tool! The upcoming release of MAPublisher 8.3 has a very handy new feature called Create Knockouts, here is how it works.

First, you need a labelled map – for example contours and labels.

No knockouts

Start the Create Knockouts tool. All you need to do is choose the layer that contains the lines to be masked and the text layer with the labels.

Create Knockouts button

There are many options available, but let’s keep the default (100% opacity, no buffer around the text, use the default text bounding box from Adobe).

Create Knockouts dialog box

The result:

Tight fit around label

These knockouts are little bit tight after all, maybe we should add some buffer distance on the side. Start Create Knockouts again (no undo required!). Choose a side buffer of 5 pixels, and make sure to check “Replace existing knockouts”.

Create Knockouts dialog box

Et voilĂ !

Perfect!

MAPublisher 8.3 is releasing very soon. Watch our Twitter and News page for announcements.

News Archive

Blog Archive

November 2024 (1)
October 2024 (1)
September 2024 (2)
August 2024 (2)
July 2024 (2)
June 2024 (1)
May 2024 (2)
April 2024 (2)
March 2024 (2)
February 2024 (1)
January 2024 (1)
December 2023 (1)
November 2023 (2)
October 2023 (2)
September 2023 (1)
August 2023 (1)
July 2023 (3)
June 2023 (1)
February 2023 (1)
January 2023 (2)
December 2022 (1)
November 2022 (2)
October 2022 (2)
September 2022 (1)
May 2023 (1)
August 2022 (2)
July 2022 (1)
June 2022 (2)
May 2022 (1)
February 2022 (1)
January 2022 (2)
August 2022 (1)
December 2021 (3)
November 2021 (5)
October 2021 (1)
September 2021 (3)
August 2021 (2)
July 2021 (1)
June 2021 (2)
May 2021 (2)
April 2021 (2)
March 2021 (3)
April 2021 (1)
February 2021 (1)
January 2021 (1)
November 2020 (1)
October 2020 (1)
June 2020 (2)
May 2020 (1)
April 2020 (3)
March 2020 (2)
December 2019 (1)
November 2019 (2)
September 2019 (1)
August 2019 (1)
July 2019 (1)
June 2019 (3)
May 2019 (4)
April 2019 (2)
March 2019 (1)
February 2019 (2)
January 2019 (3)
December 2018 (2)
November 2018 (1)
October 2018 (1)
September 2018 (2)
August 2018 (4)
July 2018 (2)
June 2018 (1)
July 2018 (1)
June 2018 (4)
May 2018 (1)
April 2018 (2)
March 2018 (4)
February 2021 (1)
February 2018 (1)
January 2018 (1)
November 2017 (1)
October 2017 (2)
August 2017 (2)
July 2017 (1)
March 2017 (1)
February 2017 (2)
January 2017 (2)
November 2016 (1)
January 2017 (1)
November 2016 (1)
October 2016 (2)
May 2016 (1)
March 2018 (1)
April 2016 (2)
December 2015 (2)
June 2015 (1)
May 2015 (1)
April 2015 (2)
December 2014 (4)
October 2014 (2)
May 2014 (4)
February 2014 (1)
October 2013 (3)
April 2013 (1)
January 2013 (2)
August 2012 (1)
October 2012 (1)
July 2012 (3)
May 2012 (2)
January 2012 (2)
August 2011 (1)
July 2011 (2)
June 2011 (2)
May 2011 (2)
March 2011 (1)
February 2011 (1)
January 2011 (5)
December 2010 (1)
November 2010 (1)
December 2010 (1)
November 2010 (1)
October 2010 (1)
August 2010 (4)
July 2010 (2)
June 2010 (3)
May 2010 (2)
April 2010 (2)
March 2010 (2)