NACIS 2016

Here’s the video of the presentation with slide/content from my original post below. Thanks to NACIS and the PCD coordinators for recording & processing the video and facilitating all the presentations.

I presented a workflow using ArcMap, Illustrator, Photoshop, and InDesign this year at NACIS. Below is each slide image and video I used in my presentation. I don’t use much text in my slides, I try to keep it to imagery and talk to that, so I’ve included my commentary where possible inline with each slide image/video. The presentation doesn’t translate perfectly to a long form blog post but I wanted to get the workflow down on the blog and the slides notes are close enough to what I said during the presentation.

If you really want it, here’s a big PDF of my slide deck, with video embedded but no notes (might want to right-click and download that link, it’s ~150GB).

I’ll try to post the video of the presentation from NACIS when available as well.

NACIS 2016:

Hi, I’m Brian. I’m co-owner and lone cartographer at Dynamic Planning + Science. I’m going to show you a workflow that leverages Data Merge in InDesign. I use this workflow a lot, it allows high volume map production that doesn’t sacrifice interesting design elements.


This example involves the project area shown here – Sacramento County’s California Delta. This project involves mapping a series of 25 hypothetical levee breaches for about a dozen Reclamation Districts. Each is basically an island surrounded by a ring levee. These serve crucially as the index features that drive the map automation I’m going to show.


Each breach scenario is mapped in 3 ways, at the extent of the corresponding Reclamation District. There are a total of 75 maps.

nacis_2016-v6_page_03nacis_2016-v6_page_04nacis_2016-v6_page_05 nacis_2016-v6_page_06 nacis_2016-v6_page_07 nacis_2016-v6_page_08

I’ll break down the maximum depth layout – it’s nothing too special, it’s a pretty standard engineering type layout – but I’ll add some extra features to elevate the design as much as possible. I’m going to break down this layout into it’s components then show you how they are pushed into InDesign to auto-generate each of the 25 breach scenario maps.

nacis_2016-v6_page_09 nacis_2016-v6_page_10 nacis_2016-v6_page_11 nacis_2016-v6_page_12 nacis_2016-v6_page_13 nacis_2016-v6_page_14

Now I’ll overview how each component is created. The main map frame consists of 4 parts – the vector base, the background image, the depth raster, and the breach label.


This is the vector base layer alone on the map layout.


The vector layer is laid out in ArcMap to fit the layout and data driven pages is used to create a series of maps for each breach. Page-based definition queries are leveraged to show the appropriate breach location and notes, then each map is exported as an individual PDF.

Here are the vector base PDF exports as shown in Adobe Bridge.

Here’s the background imagery layer alone on the map layout.


This map layout is adopted from the vector basemap. The Esri image service is used here and exported to individual PDFs.

To create the subdued black and white imagery for the image base, photoshop is used to batch an action that applies the black and white effect and bumps down the contrast & brightness to each PDF then saves each as a jpg.

Here’s the depth raster layer alone on the map layout.


The depth raster also adopts the same layout as the previous 2 layers. This map utilizes scale dependencies applied to each raster layer corresponding to the breach.

The breach raster layers are exported to individual depth raster PDFs for each breach.

There is also an individual label for each breach and map layout.


The label gives some extra information about each breach, including the size and location. These labels are created automatically using Data Merge in InDesign.


To prepare for data merge, each variable component of the label is organized into a table and saved as a CSV.


That CSV is read into InDesign and placeholder text for each variable is placed in the graphic layout. InDesign generates the label box for each row in the CSV. These are then copied into the appropriate map layouts down the road in this workflow.

Here’s the legend alone on the map layout.


The legends are created in illustrator on individual artboards named corresponding to each breach. This allows individual control of each legend.

Here’s the locator map on the map layout.


This component is setup in ArcMap as a secondary data frame that highlights the current data driven page feature of an unseen data frame. Each is exported as an individual PDF.

Here’s the scale bar on the map layout.


The scale bar layout also leverages data driven pages. I have composed multiple sizes because I have a wide variety of map scales and I need to fit a specific space on the layout. In later steps, InDesign will allow easy use of clipping masks to show only the portion of this layout that best fits the space.

Here’s the collar; it’s created in illustrator and placed into the master page in InDesign.


Now I’ll overview how to compose the layout and auto-generate all map layouts.


InDesign’s Data Merge requires a CSV of all items to be placed as variable in the layout. I need to inventory each of the components listed here on the left and create a link table. I do this with DOS – the first step is to change the directory to the folder containing my components. (this is repeated for each component repository)

cd = change directory

/d changes drive letter


Next I need to list each component file with it’s full path; here’s what that looks like.

dir = directory

/s = displays path

/b = bare format, no info/summary


Adding a little to that last command sends each path to a text file.

As a side note:

I use this command often and I keep that files.txt open in notepad++ all the time. I simply refresh the file and have access to the latest file list I’ve generated.


Each list is copied into an excel table to build a link table. For each breach row, there is a full path to each layout component.


InDesign requires headers for media variables to have a leading @, it’s how Indesign distinguishes a string of text from a path to a piece of media to be placed on the layout.


Here’s the completed link table with a full path for each component. This is saved as a CSV for use in InDesign.

In InDesign the collar illustrator file is placed in the master and will be part of each page. Note I’ve also placed the legend in this step because it needs individual care but the base file will be included on each page.


Now the data source is assigned using the Data Merge menu.


Placeholder frames are added to the layout and variable from the data merge menu are assigned to each.


In the data merge menu, a preview of the content can be toggled and the user can cycle through each row to see the result. If everything looks good, the document is merged and an individual layout is created for each row in the source CSV. This steps generates the layout for each breach scenario. So each of the 25 layouts are composed automatically, with dynamic links to the components. This saves a ton of time setting up individual layouts. Some tweaking needed but 95% there.

The power here is in the dynamic links. I can go back to any component and make edits to the style and content. Say the project manager really wants blue in the locator map. (This heading is not appropriate for the slide, but I missed editing it)


The new maps are exported to overwrite the existing locators.


When the links are refreshed in InDesign, the layouts automatically reflect the changes in each linked file.

Another major time saver is recycling the process. My inundation layouts share all the same components, except for the top raster layer. I can recycle the ArcMap documents, InDesign layout, and link tables to make 25 inundation layouts very quickly.


Now I can add links to the inundation raster component to the original link table then make a new CSV for data Merge. In a copy of the InDesign layout, changing the data merge data source and reassigning variables on the layout will yield a whole new set of maps very quickly.


Here it is, refresh the Data Merge Source, reassign the depth raster variable to the appropriate frame on the layout and hit merge. 25 time to inundation layouts, one for each breach. Done.


1 Comment

  1. Kate Leroux
    December 8, 2016

    I really enjoyed your presentation at NACIS and I’ll be sharing your workflow with my colleagues here in Seattle. Thanks for taking the time to show us how you did it.


Leave a Reply