Drawing inspiration from this Safe software blog post we have developed an FME workflow that allows the user to update multiple MAPublisher templates with additional layers using two workspaces and a workspacerunner transformer.
The folder structure for the project follows one possible standard arrangement. A data folder contains the shapefile that is being added to the existing .ai files. An output folder gathers the intermediate .ffs files generated by FME that pass the data to MAPublisher. The templates folder contains the .ai files that will have the layer added to them. Finally the workspaces folder contains the two workspaces required for the transformation.
The runner workspace uses a path reader to get the filenames and paths of the .ai files. A filter is applied to make sure only files with the extension “.ai” are read. After the path reader an attribute creator adds the path for the output .ffs files as an attribute. This is dynamically calculated based on the filenames of the input .ai files.
The full paths to the template files and the paths to the output ffs files are passed as published parameters to the worker workspace. Two published parameters have been created in the worker workspace and linked to parameters in the MAPublisher writer. This allows the writer to take the values passed from the runner workspace. The worker workspace is run once for every file that is in the folder of ai files, and these published parameters update dynamically for each one.
The worker workspace has a shapefile reader that reads in the layer that is going to be added to each template. At this point multiple readers or other transformers could be added to increase the complexity of the transformation.
When the runner workspace is launched each template is opened up, the shapefile is read and added to a new MAPView in the MAPublisher document. Equally it could be added to an existing MAPView with a matching coordinate system. These documents can be left open as shown here, or with the addition of another published parameter new output .ai files could also be specified.
Creating multiple maps that share cartographic styling is a common requirement for MAPublisher users. The most effective way to accomplish this is the use of MAP Themes. MAP Themes are a collection of thematic cartography tools designed to increase productivity by automating how styles and symbols are applied. Creating a number of MAP Themes based on regularly used layers with standard attribute schemas can greatly reduce the amount of time spent styling maps.
This guide will walk through creating and setting up MAP Themes to automatically apply to the appropriate layers upon import. If done correctly, rather than seeing this:
You will see this when importing data to MAPublisher:
1. Data Source
The data used in this guide comes from the publically available CanVec+ topographic database. CanVec+ contains a comprehensive set of layers optimized for display at 1:50,000 that are perfect for topographic mapping. In fact, many of these layers are used in the construction of the CanTopo Topographic mapping series available here.
The layers you receive from the CanVec+ download service will vary depending on what features are present in the extent chosen. The Geogratis Geospatial Data Extraction tool is the most convenient method to retrieve CanVec+ data. This guide uses a selection of CanVec+ layers styled similarly to the CanTopo maps.
All vector data was downloaded in an unprojected geodetic coordinate system and projected into a UTM projection MAP View.
The map shown above contains 12 vector layers and one raster layer, but we will only discuss the styling and configuration of three layers as the process is similar for the rest. You can download the Adobe Illustrator file at the bottom of the page if you want to examine the different layers, their graphic styles and MAP Themes.
MAP Themes are the primary method for applying attribute based cartographic symbology. A powerful feature is the ability to automatically do this on layer import based on geometry type or file name. By defining one or many graphic styles and a MAP Theme for each layer the layers can be automatically styled on import.
CanVec+ themes have a consistent naming scheme that makes them especially suitable for this sort of automated styling. Because each style is always named the same, it is simple to set up the MAP Themes to automatically apply when the layers are imported. The theme names are consistent but somewhat obscure, as are some of the attribute names and values. Luckily there is a specifications document that provides a guide to the various themes, datasets and attributes that are available. A link is provided in the useful resources section below. While the style guide is helpful, it can be difficult to navigate, so it has also been translated into a more easily readable Excel spreadsheet, which also available in the useful resources.
A CanTopo symbology guide is available for download and was used to help define the styles for the different layers used in this map. A link is available in the useful resources section at the bottom. The University of Toronto also hosts an old specifications guide, but as it is almost 14 years old it should not be assumed to be accurate. If you are looking for inspiration though, it is useful.
2. Example A: Building point locations
2a. Building Point Symbol
The Graphic style for the building symbols is a black square rotated to match the value in an orientation attribute. Using the CanTopo symbology guide a correctly sized square was created and then added to the symbol library.
2b. MAP Theme
A new Point Stylesheet MAP Theme was created called Buildings. The appropriate layer “bs_2010009_0” was added to the Theme and a rule was created named “All” as it will apply to all the building point locations. The Rule Expression is set to apply the Theme to all artwork as we want all the building points to look the same.
The Visual Properties tab was used to determine how the buildings would appear. The Symbol property was set to use the Building black square symbol created and added to the Symbol library earlier. The Rotation property was set to use the “orientatio” attribute. This ensures the buildings are oriented correctly.
Finally, and most importantly for the MAP Theme automation, the Auto-assign option was set so that any layer that matches the filename of the imported shapefile would automatically be styled using this theme.
3. Example B: Contours
3a. Contours Graphic Style
Two Graphic styles were created for the contours: one for the regular contours and one for the index contours at intervals of 100m. Both are grey, with the index contours slightly thicker (although it is hard to tell in the Graphic Styles panel.)
3b. MAP Theme
A Line Stylesheet MAP Theme was created called Contours. The layer “fo_1030009_1” was assigned to the MAP Theme. Two rules were created, one for index contours and one for regular contours. For the index contours, the Advanced Rule Expression builder is used to select any contour where the elevation is a multiple of 100, and the converse for the regular contours.
The Modulo (MOD) function makes this simple. For the index contours, the expression built as: “MOD(elevation,100)=0”. For the regular contours, the expression is “MOD(elevation,100)!=0”. The != operator means not equal to.
The Modulo function will be available with a future release of MAPublisher. If you are using an earlier version of MAPublisher, the same result for index contours can be had with this expression:
If you do try and apply this MAP Theme with an earlier version of MAPublisher without changing the equations, it will not work and you will get errors.
Each rule is assigned the appropriate graphic style applied in the Visual Properties. Creating Graphic Styles in advance is much easier than trying to remember specific stroke/colour combinations and makes them re-usable.
It is worthwhile organizing them in the Graphic Styles panel and naming the Graphic Styles appropriately so you can easily remember which is which later.
The layer is then set as auto-assigned so that when it is imported in the future this MAP Theme will automatically be applied.
4. Example C: Roads
4a. Graphic Style
The Roads layer is the most complex as there are multiple different classes of roads, that are then broken down into sealed and unsealed surfaces, and can be at grade, tunnels or bridges. Several of the road classes are assigned the same Graphic Style, so each style was named after a representative road class and assigned to several MAP Theme Rules.
4b. MAP Theme
There are defined styles of roads in the CanTopo specifications, but these do not map directly to the attributes that are present in the CanVec roads dataset. There are several attributes that hold information about the composition of the road, but the ones that were used to define the MAP Theme Rules were:
roadclass: a heirachy of road types
structype: defines if the road is a road, a bridge or a tunnels
pavstatus: contains information on the road surface, if it is paved or unpaved.
A Line Stylesheet Theme was created called Roads. The layer tr_1760009_1 was assigned to this Theme. Each road class has its own rule. The rule expression determine what class of road it is, if it is a bridge or a tunnel, and if it is paved or unpaved. An example of this is “Arterial: Paved: Bridge” with the expression:
roadclass=3 AND pavstatus=1 AND (structype =1 OR structype =2 OR structype =3 OR structype =4)
which simply says select art that is an Arterial Road (roadclass=3) is paved (pavstatus=1) and one of four different types of bridge (structype 1 through 4).
As in previous examples, each rule is assigned a Graphic Style in the Visual Properties tab.
The layer is set to auto apply on import.
Once rules are created and applied to all the imported layers the end result looks like this:
In addition to vector data, the GeoGratis portal has raster terrain data available for download. There are digital elevation models, digital surface models, and a variety of derived products such as slope and aspect. For this map we downloaded a hillshade and adjusted the opacity so it would blend with the map style. The forest cover layer and the built up areas layer also had their blending modes adjusted so the hillshade would show through.
The hillshade was downloaded in an unprojected geodetic coordinate system and Geographic Imager was used to transform it into the UTM projection used for this map.
6. Final words
In order for the defined MAP Themes to be automatically applied to any imported data, the imported layer filenames must match those defined in the MAP Theme Rules as discussed above. If you would like to try it out with your own CanVec data extract, do the following:
Download the “Canvec_Data_Themes.ai” file linked below for the version of Illustrator you are using. Have a look at the data structure, layer names and MAP View properties of this document.
Also download the appropriate “Canvec_Data_Themes_Empty.ai” file to use as a template.
Download an extract of CanVec data as shapefiles.
Use the Advanced Import functionality to import the shapefiles into the empty document. Reproject the map if desired.
The imported data have the styles applied automatically. However, you will probably have a few layers that have no style. Use the methods detailed above to create new styles for those layers.
Ever have the problem that you want to make a map and you are waiting on the final extent or scale, but you want to get started adding data and working on the layout? Here are a couple of tips to make your life easier.
1. Move artboards around without moving your data
Geographic features in Adobe Illustrator are generally referenced to a known coordinate system. This coordinate system is mapped to Adobe Illustrator’s “Global Coordinate System” which has its origin at the top-left corner of the first artboard in a document. What this implies is that artboards can be moved around within this reference system in order to show different geographic data on the page. However, by default, moving an artboard moves any art that overlaps it as well. Obviously moving any referenced data around is going to ruin its spatial accuracy so this is something we want to avoid. Luckily there are two ways of doing this.
The first is to select the Artboard tool and click the Move/Copy artwork with artboard button to the right of the artboard name in the control panel above the document window.
With this option turned off, you are free to move the artboard around without disturbing any of the geographic data.
There is one downside to this though: you may have map elements such as titles, legends, grids, masks etc. that you want to stay locked in place on the artboard while you move it around the geographic data. The easiest way to do this is to simply lock any layers that contain geographic features, unlock the map elements, and activate the Move/Copy art with artboard option.
When the artboard is repositioned, your data will stay in the correct geographic location and your map elements will move with the artboard, keeping the same relative position.
2. Set up a clipping mask in conjunction with a grid
The previous example used a white polygon with a hole in the middle as a mask to provide whitespace around the edge of the map. Another way to achieve this is to use a clipping mask to hide geographic features outside the extent of the mask. This works well by itself, or when combined with a grid or graticule layer.
We have taken the previous example, deleted the mask and adjusted the colour of the background polygons slightly. We have also added an AOI polygon that will serve as the clipping mask extent.
To create a clipping mask, the first thing we’ll make a new layer called Clipped. Make sure that it is a non-MAP layer (verify this in the MAP View panel).
Next, drag both the AOI layer and layers that contain geographic data into the Clipped layer making sure that the AOI rectangle is above the layer holding the geographic features.
Now if we select the Clipped layer and click on the Make/Release Clipping Mask button (Second from the left at the bottom of the panel) we should see the AOI rectangle become invisible and the MAP layer is visible within the extent of this path.
We can now add a grid over the top of the clipped area using the Grids & Graticules tool. You will find that the default extent of the grid is the same as the spatial data. You will need to resize the grid to match the clipping mask.
If you want to change the spatial extent of the map you have to adjust both the clipping polygon and the grid. It would be nice to group them and resize it together, but Adobe Illustrator doesn’t allow groups to span multiple layers. One way around this is to use a saved selection. To do this, select the clipping mask and the MAPublisher Grids, then choose Select | Save Selection. Give the selection a name like Grids and Clipping Mask.
Now if you need to adjust the spatial extent of the map you can quickly choose the saved selection and resize the clipping mask and grid or move them both around the artboard simultaneously.
With MAPublisher 8.6 or higher, you can apply styles to GIS data upon import using the MAP Stylesheet Auto Assign feature.
You will need to prepare MAP Stylesheet theme(s) and set the Auto Assign settings within every stylesheet. In this example, there is only one stylesheet.
In the “Edit Stylesheet Theme” window, there is a link to click next to the “Auto-assign” right below the layer option. Once you create all the rules for stylization using attribute values, click the link to open the Auto Assign Layers dialog window.
MAPublisher will check the layer name of all the layers being imported if the Auto-Assign Layers settings are made. In this example below, one layer named “USA 2000.shp” will be imported. There may be other layers called “USA 2001.shp”, “USA 2002″…. and so on. There is a pattern in the layer name among the layers to be imported. We will specify here “Start with” for the Type, and “USA” for the Layer Name Match option.
For the Type option, there are five: Equals, Start with, Ends with, Contains, and Wildcard. All my layers start with “USA” in the example above.
Let’s import one layer called “USA 2000.shp” (you can import mutiple layers at once, of course).
If the Adobe Illustrator document has this Auto-assign setting ready, MAPublisher will detect it and it will give you an option whether or not you would like to apply the styles to the layer(s) being imported. We’ll click the first option “Apply MAP Themes to imported layers now”.
As a result as shown on the very top screencapture image, every polygon in the layer “USA 2000.shp” is stylized with the rules available in the MAP Stylesheet theme upon import.
If you haven’t noticed yet, we released an enhanced version of the Grid and Graticules tool (MAPublisher 8.7 and higher). With the new Grid and Graticules tool, you will find that you can export grid settings and save them. Most importantly, these grid settings files can be shared and imported to another document.
Once a grid is created, save the settings to a *.cfg file. Two configuration files are created per grid: grid settings and label settings.
Grid settings configuration files store information for all related grid options (e.g. ticks, intervals, offsets, borders). Label settings configuration files store information for all related label options (e.g. axis labels, fonts, styles), even for multiple grids. Label settings are saved with _labelData suffixed to the file name.
Share the files and load the *.cfg file in the Grid and Graticules dialog box.
Some of the major functions of the new Grid and Graticules tool are adding tick marks along border lines, placing cross hair symbol instead of lines for grid/graticule lines, styling lines and text more flexibly, and having more label options available. You can share the settings by exporting one and importing to another document as well. You can make a set of grid lines looking like this below.
Do you use FME Workbench in your workflow and produce cartographic products with MAPublisher for Adobe Illustrator? Would you like to automate the data import process to MAPublisher after preprocessing the data with FME workbench? If so, you might be interested in our new add-on product MAPublisher FME Auto.
FME is a powerful software that you can open many GIS formats and transform data including reprojection and geometry operations. Once you complete the data processing with FME Workbench, you can bring those processed data into Adobe Illustrator. Furthermore, you can automate this process from FME Workbench to MAPublisher with FME Workbench file (*.fmw).
Adobe Illustrator with MAPublisher 8.6 or higher
FME Workbench 2011 SP3 or later
for 32 bit
for 64 bit FME Workbench, you will have two choices:
install both FME 64 bit and FME 32bit on your computer
As we have all seen over the last decade, the distribution and consumption of music, videos and books has moved to a digital model and so, the question then becomes, why not maps? Similarly to the aforementioned media types, maps are also very conducive to both the distribution and use in a digital and mobile way. As we see organizations like Borders, Blockbuster and Kodak succumb to this digital revolution, we map-makers must adapt or suffer a similar fate.
Many of you may be struggling with the issue of selling your maps digitally, tackling the question of the “mobilization” of your content and wondering how to attack the new markets.
But what if there were a generic iTunes/iBooks/Kindle type environment where a map publisher, like many of you reading this, could offer their maps for sale just like musicians and book publishers currently do with their songs and books? There is and it’s called the Avenza Map Store, accessible through the PDF Maps app.
Right now, the Avenza Map Store has more than 100,000 maps from publishers all over the world and we are looking for more as we strive to become the “iTunes of maps”. Map sales in January have already more than doubled December in terms of both units and dollars and December was higher than previous months already.
So here is the gist of the system and the thinking behind it.
What is PDF Maps?
The award winning PDF Maps app is an all-encompassing solution for the use, distribution, and sale of digital versions of paper maps to mobile devices. It includes both an app for users to use, discover and purchase maps directly using their devices as well as an in-app store to facilitate the transaction and delivery of the maps.
Think of it like iTunes, iBooks or Kindle, but for maps.
The app loads georeferenced maps and has functionality for locating (via GPS), measuring, plotting points, importing and exporting points and much more, this goes well beyond traditional paper map usage.
Why PDF Maps? What are the advantages?
The PDF Maps app and the connected map store responds to the demand of both map users and map producers for a 21st century digital map consumption and delivery solution. In an era where a vast amount of content is shifting from analog to digital delivery and use, the map industry demands a similar solution for its users and producers.
For the user it solves four major problems:
How can I use a map I really like on my mobile device instead of the often less-desirable ones Google and other streaming services offer?
Google and other streaming services fail to perform when there is no Internet connection such as when hiking or traveling in remote unconnected areas.
Services that rely on a bandwidth connection are very undesirable when outside your home network area due to the high cost of data roaming charges.
Google and other streaming services, as well as many existing mobile apps, do not always offer a useful map for a particular purpose such as hiking, boating, and visiting national parks which leaves much desire for a “better” map.
For publishers it responds to the following specific needs:
With paper map sales declining, how can I get my content into the digital age for the mobile device market?
Devices like Garmins, TomToms and in-car navigation systems are usually closed to outside map content and thus map producers cannot easily, if at all, make their maps available to users of these systems.
In an effort to get into the digital marketplace it has to be easy, efficient, and inexpensive to repurpose existing content and map libraries. In most cases existing map libraries can be easily ported to the PDF Maps system and existing production processes do not need to be drastically modified, if at all, in order to produce new content for PDF Maps and the Avenza Map Store
With digital map use there is no printing, production quantity guesswork, inventory to manage, distribution and returns to account for.
Updates to the maps are controlled by the vendor and can be instantly made available to the marketplace, while at the same time, older redundant content can be instantly removed and discontinued.
Immediate, easy and effortless entry into the digital map marketplace.
For many areas on Earth, OpenStreetMap is a viable alternative to commercially offered data sources. However, it is not always easy to process. This blog tutorial explains the steps needed to load OpenStreetMap data into MAPublisher.
1. Download and install QGIS, this is a free GIS application, available for Windows, Mac and Linux computers. QGIS now comes with built in tools for downloading Open Street Map Data.
2. Open QGIS and zoom in to an area of interest. Use the OpenLayers plugin for a basemap if you do not have any imagery or mapping of your own. Keep in mind that downloads from the OpenStreetMap website are limited in the number of exported objects, so for larger areas you will have to combine multiple downloads yourself, or look for other options (for example Geofabrik).
3a. Go to the Vector Menu and Choose OpenStreetMap and then Download data.
3b. Choose how you want the extent of the downloaded data to be defined. The easiest way is to use the Map Canvas.
4. Open your downloaded .osm file in QGis using the Add Vector Layer tool. Select all the Layers and choose OK.
This results are shown in several layers depending upon what is present in the extent you have downloaded. In this case there are points, lines, multilinestrings and multipolygons. Note that QGIS only imports features that fall completely within the extent specified. So make sure you choose an area larger than your actual area of interest to ensure it is completely covered.
5. Export these layers one by one. Right-click and choose “Save As, then ESRI shapefile”.
6. The shapefiles can be imported into Adobe Illustrator using MAPublisher. After reprojecting, scaling and cropping we’ve ended up with the raw OpenStreetMap vectors in Adobe Illustrator, with all attributes still maintained.
7. Once within the data is imported successfully, you may now use any of the MAPublisher and Adobe Illustrator tools to style and customize the map in any way you want.
Dot density themes are sometimes called dot distribution maps because they show where particular data characteristics occur. It uses dots or other symbols to represent the number of occurrences of a given data characteristic in a particular location. Starting at MAPublisher 8.4, the ability to create dot density maps is available through the provision of Dot Density Themes.
When creating a new MAP Theme simply choose “Dot Density” from the available theme types. The creation of a dot density theme is facilitated through the MAP Themes panel. The dot density theme is an Adobe Illustrator effect applied to an area layer.
As dot density maps are most useful for showing where particular data occur, they may only be generated for MAP Area type layers. Most often, symbols are used to represent data occurring within a bounding polygon such as a census tract, zip code or county polygons.
Dot density effects are created on a per layer basis, based on various user defined settings. Data ranges can be determined from selected attribute columns and then a dot value can be assigned a corresponding symbol at which point MAPublisher will map the appropriate results. Users may apply default symbols or load custom ones based on Illustrator symbol sets
In this example, population tallies per county have been loaded, assigned a dot value of 10,000 with a designated symbol of a 2pt black dot.
This screenshot displays the map prior to applying the dot density effect.
The screenshot below displays the map after having applied the Dot Density Theme using the parameters displayed within the dialog .
MAPublisher is popular with educators and students because, in no time at all, new users can begin to create great looking maps. Working seamlessly with the Adobe Illustrator environment, users can spend more time on map details and less time fighting with complicated importers and data format conversions.
Avenza Systems Inc. recently received student work submitted by the Univeristy of Montana’s Digital Design course. These maps show some excellent terrain shading, good colour choices, and a knack for making complex cartographic detail legible.
We wish to thank the students for generously allowing us to distribute their work, and we wish them luck in their upcoming mapping endeavours.