My Account     Contact Us     Cart

Making dashed lines intersect at every intersection in MAPublisher

One of the great advantages of using Adobe Illustrator for a mapping project is that you can make great line styles easily. For example, to make a double line stroke and one of them is dashed:

01: Double Stroke Line

Double strokes are a line graphic style where two different line strokes overlap each other. For example, the image shows that there is a stroke with a brown color and its stroke size is 3 pts. On top of this brown line, there is a 1 pt white dash line:

02: Double stroke lines with the settings shown in the appearance panel

You might have an experience where you duplicated one line layer and assigned a different style for lines in each of those layers. However, this has some disadvantages. The file size will increase because all the line segments as well as the attribute information attached to every line object is duplicated. Also, when you apply the double stroke line to road layer, the white dash line does not intersect nicely at every intersection of the map:

02: Double stroke problem

With Adobe Illustrator CS5, these problems are solved.

0) Create a graphic style like the one shown above.

1) Open the Pathfinder panel (Window > Pathfinder).

03: Pathfinder Tool

2) Select all the line objects in the line layer.
Click the outline tool 04: Pathfinder - outline tool .

This function in the Pathfinder tool breaks lines at every intersection.

03: Pathfinder - function: breaking lines at every intersection

All the selected objects which were selected at Step 2 will be broken into segments at every intersection and they will be grouped as one object in the layer.

04: Pathfinder result - all the objects are now grouped.

3) Having the grouped objects selected, apply the graphic style with the double stoke.

4) The white dashed line is intersected at every intersection nicely.
05: dashed lines intersect at every intersection

Quick tip

When creating double stroke, make sure to select the option trick tool “Align dashes to corners & path ends, adjusting length to fit” available next to the dash line option.

Note

Since this operation involves a pathfinder functions, the attribute information will not be matintained after the “outline” function is applied to those selected line works. Our development team is looking for a possible solution to keep the attribute information for the future version of MAPublisher.

Changing the Point Angle using Expressions and Attribute Values in MAPublisher

Here we have placed point symbols for a MAP Point layer. However, we want to change the point angle using the Attribute values.

Step 0: my point (not rotated)

Below is the attribute table for the point data shown above. The field directionAngle is the field containing the symbol rotation value. With MAPublisher, it’s possible to assign this value to every symbol in this layer.

step 1: Attribute data

Open the Edit Schema dialog box from the MAP Attribute panel. Find the field called #Rotation from the attribute field list. This #Rotation field is hidden/invisible by default. Click the Visible option to enable it and click OK.

MAP Attributes > Edit Schema

In the MAP Attributes panel, you can see that the #Rotation field shown. The values in this field is 0.00 degree for every point in the layer. We’ll assign the angle value from the directionAngle field to the #Rotation value .

MAP Attributes panel with the #Rotation field displayed

Open the Apply Expression dialog box from the MAP Attributes panel. Enter the column name directionAngle for the Expression and ensure that the value will be applied to the field #Rotation.

MAP Attributes panel > Apply Expression

Every value from the directionAngle field is now inherited by the #Rotation field.

MAP Attributes: Angle value assigned

As a result, the rotation angle is now applied to every point.

Point symbols after the angle values are assigned

The origin of the rotation is at each point’s registration point. With Adobe Illustrator CS4 and earlier, the registration point is set at the centre of the point symbol. With Adobe Illustrator CS5, the registration point can be flexibly placed. This will be discussed with some examples in a later topic. Stay tuned!

Creating a Custom Coordinate System from a Predefined Coordinate System

When transforming a world map in a geodetic system (such as WGS84) to a predefined projection (such as Robinson) using MAPublisher, the central meridian of the predefined projection should be set to 0 degree longitude as shown below.

Image 1: world map in WGS84

World map in WGS84 geodetic system

Image 2: world map in a predefined Robinson Projection

World map with the Robinson Projection with default settings

However, you might want to have a map with a different region centred on your map. For example, Image 3 below shows a world map with a part of Asia centred. In this case, the central meridian was set to 160 degrees East.

Image 3: world map in a custom Robinson Projection with a central meridian value set to 160 degree East

World map in a custom Robinson projection

Today we’ll introduce how to create a custom coordinate system by modifying a predefined coordinate system. We’ll use an example using a GIS dataset world.mif available in the MAPublisher Tutorial folder. We are going to transform a world map to a custom central meridian value with the Robinson projection.

Step 0 : import the “world.mif” file from MAPublisher tutorial folder.

step0:: import World.mif

Step 1 : Open the MAP View Editor window from the MAP Views panel.

In the MAP View Editor window, you can see that the scale of the map, position of the map extent with respect to the current document extent, and most importantly the current coordinate system assigned to the MAP View.

step 1: MAP View Editor window

We are going to transform the MAP View from WGS84 to the Robinson projection with a custom central meridian value. Check the “Perform cordinate System Transformation option.

Click the Specify button under the “Perform Coordinate System Transformation” section. It will open the “Specify Destination Coordinate System” dialog box.

 

Step 2: Creating a custom coordinate system with the Robinson projection

We are going to create a custom coordinate system based on the Robinson projection by modifying the existing Robinson projection. Find the existing Robinson projection from the list.

On the left side, navigate to Coordinate system > Projected > World. Highlight the folder “World”. You will see the list of the predefined coordinate systems available on the right side of the window. Find the “Robinson” and highlight it.

Step 2: Finding the predefined Robinson Projection

Once the predefined Robinson projection is highlighted, click the Copy button copy button at the bottom. It will duplicate the existing coordinate system and will open the “Projected Coordinate System Editor” dialog box for the duplicated coordinate system.

In the Projected Coordinate System Editor dialog box, there are two tabs: Identification and Definition. In the Identification tab, enter a new name for this customer coordinate system. This name will be used when you are searching the object.

Step 4: Projected Coordinate System Editor

Click the Definition tab. Change the value of central_meridian from 0 (default) to 160. Click OK to apply this new setting. You have just made a custom coordinate system based on the existing Robinson projection.

step 5: Projected Coordinate System Editor (Definition)

Step 3: Complete the Transformation

Under the “Perform Coordinate System Transformation”, the new custom coordinate system just created is indicated. Now you are ready to transform your map.

step 6: MAPView Editor with a transformation option

Now the world map is successfully transformed into the custom coordinate system (Robinson with the central meridian set to 160 degree East).

Transformed Robinson

You might want to take a look at this other blog about the new transformation engine implemented in MAPublisher 8.3.

Transforming an image into a custom coordinate system with Geographic Imager

You can use the same approach to transform your image into a custom coordinate system.

First, we open a world image that has a WGS84 coordinate system.

a world image in WGS84

Click the Transform button in the Geographic Imager main panel. It will open the Transform dialog box.

Click the Specify button. Now repeat Step 2 illustrated above to create a custom coordinate system. Once you select the custom coordinate system in the “Specify Coordinate System” dialog box, it will be indicated in the Transformation dialog box (in the example below, a custom coordinate system “Robinson cm @ 160 degree East” is selected as a destination coordinate system).

Geographic Imager: Transform dialog box

As soon as you click the Transform button, the transformation process will start. Once the transformation process is completed, the Geographic Imager main panel will indicate the new custom coordinate system name.

Transform completed.

Working with Custom Highway Shield Symbols and Label Features

MAPublisher offers a variety of labelling options, ranging from the MAP Tagger tool used for hand labelling single pieces of art, the Label Features tool for automatic attribute labelling, and MAPublisher LabelPro™, a separately licensed advanced labelling engine.

MAPublisher LabelPro ships with nearly 100 highway shields from across North America into which attribute labels can be easily placed. Although LabelPro does not support adding custom symbols to its existing symbols library, the following instructions outline a manual method for adding a custom highway shield to your map, along with placing text on to this shield.

