Migrating DSMapBooks to Data Driven Pages

Migrating your map books from the Map Book Developer Sample, DSMapBook, to data driven pages in ArcGIS 10 is a pretty straight forward process. It is not automatic, but many people have already done it and have found it to be quick and easy. The majority of the standard map book functionality is available in ArcGIS 10 without needing to write any Python scripts or having to dig into ArcObjects. How you do things with data driven pages is different, but the functionality for multiple pages, printing and exporting, creating index features, adding dynamic titles and text, creating locator maps, etc. is all there, out of the box.

It will depend on the complexity of your maps, but if you already have map documents and index layers, the basic process for migrating to data driven pages is not difficult. The workflow is as follows:

1)    Open the map document
2)    Open the data driven pages property page,
3)    Select the layer you used for your map extents as the index layer
4)    Update your dynamic text and titles using new dynamic text tags

If you have dynamic locator maps or custom page effects (like highlighting the current page), you can achieve these with some new data frame properties. The following blog post should help with this:

This gets more complex if you have customized the map book developer sample, or if you use the indexing functionality to generate a place name index, or a gazetteer. These require using some of the new arcpy.mapping Python scripting capabilities. If you have customized the developer sample in some way, first I would recommend reading about and trying the new functionality in ArcGIS 10 related to data driven pages. Some of the common customizations can be done out of the box now. If you are not able to accomplish what you need, the next step would be evaluating whether you can do it with using the new arcpy.mapping Python module that is available. We have included many sample scripts on the Resource Center to help you out including a sample for generating indexes

Supported map books, without the need for a developer sample should be a big benefit at ArcGIS 10. The migration process should be straight forward, and once it is done, it’s done. Spend some time reviewing the resources that are available and then give it a try with one of your map books. Here are some other resources that might be helpful to read before you start:

Blog post on creating map books with ArcGIS 10

Blog post on data driven pages

Desktop help on enabling data driven pages

Desktop help on working with dynamic text

Blog post on getting started with Python and map automation

This entry was posted in Uncategorized and tagged , , , , , , . Bookmark the permalink.

Leave a Reply


  1. Tim Cook says:

    Hi Rob – thanks for info, and a couple of questions related to data driven pages (Strip Maps) and multiple page layouts.

    Currently data driven pages are currently linked to single “detail” dataframe per page. With pipeline mapping, we have anywhere from 2-5 sequential strips (dataframes) per page. I’m wondering if there are any plans to support this style of mapping in future within Data Driven Pages, or is this something I’ll need to develop on my own? If I need to develop this, does Data Driven Pages have any underlying ArcObject classes that I can utilise / extend, or am I faced with building my own version from scratch?

    And are there any plans to support multiple Page Layouts within a single MXD in future releases? Or any equivalent such as enabling various MXDs to link to content authored in a “master” MXD?

    Thanks – Tim.

  2. davidwatkins says:

    Hi Tim,

    Yes, data driven pages are “linked” to a single data frame via an index layer to drive the extents of that frame. Other data frames can follow the same extent or an enlarged extent (locator maps) using some of the new enhancements to data frame extent properties. If I understand your request correctly, you would like to support multiple data frames on the same page with multiple extents being driven by multiple sections of a pipeline. This is beyond the capabilities of data driven pages on their own, but it can be done using the new arcpy.mapping Python module. You can write a script to step through your data frames, update the extent of each frame and then export pages. If you look at the blog post above on “getting started with Python and map automation,” it should give you some good direction. It also contains links to a bunch of samples.

    Currently, at least in the next release, we do not have plans to support multiple page layouts within a single MXD. Depending on what you want to use this for, there are many use cases that can be solved using the same arcpy.mapping Python module. For example, you can take the same MXD, move elements on the page, update the layers, update text descriptions, and export multiple maps and combine them into a single multi-page pdf file with a pretty simple script.


  3. bmayo says:

    One of the things I liked about the DS Map book is I could select a number of polygons in the index grid and create a map book. I could also disable one or several pages form printing and could see what is going to print by some value instead of ‘page number’. How do I do this in the Data Driven Pages? Moreover, how to I have the list of pages in the table of contents like the old DS Mapbook so I can click between page XX and YY without typing the name in the box?