Select to view content in your preferred language

Map Series Page Editing

4815
14
11-20-2019 10:56 AM
Status: Open
Labels (1)
MatthewDondanville1
Occasional Contributor

Looking for a toggle button to enable label or layout changes on an individual page of a map series. While most data is driven by the attribute table, sometimes a specific page needs an extra arrow or different wording. 

14 Comments
TiffanyTuro

I would like to be able to set graphics to show up only on certain pages, not on every page.  Currently when you use a graphic or text, it will show up on each page, when I really only want it on page 2, for example.

ChrisFox

Thank you for posting your idea. Although this is not possible through the user interface this is possible through Python. Below is a sample script that demonstrates how you can accomplish this:

import arcpy, os

#Create a reference to your map document and the Graphic Element in the map document
#"GraphicElementName" refers to the name of the element in the map document
mxd = arcpy.mapping.MapDocument(r'C:\Temp\Untitled.mxd')
graphic = arcpy.mapping.ListLayoutElements(mxd, "GRAPHIC_ELEMENT", "GraphicElementName")[0]

#Create a list of the page numbers to include the graphic on
includePicPageList = [2,4]

#Set a location for a temporary pdf used to create the mapbook
tempPDF = r'C:\Temp\Temp.pdf'

#Determine if the Final PDF exists on disk, if it does delete it and then create the PDF
finalPDFPath = r'C:\Temp\Final.pdf'
if os.path.exists(finalPDFPath):
    os.remove(finalPDFPath)
finalPDF = arcpy.mapping.PDFDocumentCreate(finalPDFPath)

for pageNum in range (1, 5):
    #Set graphic's postion off the page
    graphic.elementPositionX = -5
    graphic.elementPositionY = -5
   
    #Move to the approiate page in Data Driven Pages
    mxd.dataDrivenPages.currentPageID = pageNum

    #Determine if the current page is in the list of valid pages to include the graphic 
    for includePicPage in includePicPageList:
        if includePicPage == pageNum:
            #If the page is in the page list, set the postion of the graphic to be on the page
            graphic.elementPositionX = 1
            graphic.elementPositionY = 1

    #Export the page to the temporary PDF           
    arcpy.mapping.ExportToPDF(mxd, tempPDF)

    #Append it to the Final PDF and delete the temporary page   
    finalPDF.appendPages(tempPDF)
    os.remove(tempPDF)

#Save the pdf and delete the reference to the PDF and Map Document variables
finalPDF.saveAndClose()
del finalPDF, mxd

KristenPearson

Data driven pages is an amazing tool that helps the user to very quickly produce many different maps based on the same types of data. However, it would be nice to have different layout editing capabilities when producing these many map pages as well. So in theory every new map page would have independent layout options. If changes or edits are made, then they only apply to the current map page in view. For example, my map book contains all of the National Parks within the region of Alaska. All of these parks are different sizes and scales; not so much a 'one size fits all' approach. It would be nice to be able to set some park maps to be portrait orientation and some other maps be landscape orientation. The best example that I can see with another software to describe this is Microsoft Excel and the use of "Sheet" tabs. So in theory all of the maps would still be in the data driven pages map book view, but there would be an option to toggle to the different maps on different tabs (aka "sheet" tabs). Then these maps would be independent enough to have it's own map layout and look. 

Another annoyance with the interconnected layouts of the data driven pages maps is the fact that if any map elements are added to one map that it automatically adds to all maps.... If I wanted to see a special text graphic on one specific map then I would add it to other maps as I see fit. 

Also, if this independent, interconnected map page issue was fixed then it would also alleviate the need to have to recreate a map once edits are done. (i.e. If you were on page 5 of 20 in a map book, you moved onto page 6, made some edits/additions to the layout, printed map 6, and then wanted to go back to map 4 to reprint the original.....map 4 would now have the map layout of map 6 since that was the last map edits/additions that you did to the map book series..... 

HannesMittergeber1

Besides it would be useful to place the page number on even and odd pages (different position)

ThomasWang

Definitely be useful when the extent needs are different for each feature as well.

SarahParks

Yes, I'm making a 256-page detailed street map book. Despite using all the great tools to automate and adjust labeling, 90 of those pages (with numerous streets on each page) need manual edits, as many street names are overlapping and still unreadable. I could make hundreds of different label classes, and use the x and y position to move the labels, but this would be cumbersome and way more time consuming. Instead I am using callout text boxes (many with leader lines) on each page, then grouping that text and then turning off that grouped text element when I go to work on the next page. This means I will have to turn on and off 90 elements and export all these pages separately, then recombine into a PDF outside of ArcGIS. So adding this feature would be an absolute time (and sanity) saver!

(Also agree with the above 2 comments and have those same problems for the project I am working on).

ThomasThorsen1

Some flexibility as described would be nice here, if possible.  I know that printing/exporting maps is going by the wayside, but It would be helpful for my current workflow.

NicholasRolstad2

Yep. This unfortunately a deal breaker for me. I need to output somewhere between 50-300 maps on a regular basis that are very similar, but a handful will be a wildly different scale and a few need to be manually edited to have 2 dataframes instead of one. Not being able to make changes on the 10% that need them makes the entire workflow useless. Shame.

The way it's implemented now only works for features that are all basically the same size/shape, a single feature that doesn't conform makes the entire map series useless.

HannahWilson2

This would be super helpful. For many of my maps, road labels need to be moved or edited - it would be great being able to make these edits and save them to a particular map series page.

wayfaringrob

This would also be useful for taking advantage of negative space. Right now map series are really only useful if you're showing very similarly shaped geographies. Otherwise, you have to make your map quite a bit smaller and put all your surrounds off to the side, wasting the space. Some kind of page overrides for individual layout (and map) elements would be very helpful.