First we must setup our custom shield. This can be drawn in Adobe Illustrator, or produced from a pre-existing image brought into Illustrator using the File > Place menu option. For this exercise I have taken a highway shield I found online from York Region Ontario, and using Adobe Photoshop removed the highway number from the shield.

Working with MAPublisher for Adobe Illustrator

Once the shield is drawn and sized appropriately and placed in Illustrator, simply use the Selection Tool to drag the symbol into the Adobe Illustrator Symbols panel. Be sure to name the symbol, as you will need to access the symbol from a list later on; I named mine “York_Shield”

Our next step is to produce our feature labels. Using the Label Features tool, choose to label with the “Don’t follow line, create point text” option selected. Once the labels are placed on the map, use the Adobe Layers panel to select the labels and use the Paragraph panel or the Control Toolbar to centre justify the labels. This step is important for easily lining up our shields with the labels.

Label map features

We now need to create a point layer with a point corresponding to each label. This is easily done by using the MAP Attribute panel option menu to “Export Attributes..” of our newly created Feature Labels MAP Text Layer. Be sure to choose export all attributes under Options: Scope, and to check “Include column names on first line” as we will be using the hidden MAPX and MAPY attribute columns when importing this data back into the map as point data.

Export map attributes

Next, use the MAPublisher Simple Import tool to add the newly created .csv file of referenced attribute information. When prompted by the Settings dialog, choose the MAPX column as the column containng X coordinates, and MAPY for Y coordinates. Once the data is imported, if it has not been added to the MAP View containing your line and text layers, add it, and specify the coordinate system if necessary.

MAPublisher Settings

With the imported point data selected, open the MAP Attribute panel and right click a column heading to access the Show/Hide Columns > Show All option. double click the #Style column and change the style to your shield symbol. Use the Apply Expression tool in the option menu to apply the symbol to every item at once.

Apply expressions

Alternately, a MAP Stylesheet can be built to apply the symbol only to art with a specific range of attributes. In the Adobe layers panel move your label layer above your symbol layer.

If text and symbol do not line up as desired, the symbol geometry will need to be altered. If you are using CS5, doubble click the shield in the symbol panel to enter isolation mode, here you can drag the symbol to respecify the anchor point so that your symbol lines up as you would like it. If you are using CS3 or CS4, you will need to add some invisible art (no stroke/no fill) just below or above the symbol to adjust its extents, and where exactly the symbol’s centre point is located. As well, symbol and text rotation can be edited globally by changing the #Rotation attribute in the MAP Attributes panel.

MAPublisher highway shields

Styling a MAPublisher Scale Bar

After generating a scale bar, it is placed in a MAP Legend layer. You can accept the default look of it, but majority of users will want to customize and style it to match their map.

Now I’ve just generated a simple scale bar. If you expand the Legend layer, you can see the object “MAPublisher Scalebar” is placed within it. This is a special object generated by MAPublisher and there is currently a dynamic link between the MAP View information (i.e. spatial information) and the scale bar object.

Generated Scale bar in the MAP Legend layer

In order to make a custom scale bar, you will have to break the dynamic link between MAPublisher and the scale bar object. In your own workflow, it’s important that you setup the scale before breaking the link because it will not rescale dynamically after the link is broken. Break the link by expanding the generated object.

From the main menu, choose Object > Expand.

From Adobe Illustrator Menu, Object > Expand

In the Expand dialog box, click the “Object” check box, then click OK.

Expand diaog window

The result: the object <MAPublisher Scalebar> is replaced by an object called <Group> in the Layers panel. The connection between the scale bar object and MAPublisher is removed. The art in the scale bar object simply became grouped objects.

Expanded Scale Bar Object

At this point, select objects in the group and change its colors and lines by using the direct selection tool Adobe Direct Selection tool. The direct selection tool allows you to select individual object even if select objects is a part of a <Group> object.

If you are more comfortable with the selection tool Adobe Illustrator Selection Tool, you will want to read the suggestion below. It works, too.

