11 Sep 2016

Data Driven Pages II: The Importance of a Good Index Layer

Submitted by geobug

When last we met, I gave you an example of an mxd set up with data driven pages (DDP) using a point feature class as our index layer. In today's article, I'm going to convince you of why you should never do that.

A good index layer, that is a polygon feature class designed to represent your data driven page extents and nothing more, will make you life easier. Period.

We've already talked about how in order to use page definition queries, we need to have a separate layer in our mxd to run the DDP than the one we're using to symbolize features on the map. What I'm arguing for here is for an entirely separate feature class. It will give you more control over the scale and frame of each map in your series.

Here's an example. Take a look at the map we made for the Yolo Brewing Company as opposed to the Berryessa Brewing Company.

And then let's ask ourselves why we're making these maps. Let's presume we're trying to give people a sense for where these breweries are located. In that case, the Yolo Brewing Company map is fairly effective. We've got a highway, several major roads, and a couple of recognizable landmarks on the map. Good. The Berryessa Brewing Company map on the other hand... Well, if you've never been there (and you should, their double IPA is off the hook), it's kind of in the middle nowhere. This map shows us what highway we're on, but only minor intersecting farm roads and no hint of what towns are nearby.

So what we have here is an example of a map series that would be better served by having different scales for each map. Also, DDP is going to insist that the map centers on the index layer feature. Having our brewery centered isn't necessary in this case, and may not always be the best choice, if we want to keep the brewery and local landmarks in the frame, and keep the map at a scale that is useful.

So, the index feature class then. Here are some guidelines:

  • The feature class you create should be a polygon
  • The projection should match the data frame of your mxd
  • Include a page name field in the attribute table

There are a couple methodologies for making such a feature class:

  1. The Hard Way
  2. If we want to do the old-fashioned way, we can create a brand new feature class, drawing in the polygons representing our map extents by hand, and add and populate an attribute field that will be our page names (in this case the brewery name).

  3. The Stock ESRI Tool
  4. There is a tool in ArcMap that was made to help us. In ArcToolbox > Cartography Tools > Data Driven Pages there are a handful of interesting tools that may interest you, and right now, I'd like to call your attention to the Grid Index Features tool. It will make a series of index features in a polygon feature class that cover all the items of interest that we want to map, in as few pages as the computer can manage. And it will page numbers and grid names. It's not a bad little tool. I use it frequently, though I often find that I prefer to edit the resulting feature class and move the polygons around a little to suit my own cartographic needs. In this case, though, the tool will want to group nearby breweries on to the same page, and it's not going to put the brewery name into the attribute table for us. We'd have to do that by hand.

  5. Start with a Buffer
  6. Here's another fairly quick methodology. Use the buffer tool. This will give us a nice starter polygon feature class with a circle around each of our brewery features and preserve the attributes we need. Then we can edit the shapes by moving them around and changing the shape to suit our desired extent.

Whatever method you choose, odds are you'll have to do a little editing. I like to click through each of my DDP pages, zoom and pan as necessary to get each frame the way I like it, and then edit the index polygon to match the data frame extent. I have a tool on my GitHub site that you can use to expedite this process if you like. In short, what this tool will do is grab the data frame extent, then look for your current DDP index feature class and edit it to be a rectangle that matches the data frame extent exactly. See the before and after below.

If you then set the DDP extent settings to the best fit option at 100%, you're good to go.

Note: If you need more finite control of the scale of your maps (for example, they must be at 1:24,000, and not 1:23,999), you can add an attribute field to your index feature class for scale, and alter the extent settings to use data driven scale specified by your new field.

So, finally, below we have examples from our finalized DDP series, with examples of our not-neccessarily-centered maps at different scales for Yolo Brewing Company and the Berryessa Brewing Company.

Other articles in this series: