Ask A Cartographer

Data driven pages / map book

July 27 2010 | 0 comments
Categories: Map Elements


Firstly, love the idea of data driven pages and associated python scripting for output.

I have two requests:

1) I have made a map book following the ArcGIS 10 Help for map book / data driven pages, but I haven't worked out how to automatically add the page name to adjacent edges to each map page. Is this a manual process or can it be achieved within the software?

2) Is it also possible to change the default formatting of page names that are generated (eg. first row always A), so that columns are labelled alphabetically and rows numerically (similar to adding a grid to a data frame).


Mapping Center Answer:

Regarding question one: adjacent page names can be added automatically if you have created a grid and are using that as the index. If your grid is made of rectangular polygons you can run the Calculate Adjacent Fields tool which will populate fields in the grid feature class with the adjacent page name information. Refer to the online help for more information on the Calculate Adjacent Fields tool.

Then with the dynamic text you can add the adjacent field information by adding Data Driven Page Name text to the document and in the text properties substitute property="name" with property="PageName_W" (as shown below). This example will display the adjacent page to the left or West of the current page. You would do this with all the sides of the map.

Regarding question two: there is no automatic way to change the default formatting for the page names. However, through a series of field calculations you could reformat the fields. First you would have to add a field for numbers, a field for letters, and a field for the new coordinates. You could then select everything containing ‘B’ from the original field, and calculate the number field to 2, then select everything containing 2, and then calculate the letter field to ‘B’. Then you would combine these two fields and you would have the coordinates in a format where the rows were numbers and the columns letters. You could then drop all those intermediate fields and reference this one. You could do this through a Python script too if you knew Python.

If you would like to post a comment, please login.

Contact Us | Legal | Privacy |