Take a look at the Layers panel again more closely. The screen capture of the Legend layer above shows that there is a <Group> object under the “Legend” layer. When the object tree under the “Legend” layer is expanded, you can see another <Group> object nested within a <Group> object. (a <Group> object containing a <Group> object). Since all the objects are still grouped, you can simply “ungroup” the art.

Expanded scale bar in the Layers panel

Select the <Group> object (i.e. the scale bar object for this example), then from the main menu, choose Object > Ungroup.

Adobe Illustrator menu: Ungroup

When you ungroup the object once, you now see only one <Group>. This <Group> object contains all the text, lines, and area objects composing a scale bar object.

Ungroup Once

Now, ungroup the object once more. Finally you do not see the object <Group> anymore under the “Legend” layer. It indicates that every object in the layer can now be selected individually using the direct selection tool.

After the grouped object is ungrouped twice ....

Select the objects to edit and style them using Adobe Illustrator tools!

At the end ... now ready to be customized

Creating HTML callouts for MAP Web Author

MAP Web Author, a feature of Avenza MAPublisher for Adobe Illustrator is a versatile tool offering access to map attributes for HTML as well as Flash.

The above map was made with Toronto Transit Commission data freely distributed by the city of Toronto. I purposely made this map long and narrow to reveal a potential issue that can arise when presenting a lot of attribute data in map callouts. As you hover over the red points representing transit stops, you will notice the callout bubble with attribute information for each stop. As you hover around the centre of the map, you will notice that callouts popping up above the half way point of the map have their titles truncated, and those below will sometimes not show the callout’s final line.

This is due to the fact that callouts, as generated by the MAP Web Author API can only be seen over the extents of the flash map. One can set the flash map to be bigger than needed to allow callouts to fully display, but this will complicate panning and zooming functions.

Instead, what we can do is create HTML callouts whose placement are not limited to the extents of the flash map. These HTML callouts can be populated with attributes from the exported flash map. HTML callouts offer a further advantage with respect to image placement. Flash callouts only support HTML version 1.0, which has very limited image placement functionality.

Let’s look at some of the code behind this map. The “popup” div is one of two div objects in the code, the other being the “map” div. The appearance properties of the popup div are set with CSS as follows:

#popup {
	position:absolute;
	top: 100px;
	left: 100px;
	width: 300px;
	height: 125px;
	background: #00ccff;
	padding:2px 2px 2px 2px;
	visibility:hidden;
}

A javascript listener is added to the mouse move event for the map div. When the mouse is over-top a map feature the function shows the popup div, moves it next to the mouse and updates its attribute values. When the mouse is not over a feature, the function hides the popup div.

function onMouseMove (event) {
	var f = theMap.retrieve(AVENZA.FEATURE);
	if (f.attributes) {
		$("#popup").css("top", event.pageY+20);
		$("#popup").css("left", event.pageX+20);
		$("#popup").css("visibility", "visible");

		$("#name").html(f.attributes.name);		
		$("#stopid").html(f.attributes.stopid);
		$("#accesible").html(f.attributes.accessible);
		$("#Latitude").html(f.attributes.latitude);
		$("#Longitude").html(f.attributes.longitude);
		$("#sundayonly").html(f.attributes.sundayonly);
		$("#trapezeid").html(f.attributes.trapezeid);	
	}
	else {
		$("#popup").css("visibility", "hidden");
	}
}

The jQuery AJAX library is used to update the CSS and HTML of the popup div.

Source code for the HTML callout map can be found here. To adapt this code for your own uses update paths and attribute names to match your own web map.

Buffer Art in MAPublisher

Up to MAPublisher 8.2, the MAPublisher Buffer Lines function was limited to only Line features. For MAPubisher 8.3, a revised buffer function called Buffer Art can be performed on both Line and Point layers. Buffer Art allows you to enter one fixed value to either all or the selected art in one layer or the values from an attribute column in one map layer.

Example 1: Applying a static value for the buffer width

Below is the new Buffer Art dialog box. I have one MAP Point layer with a location of a strong earthquake recorded in India n May 31, 2010.

Example with Buffer Art (1): Settings

I specified a value of 2100 Kilometer as the distance to buffer from the epicentre (the origin of the earthquake). The buffered art will be placed in the existing destination layer Buffer Area – 300 km interval.

For the buffered area, a pre-designed graphic style will be applied.

Lastly, I enabled the Add concentric circles every: option. This option will generate evenly spaced rings around the points within the buffered area. I am selecting 300 Kilometer for each concentric circle distance. It will generate seven concentric circles within the 2100 km buffer. As a result, you can see that a concentric ring is drawn every 300 km from the epicentre.

Example with Buffer Art (1): Result

 

Example 2: Applying values from an Attribute Column for the buffer width (Creating Graduated Symbols for every point)

I will use another point layer this time. I have one MAP Point layer with the point information of earthquake epicenters. The size of the buffer width in the page unit (pixel) was calculated based on the size of the magnitude for every point in the layer. Those values under the BufferCircle column will be used for the buffer width.

Example with Buffer Art (2): Calculated Buffer Width in the MAP Attribute panel

Now, the Buffer Art feature will be performed with those calculated values for the buffer width.

Example with Buffer Art (2):  Settings

The Attribute Value option is chosen and the BufferCircle field for the Buffer Width.

As a result, every buffered area (circle) has a different size. Also, the graphic style selected for the buffer art had some level of transparency applied. You can see the darker color when the buffered art overlaps each other. In other words, the region where the dark orange is observed experienced earthquakes more than once.

Example with Buffer Art (2): Result

Buffer Art can be applied to many situations such as around parcel lots, around road or highway lines or even creating them to find intersection proximity between map features. Experiment with your own to find out what is most useful for your own data.

Create a New MAP View For Adobe Photoshop Paths in MAPublisher 8.3

In our previous blog, we introduced you to a quick technique for remote sensing imagery: to depict a type of land types (green area) from a Landsat image. Below is the false composite image created in the previous blog. Basically, the red area indicates a lot of green vegetation (i.e. trees, shrubs, etc).

False color composite image produced in the previous blog

Now, you may be wondering how those red areas can be extracted from Adobe Photoshop and Geographic Imager and brought into Adobe Illustrator and MAPublisher?

An overview of the steps involved in this technique:

In Adobe Photoshop & Geographic Imager:

  1. Select the red areas with Adobe Photoshop tools.
  2. Save the selected pixel areas as “work path”.
  3. Export the saved work path as an Adobe Illustrator file.
  4. Export the georeference information from Geographic Imager option menu.

 

In Adobe Illustrator & MAPublisher:

  1. Import the exported Adobe Illustrator file with the work path.
  2. Assign the georeference information to the imported work path objects.
  3. If you have already made a map with vector dataset, open the AI file.
  4. Import MAP Objects from the AI file with the workpath to another AI file with a map.
  5. Drag and Drop transformation to align the workpath objects geospatially.

 

Below are the detailed step-by-step intructions.

In Adobe Photoshop and Geographic Imager:

1. Select the red areas

Open the false color composite image in Adobe Photoshop. Now, all the red areas must be selected using any of the following Adobe Photoshop tools.

Selected red areas

For example, you can select the red areas using the Magic Wand Tool. You may want to adjust the tolerance values as you begin to select the areas so that only the approriate areas are selected. If you disable the “Contiguous” option from the settings tool bar, it selects all the areas with the same color as the one you collected.
Magic wand tool settings

If you want to more precisely select red areas with a preview window, use the Color Range Tool (Select > Color Range). With this tool, sample the color of interest first. In this example, you might want to pick only the areas with the bright red color or you might want to be within a specifc range of red. Using this, you will have more control on which areas are selected.

Photoshop Tool: Color Range

Of course, there are other techniques you can use to collect the pixels with a specific color. The two suggested above are used quite commonly in our workflows.

