Constant extent with Data Driven Pages

9558
12
03-14-2011 01:41 PM
by Anonymous User
Not applicable
Original User: zorbac

Wondering if there is a way to make the extent remain the same, even if the index layer extent varies. I'd like to do an atlas with one page for each bus route that intersects a study area. So, the index layer is based on the bus routes (each feature is equal to the envelope defined by a given route) For each page of the atlas I want the extent to remain unchanged (showing entire study area). Then I can use the "page definition query" settings to query the bus routes layer such that the corresponding bus route is shown on the map.

One solution is to create an index grid with a bunch of stacked polygons each equal to the same extent and populate an attribute with the route numbers. If I have to I'll do this, but I thought I would check if there is a better way. I believe this would be a nice enhancement. You could easily do atlases that compare multiple themes of data for the same area or temporal maps of the same area, etc...
0 Kudos
12 Replies
JeffBarrette
Esri Regular Contributor
Data Driven Pages were not designed for this purpose.  I personally would not use DDP and would script it using arcpy.mapping but your solution to create stacked index polygons for each route should work.  It is very difficult to manage overlapping polygons.

With arcpy.mapping you can simply iterate through each layer and set the definition query and then ExportToPDF before setting the next query.

Jeff
0 Kudos
by Anonymous User
Not applicable
Original User: zorbac

Thanks for the reply Jeff. I'll look into the arcpy option.

Regards
0 Kudos
AndrewMoffitt
Occasional Contributor III
A little late to the party, but here all the same.

The solution is to have two data frames.
The DF that has the data drive pages will be 'off screen' and DF that has the static extent will be on screen.

Screen shot attached.
[ATTACH=CONFIG]28340[/ATTACH]
ScottSambell2
New Contributor II

You, my friend, are a genius.

by Anonymous User
Not applicable
Original User: rborchert

This is very easy. And there are 2 simple ways to accomplish this.

First determine the extent or scale you want to use.

Create your data driven pages.  Set you DDP in the Definition Tab.  then select the Extent Tab.

In the extent tab select Center and Maintain Current Scale.  so whatever you set your scale to before you start to export the DDP it will make maps centered on the polygon or point feature all at the same scale.

Method 2 is less fraught with possibilities for error. Below the Center and Maintain Current Scale selection is a choice for Data Driven Scale.

First create an attribute for your DDP feature with the scale at which you wish to generate your pages.  This attribute will have to be a number attribute (double or Long Integer)  .You can put in a scale for your index layer as well that will be different.  so if you want 1:24,000 enter 24000 in the scale attribute.

Now when you export your pages they will all be at the scale value you enter into the scale attribute.


Wondering if there is a way to make the extent remain the same, even if the index layer extent varies. I'd like to do an atlas with one page for each bus route that intersects a study area. So, the index layer is based on the bus routes (each feature is equal to the envelope defined by a given route) For each page of the atlas I want the extent to remain unchanged (showing entire study area). Then I can use the "page definition query" settings to query the bus routes layer such that the corresponding bus route is shown on the map.

One solution is to create an index grid with a bunch of stacked polygons each equal to the same extent and populate an attribute with the route numbers. If I have to I'll do this, but I thought I would check if there is a better way. I believe this would be a nice enhancement. You could easily do atlases that compare multiple themes of data for the same area or temporal maps of the same area, etc...
0 Kudos
RobertBorchert
Frequent Contributor III
Oh and then have your second data frame referenced to your main frame. as another poster recommended.

This is very easy. And there are 2 simple ways to accomplish this.

First determine the extent or scale you want to use.

Create your data driven pages.  Set you DDP in the Definition Tab.  then select the Extent Tab.

In the extent tab select Center and Maintain Current Scale.  so whatever you set your scale to before you start to export the DDP it will make maps centered on the polygon or point feature all at the same scale.

Method 2 is less fraught with possibilities for error. Below the Center and Maintain Current Scale selection is a choice for Data Driven Scale.

First create an attribute for your DDP feature with the scale at which you wish to generate your pages.  This attribute will have to be a number attribute (double or Long Integer)  .You can put in a scale for your index layer as well that will be different.  so if you want 1:24,000 enter 24000 in the scale attribute.

Now when you export your pages they will all be at the scale value you enter into the scale attribute.
0 Kudos
by Anonymous User
Not applicable
Original User: drewskey

Robert,
The data frame will still pan around with those methods.
0 Kudos
TrishRice
Occasional Contributor III
A little late to the party, but here all the same.

The solution is to have two data frames.
The DF that has the data drive pages will be 'off screen' and DF that has the static extent will be on screen.

Screen shot attached.
[ATTACH=CONFIG]28340[/ATTACH]


Thanks for this idea.  I never would've thought of using a page definition query across data frames.
0 Kudos
by Anonymous User
Not applicable
Original User: msayler

Data Driven Pages were not designed for this purpose.  I personally would not use DDP and would script it using arcpy.mapping but your solution to create stacked index polygons for each route should work.  It is very difficult to manage overlapping polygons.

With arcpy.mapping you can simply iterate through each layer and set the definition query and then ExportToPDF before setting the next query.

Jeff


I'd go with this. You could still drive it off a table if you want to store bits of info about the individual pages somewhere other than the code.
0 Kudos