Building map books with ArcGIS

ArcGIS provides all the tools you need to create map books in printed or Adobe PDF format. A map book is a collection of pages printed or exported together. Many of the pages contain maps, but other pages may be dedicated to text, tabular information, tables of contents, or title pages, and other content.

At its simplest, anyone can create a map book by manually printing a title page, then some map pages, and anything else they want to include in the compiled document. But this process is made more reasonable and efficient when software can automate the process. ArcGIS provides that capability through a combination of Data Driven Pages and arcpy.mapping Python scripts.

Data Driven Pages allow you to quickly and easily create a series of layout pages from a single map document. A feature layer, or index layer, divides the map into sections based on each index feature in the layer and generates one page per index feature.

Conceptual image of Data Driven Pages

Learn more about Data Driven Pages

Arcpy.mapping is a Python scripting module that is part of the ArcPy site-package. This module provides functions to automate exporting and printing. Arcpy.mapping can be used to automate map production; it extends the capabilities of Data Driven Pages and is required to build complete map books because it includes functions to export to, create, and manage PDF documents.

Conceptual image of building a map book with Python

Learn more about Arcpy.mapping

Map book types

There are a number of map book configurations, or types, that you can create.

A reference series map book

A reference series map book is a set of map pages in which the layout of each page is identical except for the extent of the detail page and the content of some page elements. A reference series map book lacks a title page, overview map, ancillary pages, and other unique page layouts. It can be quickly defined in ArcMap using Data Driven Pages and exported via the export map dialog box without the need to configure a special arcpy.mapping export script.

A reference series map book example

The example above shows a topographic map book for Arenac County, Michigan. This 22-page series can be easily created by any ArcMap user with an Internet connection. The data comes from the USA Topographic map service available at ArcGIS Online. No other data is needed to re-create this map series. You can easily re-create this reference series using Data Driven Pages, the geoprocessing tools available from the Data Driven Pages toolset, data frame properties, and dynamic text.

To create the map book above, follow the steps outlined in these help topics:

Though the specific steps in these topics apply to the example map book above, you can also apply the procedures and tips presented here to your own maps and map books.

Map book with title and map index (overview) page

A more complete map book includes a title page and an index (or overview) map page. You can accomplish this by using a combination of ArcMap Data Driven Pages and an -arcpy.mapping Python script. Use the Data Driven Pages for a single map document (single layout) to create the map pages for the book, while another map document can be used to create the index map page. You could use yet another map document to author the title page, or you can use other software to create a PDF document for the title page. Use arcpy.mapping to combine all these elements into a single map book.

Map book title page example

The example above shows a topographic map book for Arenac County, Michigan. This map includes a title page and an overview map page. You can create this document using Data Driven Pages and an arcpy.mapping Python script.

For detailed instructions on how to do this, see Adding title and overview map pages to your map book.

Map books with ancillary documents

Many map books include ancillary, or supporting, documents. These can be report text, tables, indexes, and other supporting data. Creating these types of map books can be done through a combination of ArcMap Data Driven Pages and an arcpy.mapping Python script.

Map book report pages example

The example above shows a topographic map book for Arenac County, Michigan. This map book includes a number of supporting pages offering text information, graphs, and tabular data. You can create this document using Data Driven Pages and an arcpy.mapping Python script.

For detailed instructions on how to do this, see Inserting supporting pages into your map book.

Map books with facing pages

Facing pages allow the map author to account for the book gutter. The gutter is the space required to allow for binding book pages together. Often, this is a map book that contains a reference series covering a succession of map extents, just as a reference map book does. However, unlike a reference series, this map book utilizes the layouts of two map documents: one for the left page and one for the right. The series extents are defined using Data Driven Pages. Create the same set of Data Driven Pages in each map document. The arcpy.mapping Python script uses both map documents and assembles the left and right pages into the final PDF document in the proper order.

Map book with facing pages example

The example above shows a topographic map book for Arenac County, Michigan, with facing pages. Notice that the odd-numbered map pages (for example, page 3) have a layout alignment such that all page elements are shifted to the left. Even-numbered map pages (for example, page 4) are aligned to the right. This is to allow space for the book binding. Also, page numbers and the locator map have been located for each map layout so that they are on the outside of the page. Each page alignment (both left and right) is based on a separate ArcMap document. You can create this document using Data Driven Pages and an arcpy.mapping Python script.

For detailed instructions on how to do this, see Creating a map book with facing pages.

Strip map

A strip map is a set of map pages that follow a route, such as a river, road, or pipeline. Each page of the map shows a defined geographic area on either side of the line feature. Each subsequent page in a strip map shows the area further down the line. Often, there is a bit of geographic overlap between adjacent map pages. The direction of north on the page shifts so that the flow of map is kept constant. A strip map can be quickly defined in ArcMap using Data Driven Pages and exported via the export map dialog box.

Strip map example

The example above shows a strip map for the Rhine River between the cities of Köln and Koblenz. This 44-page series can be easily created by any ArcMap user with an Internet connection. The data comes from the World Topographic map service available at ArcGIS Online. You can easily re-create this strip map using Data Driven Pages, the geoprocessing tools available from the Data Driven Pages toolset, data frame properties, and dynamic text. You will need to create the line feature used to determine the route of the strip map. This can be done by creating a new line feature class using the ArcMap editing tools.

To create the strip map book above, follow the steps outlined in these help topics:

Though the specific steps in these topics apply to the example strip map above, you can also apply the procedures and tips presented here to your own strip maps and map books.

Thematic map book

A thematic map book is similar to a reference series, except that the detail pages show unique thematic maps of a single location. It is also possible to build a hybrid thematic-reference series that includes a series of thematic maps for multiple map extents. As in the case of a reference map book, exporting a thematic map book requires a Python script that defines the maps to be included and executes the document assembly steps.

Reference map book with insets

An inset map is a supplementary map, displayed using an additional data frame, that depicts an enlarged specific geographic subarea at a larger scale in order to show more information than possible in the main map. For example, many atlases use inset maps to show more detail for densely populated areas. Creating map books with inset maps on certain pages can be done by integrating Data Driven Pages and arcgis scripting. The following image is an example of one such map book. Notice that only two of the pages contain inset maps, and that they are different sizes and in different locations on the page.

Reference map book example

One way this can be done is by using a set of map documents. For pages that don't contain inset maps, a shared map document containing Data Driven Pages can be used. Another map document can be used for pages that contain an inset map. If the inset map location is different on different pages, use a separate map document to define each inset location. Then all the map documents can be synchronized using the index layer.

Create a field on the index layer that selects the map document to use for the given map extent. It could be as easy as 1, 2, or 3, where 1 means use the basic map document with no insets, 2 means use the map document with an inset in position a, and 3 means use the map document with an inset in position b. An additional field could specify the map extent of the inset.

The script can then get the page list from the first map document and loop through using the map document field to determine which map document should be used to create output for the current page. For inset pages, the additional inset extent field is read and applied before outputting.

You can also create a map book with inset maps on certain pages only by using a single map document and an export script containing custom logic to control not only the visibility of the inset map, but also its size, scale, and location on the page. For detailed instructions outlining this particular workflow, see Creating a map book with inset maps.

Related Topics

3/5/2014