2. Save the selected pixel areas as “work path”

After all the red areas are selected, save the selected area as “work path”. This option is available in the Paths panel options menu.

Save the selected areas as Work Path

The selection is now saved as a “work path” in the Paths panel.

Saved work path in the Paths panel

3. Export the saved work path as an Illustrator file

Once the work path is saved in the Paths panel, export it as an Illustrator file (File > Export > Paths to Illustrator).

Save the work path as an Adobe Illustrator file

4. Export the georeference information from Geographic Imager option menu

As you saw in the Geographic Imager panel for the false color composite file in the previous blog, this image was georeferenced. Furthermore, we need to export the georeference information that will coincide with the Adobe Illustrator file we just exported.. You can export this georeference information as a MapInfo TAB file or Blue Marble Reference RSF file from the Geographic Imager panel options menu.

Export the georeference information from the Geographic Imager panel

In Adobe Illustrator & MAPublisher

5. Import the exported Illustrator file with the work path

In Adobe Illustrator, open the Adobe Illustrator file exported from Adobe Photoshop (Step 3). Upon opening, a prompt appears to convert the exported file to Artboards. Select the second option “Crop Area(s)”.

Opening the exported Adobe Illustrator file.

When the artboard is opened, it seems like there is nothing on the artboard. It is simply because there is no color assigned to the fill and stroke. I put a green color for the work path objects.

Imported exported Adobe Illustrator file.

6. Assign the georeference information to the imported work path objects

The imported work path objects do not have the georeference information yet. We exported the reference file in Step 4 using Geographic Imager. We are going to use the exported reference file to assign the georerefernce information to those work path objects.

In the MAP Views panel options menu, click “New MAP View For Photoshop Paths…”

MAP Views option: Create a MAPView from Photoshop path

Browse for the exported reference file (either *.tab or *.rsf format from Step 4). Then select “Area” as the feature type for the MAP layer to be created.

MAPublisher dialog: New MAPView For Photoshop Paths

The georeference information from the original image is now inherited by the work path objects in the Adobe Illustrator file.

A created new MAPView

In the MAP View Editor window, you can see all the spatial information such as the coordinate system, scale, and map extent within the artboard. The name for the MAP View is renamed to “Green Area from Photoshop – GI” for Step 8.

At this point, if you have GIS dataset, you can import them to this document. However, I will show you one more MAPublisher trick to bring this green area into an existing MAPublisher file.

The georeference information in the MAPView editor

7. If you have already made a map with vector dataset, open the Adobe Illustrator file

Keep the Adobe Illustrator file with the work path objects open, then open another Adobe Illustrator file with MAPublisher MAP Objects. Now you have two Adobe Illustrator documents open.

8. Import MAP Objects from the AI file with the workpath to another AI file with a map

Make the Adobe Illustrator document with the map (not with the work path objects) the current document.

On the MAPublisher Toolbar, click the “Import MAP Object” button.

In the “Import MAP Objects” dialog box, select the MAP View “Green Area from Photoshop” and click OK.

Imported MAPView with a MAP layer

All the path objects are imported to the other Adobe Illustrator file with the base map.

Imported green area from another Adobe Illustrator document

However, the imported objects and the base map do not line up appropriately. It is because the scale of the MAP View with the work path and the MAP View with the base map do not match. You can line up those green areas with a simple step.

9. Drag and drop transformation to align the workpath objects geospatially.

In the MAP Views panel, there are two MAP Views: “Green Area from Photoshop – GI” for the work path imported from another AI file and “Toronto map” for the base map.

Click the MAP Layer “Green areas” in the MAPView “Green Area from Photoshop – GI” …

MAPublisher special trick: Drag and Drop transformation

… then drag the map layer to the MAPView “Toronto map”.

Transformed MAP Layer

Now all the green areas (work path objects) are lined up nicely with the base map.

Green areas in Toronto nicely lined up with the base map.

Try this out with your own workflow to see how it may improve your maps.

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.