Select to view content in your preferred language

Data Driven Pages Help

4789
7
Jump to solution
11-08-2012 07:33 AM
SamuelPayne1
Deactivated User
I am interested in using data driven pages for a set of maps that show existing features around a proposed utility line. There are
several things I do not know how to do. I was hoping someone could give me some tips.

1) In some of the maps I make, extra data frames are inserted to show detail on some specific parts of the proposed line.
However, I do not need these extra data frames or ???insets??? on each page. How can I make data frames or other map features
appear on some pages but not on others?

2) In some instances my line changes direction. It may run North to South on one map and then run East to West on the next
map. Currently the maps I make are created without data driven pages so each map is its own document. Typically, when a line
changes direction, I change the page layout from portrait to landscape or vice versa in order to show as much of the line as
possible on one page.  How do I change the page layout of individual pages in a map document which incorporates data driven
pages?


3) I would also like to create a dynamic text box which updates more than one piece of information. A typical map title would
read as follows. The information I need to automatically update is in Bold.

Figure 2a
Site Plan of the Proposed ABC
Utility Line in XYZ County, TX

I know how to create dynamic text and add the necessary information into my attribute table etcetera etcetera. I am trying to
figure out how to insert multiple pieces of dynamic text and some static phrasing that does not change all in the same text box.

P.S. I would like to avoid using python if possible. But if not I guess I will have to learn how to use it.
0 Kudos
1 Solution

Accepted Solutions
MarcoBoeringa
MVP Alum
If you really don't want to use Python, I guess the answers to 1) and 2) is to first create the DDP index layer, than review manually which pages need to be portrait or landscape, and which ones need insets or not. Add this data as extra attributes in your DDP index layer for each index polygon. Now create the appropriate 4 needed ArcMap documents:

- Portrait / Inset
- Portrait
- Landscape / Inset
- Landscape

Alternatively, you might be able get by with just a Portrait and Landscape layout MXD, and add the insets outside of the layout page, only manually shifting them in place (possibly using snap Guides), when you need them. I have done that with different legend types, reducing the need to create multiple MXD and still use DDP.

Now use the added attributes in the DDP index layer to select the appropriate index polygons to process by setting a Definition Query in the layer's properties, and than setup the DDP again in ArcMap so as to only reflect the selected pages.

As for 3), this is simple, just add the fixed text outside the dynamic text tags, e.g.:

Distribution map of <ITA><dyn type="page" property="Description"/></ITA>

The ITA tag is for Italic style by the way, but I guess you knew that already.

View solution in original post

0 Kudos
7 Replies
MarcoBoeringa
MVP Alum
If you really don't want to use Python, I guess the answers to 1) and 2) is to first create the DDP index layer, than review manually which pages need to be portrait or landscape, and which ones need insets or not. Add this data as extra attributes in your DDP index layer for each index polygon. Now create the appropriate 4 needed ArcMap documents:

- Portrait / Inset
- Portrait
- Landscape / Inset
- Landscape

Alternatively, you might be able get by with just a Portrait and Landscape layout MXD, and add the insets outside of the layout page, only manually shifting them in place (possibly using snap Guides), when you need them. I have done that with different legend types, reducing the need to create multiple MXD and still use DDP.

Now use the added attributes in the DDP index layer to select the appropriate index polygons to process by setting a Definition Query in the layer's properties, and than setup the DDP again in ArcMap so as to only reflect the selected pages.

As for 3), this is simple, just add the fixed text outside the dynamic text tags, e.g.:

Distribution map of <ITA><dyn type="page" property="Description"/></ITA>

The ITA tag is for Italic style by the way, but I guess you knew that already.
0 Kudos
ChipHankley1
Deactivated User
Hi Samuel,

Somewhat out of order...

P.S. ... without Python
Don't think it's possible (mostly b/c of #1). DDP out of the box won't do this, but you can do everything you want to do with arcpy.mapping. Check out the tutorial... ESRI did a real bang-up job with this... it's super easy to implement.

1)... Insets
Do this with arcpy.mapping. Have your insets live off the page. Move them back on the page for the relevant pages in your map book. You move elements like this:
MyElm = arcpy.mapping.ListLayoutElements(mxd,wildcard="SomeName")[0]
MyElm.elementPositionX = 50


2) ...Layout
Could you change your workflow? Could your page layout be the same (e.g. a landscape page), but rotate the dataframe? This would be much easier to implement as you could just use the rotation feature in DDP, and set the rotation value in the map index sheets.

In lieu of that, with arcpy.mapping you could have two dataframes and page layouts (title block, etc.). One would be the "landscape" version, and one the "portrait" version. You could then use positioning (see example above) to move the elements in and out of place as needed. This might be a little hoakie, as I'm not sure you can change page orientation with arcpy.mapping, but your could have a "rotated" layout. E.G., on a landscape page, your portrait title block would be rotated 90 degrees.

3) mix of dyn and static text
Simply mix the dynamic text tags in with your static text:
<dyn type="page" property="attribute" field="FigureNo" domainlookup="true"/>
Site Plan of the Proposed ABC
Utility Line in <dyn type="page" property="attribute" field="CountyName" domainlookup="true"/> County, TX
SamuelPayne1
Deactivated User
I greatly appreciate the answers you both provided. All the suggestions previously mentioned will work. I am currently in the process of implementing them.

Thanks Again,

-Sam
0 Kudos
JohnSobetzer
Honored Contributor
If you want additional data frames on some pages and not others, and in different locations, see http://forums.arcgis.com/threads/40832-Multiple-data-driven-frames, and see http://www.arcgis.com/home/item.html?id=0ba4fd37e2e54f65b3edf6478e8cc30a

Another option is to use one DDP project (perhaps a copy of your main one with a simple closeup extent) to create your closeups and export them as a raster such as a tif.  Then use the dynamic pictures option of Data Driven Pages to control what picture shows on what page and the location of each.  See http://betablogs.esri.com/beta/arcgis/2011/11/28/dynamic-pictures-in-data-driven-pages/.  If you export all your closeups to one folder from a DDP, then it makes it much easier to add the paths to the DDP index table (calculate the path into all and then just add the unique name), and you have the added ability to easily update the closeups simply by running the closeup DDP prior to running your main DDP.
0 Kudos
SamuelPayne1
Deactivated User
@ John S.

I tried using the Multiple Elements Layout Manager. I got the following Error. I am new to python. Have any suggestions?

-Sam

I have attached a screen shot showing the error.
0 Kudos
SamuelPayne1
Deactivated User
@ John S.

I Tried to run the Multiple Element Layout Manager. It did not work for me. I am new to python scripting. Have any ideas about this error. I have attached a screen shot showing the error.

-Sam
0 Kudos
MarcoBoeringa
MVP Alum
Sam,

I can hardly read the screenshot you posted. Most forums, and this seems too, resize your screenshots to some predefined maximum allowable size. It is wise to stay below it, so as to prevent resizing, for example by selecting only the error window in an image editor (e.g. Windows Paint) and writing that to a file before attaching to a post.

However, from what I see, it is clear that the Multiple Element Layout Manager (which I am not yet familiar with - is it some user submitted add-on for ArcGIS?), expects an extra field in your DDP index layer, if I read it right it must be named "pageNameTimID".

You may be able to solve the issue by adding such a field, although it would be wise to consult the documentation, if any, to find out which fields, and their field types, are required for this application.

Marco
0 Kudos