Data Driven Pages: Difference between revisions

From Wildsong
Jump to navigationJump to search
Brian Wilson (talk | contribs)
mNo edit summary
Brian Wilson (talk | contribs)
mNo edit summary
Line 9: Line 9:
I want to create a map series for a long bike ride. Page one should show the whole route. Successive pages will each show a segment of the ride. I will generate a PDF file containing all maps.
I want to create a map series for a long bike ride. Page one should show the whole route. Successive pages will each show a segment of the ride. I will generate a PDF file containing all maps.


# I create a route in Garmin's BaseCamp.
=== Create a route ===
 
# I create a route in Garmin's BaseCamp. It's clumsy but does understand routing and can generate GPX files. I can use the GPX in my Garmin when I am on the road too.
# Select the route and then File->Export "Selected User Data"
# Select the route and then File->Export "Selected User Data"
# Save the route as a GPX file
# Save the route as a GPX file
Line 15: Line 17:
# File->Export "Selected User Data"
# File->Export "Selected User Data"
# Save the track as another GPX file
# Save the track as another GPX file
=== Import the route ===
# Jump over to ArcGIS.
# Jump over to ArcGIS.
# Use tool "GPX to features (Conversion)" to convert the route and track to feature classes.  
# Use tool "GPX to features (Conversion)" to convert the route and track to feature classes.  
# Convert the track to a line.
# Convert the track to a line.
# Use the line as input in the Strip Map Index Features tool. I made the box on my map 8"x8" so I build an index for that. I set the scale to 1:48000 to give a reasonable map for bicycling.
# Use the setup wizard in the Data Driven Pages toolbar to turn on DDP and use the index fc.


I had to add a TrackUp field to the index and calculate angle + 180 to get the maps to show Track Up instead of Track Down.
=== Build an index feature class ===
 
Decide how big you want each page and what reference scale it should use.
I made an 8x8" box on my layout for the main map, and decide 1:48000 gives me a map that's useful while riding. You get about 10-12 miles of riding per map page.
 
# Use the track line as input in the Strip Map Index Features tool.
# I set the scale to 1:48000 to give a reasonable map for bicycling.
# I set the page extent overlap to 10%.
 
=== Generate pages ===
 
By default if I use the Angle field, track (the direction of travel) is DOWN the page, not what I want! I added a TrackUp field to the index feature class and then used Field Calculate with
TrackUp = Angle + 180 to get the maps to show Track Up instead of Track Down.
 
Use the setup wizard in the Data Driven Pages toolbar to turn on DDP and use the index fc.
 
=== Make your map book ===
 
To use DDP to generate output in ArcMap you either "print" or "export".
 
In classic ESRI style, there is no feedback while it generates output other than a spinning cursor. So, when you run it and nothing appears to happen, maybe it works and it is slow or maybe it failed and is wasting your time. Your guess?
 
You can try outputting one page at a time! I did 1 page then 2 pages. That worked. Doing all 9? NOTHING.
 
=== More ideas ===


An exercise: Python script, to make a bookmark for each page (instead of using DDP toolbar).
An exercise: Python script, to make a bookmark for each page (instead of using DDP toolbar).
Line 34: Line 61:
The maps will just use the ESRI [http://www.esri.com/software/arcgis/arcgisonline/features/maps
The maps will just use the ESRI [http://www.esri.com/software/arcgis/arcgisonline/features/maps
  ArcGIS Online] [https://www.arcgis.com/home/gallery.html#c=esri&t=maps&o=modified&f=basemaps-current Basemap] US topo for now. In ArcMap, use "Add Basemap" in the "add data" list.
  ArcGIS Online] [https://www.arcgis.com/home/gallery.html#c=esri&t=maps&o=modified&f=basemaps-current Basemap] US topo for now. In ArcMap, use "Add Basemap" in the "add data" list.
To use DDP to generate output in ArcMap you either "print" or "export". In classic ESRI style, there is no feedback while it generates output other than a spinning cursor. So, when you run it and nothing appears to happen, maybe it works and it is slow or maybe it failed and is wasting your time. Your guess? You can try outputting one page at a time!


Can I have an elevation profile for the segment appear on each page?
Can I have an elevation profile for the segment appear on each page?

Revision as of 01:48, 3 September 2015

This is a feature of ArcGIS Desktop.

Use Data Driven Pages when you want to create a map series (printed or pdf or ?)

  1. Create a layout to be used for each map in the series.
  2. Create an index to define the extent of each page along with things like the page title
  3. Generate the maps by running the tool

I want to create a map series for a long bike ride. Page one should show the whole route. Successive pages will each show a segment of the ride. I will generate a PDF file containing all maps.

Create a route

  1. I create a route in Garmin's BaseCamp. It's clumsy but does understand routing and can generate GPX files. I can use the GPX in my Garmin when I am on the road too.
  2. Select the route and then File->Export "Selected User Data"
  3. Save the route as a GPX file
  4. Convert the route to a track and then select the track.
  5. File->Export "Selected User Data"
  6. Save the track as another GPX file

Import the route

  1. Jump over to ArcGIS.
  2. Use tool "GPX to features (Conversion)" to convert the route and track to feature classes.
  3. Convert the track to a line.

Build an index feature class

Decide how big you want each page and what reference scale it should use. I made an 8x8" box on my layout for the main map, and decide 1:48000 gives me a map that's useful while riding. You get about 10-12 miles of riding per map page.

  1. Use the track line as input in the Strip Map Index Features tool.
  2. I set the scale to 1:48000 to give a reasonable map for bicycling.
  3. I set the page extent overlap to 10%.

Generate pages

By default if I use the Angle field, track (the direction of travel) is DOWN the page, not what I want! I added a TrackUp field to the index feature class and then used Field Calculate with TrackUp = Angle + 180 to get the maps to show Track Up instead of Track Down.

Use the setup wizard in the Data Driven Pages toolbar to turn on DDP and use the index fc.

Make your map book

To use DDP to generate output in ArcMap you either "print" or "export".

In classic ESRI style, there is no feedback while it generates output other than a spinning cursor. So, when you run it and nothing appears to happen, maybe it works and it is slow or maybe it failed and is wasting your time. Your guess?

You can try outputting one page at a time! I did 1 page then 2 pages. That worked. Doing all 9? NOTHING.

More ideas

An exercise: Python script, to make a bookmark for each page (instead of using DDP toolbar).

For each feature in the index feature class:
  Find centroid for each feature
  Generate a bookmark matching it

Another exercise: Write python to generate the strip index, and then have it insert as the first row as an extent that covers the entire route with Angle set to 0 so that we have a north up overview as page 1 in the map book. Then have it do the TrackUp calculation too.

The track is for a visual reference. The route is for creating the index.

The maps will just use the ESRI [http://www.esri.com/software/arcgis/arcgisonline/features/maps

ArcGIS Online] Basemap US topo for now. In ArcMap, use "Add Basemap" in the "add data" list.

Can I have an elevation profile for the segment appear on each page? Not yet but this Python script would be a starting point to generate the graphics.

As long as we're generating profiles, we should generate those nifty chevrons that bicycle maps always have. I mean, why not? Steep steeper steepest!

Can I have an overview dataframe appear on each map?

Can I rotate each map so that I have direction of travel instead of north up?

Can I turn layers on or off on a page?

Can I turn on or off features like north arrows or scale bars?

Can I have a block of text appear on only certain pages? For example, attribution for a layer.

Page definition queries

A page definition query allows you to control what shows up on a given page.