<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Layers On/Off in Mapping Questions</title>
    <link>https://community.esri.com/t5/mapping-questions/layers-on-off/m-p/402485#M4415</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Susan,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I don't know why this is not working for you but I have never tried duplicate index features like you are.&amp;nbsp; This is definately a creative way to use DDP but I don't think this is the correct approach.&amp;nbsp; You are trying to create a thematic map - extent remains the same but different layers or themes are displayed for each page.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The approach I would take is to not use DDP and use arcpy.mapping only.&amp;nbsp; Lets say you have 14 different pages because there are 14 different images.&amp;nbsp; To makes things really easy, I would order the images in the TOC the way I want them to be exported.&amp;nbsp; Image 1 / Page 1 at the top, image 14 / page 14 at the bottom of the TOC.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Then I would do something like:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;
import arcpy
mxd = arcpy.mapping.MapDocument(someMXDpath)
for lyr in arcpy.mapping.ListLayers(mxd):
&amp;nbsp; lyr.visible = False
for lyr in arcpy.mapping.ListLayers(mxd):
&amp;nbsp; lyr.visble = True
&amp;nbsp; arcpy.mapping.ExportToPDF(mxd, somePDFpath)
&amp;nbsp; lyr.visble = False
&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The code obviously needs more logic if there are multiple data frames, sets of layers that are always visible, etc&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Jeff&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sat, 11 Dec 2021 18:20:48 GMT</pubDate>
    <dc:creator>JeffBarrette</dc:creator>
    <dc:date>2021-12-11T18:20:48Z</dc:date>
    <item>
      <title>Layers On/Off</title>
      <link>https://community.esri.com/t5/mapping-questions/layers-on-off/m-p/402472#M4402</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hello,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I have a map which I am publishing to be viewed in ArcReader.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I have 2 layer groups which I do not want visible at the same time (i.e., both can be turned off, or one or the other can be turned one, but not both on at the same time).&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Is there a way to do this?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks for your thoughts.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 25 Oct 2011 15:49:56 GMT</pubDate>
      <guid>https://community.esri.com/t5/mapping-questions/layers-on-off/m-p/402472#M4402</guid>
      <dc:creator>MathieuCain</dc:creator>
      <dc:date>2011-10-25T15:49:56Z</dc:date>
    </item>
    <item>
      <title>Re: Layers On/Off</title>
      <link>https://community.esri.com/t5/mapping-questions/layers-on-off/m-p/402473#M4403</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Is there a way you could use scale thresholds or are the two groups scale independent?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I can't think of a way to do it in the UI.&amp;nbsp; You would need to build a custom event handler.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Jeff&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 26 Oct 2011 13:12:27 GMT</pubDate>
      <guid>https://community.esri.com/t5/mapping-questions/layers-on-off/m-p/402473#M4403</guid>
      <dc:creator>JeffBarrette</dc:creator>
      <dc:date>2011-10-26T13:12:27Z</dc:date>
    </item>
    <item>
      <title>Re: Layers On/Off</title>
      <link>https://community.esri.com/t5/mapping-questions/layers-on-off/m-p/402474#M4404</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Unfortunately they are scale independent.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 26 Oct 2011 17:15:29 GMT</pubDate>
      <guid>https://community.esri.com/t5/mapping-questions/layers-on-off/m-p/402474#M4404</guid>
      <dc:creator>MathieuCain</dc:creator>
      <dc:date>2011-10-26T17:15:29Z</dc:date>
    </item>
    <item>
      <title>Re: Layers On/Off</title>
      <link>https://community.esri.com/t5/mapping-questions/layers-on-off/m-p/402475#M4405</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I'm searching the forum as I have a very similar need.&amp;nbsp; So I'll hijack/bump your post.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I have 20+ Group Layers, each with one feature class, a DWG and a raster.&amp;nbsp; I could employ Page Definition Queries if it wasn't for the darn raster. &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I want one Group Layer visible per DDP.&amp;nbsp; I'm sure a little Python would go a long way but alas, I'm Python ignorant.&amp;nbsp; &lt;span class="lia-unicode-emoji" title=":disappointed_face:"&gt;😞&lt;/span&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Am I missing a simple way to do this?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks!&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 04 Oct 2012 13:26:27 GMT</pubDate>
      <guid>https://community.esri.com/t5/mapping-questions/layers-on-off/m-p/402475#M4405</guid>
      <dc:creator>KerryStonestreet</dc:creator>
      <dc:date>2012-10-04T13:26:27Z</dc:date>
    </item>
    <item>
      <title>Re: Layers On/Off</title>
      <link>https://community.esri.com/t5/mapping-questions/layers-on-off/m-p/402476#M4406</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;This may be off base, but how about &lt;/SPAN&gt;&lt;A href="http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#//00s90000000q000000.htm"&gt;clipping&lt;/A&gt;&lt;SPAN&gt; to the current extent of the data driven page?&amp;nbsp; You can include all layers within the clip so it'll clip vector and raster data.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 04 Oct 2012 15:05:49 GMT</pubDate>
      <guid>https://community.esri.com/t5/mapping-questions/layers-on-off/m-p/402476#M4406</guid>
      <dc:creator>JonathanQuinn</dc:creator>
      <dc:date>2012-10-04T15:05:49Z</dc:date>
    </item>
    <item>
      <title>Re: Layers On/Off</title>
      <link>https://community.esri.com/t5/mapping-questions/layers-on-off/m-p/402477#M4407</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;This may be off base, but how about &lt;A href="http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#//00s90000000q000000.htm"&gt;clipping&lt;/A&gt; to the current extent of the data driven page?&amp;nbsp; You can include all layers within the clip so it'll clip vector and raster data.&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks for the suggestion.&amp;nbsp; I neglected to state my index feature class consists of 30+ identical polygons (i.e., exact same size and extent). &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks again for the quick reply, I just saw this.&amp;nbsp; I thought I had notifications enabled.&amp;nbsp; Will check on it.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 08 Oct 2012 11:46:56 GMT</pubDate>
      <guid>https://community.esri.com/t5/mapping-questions/layers-on-off/m-p/402477#M4407</guid>
      <dc:creator>KerryStonestreet</dc:creator>
      <dc:date>2012-10-08T11:46:56Z</dc:date>
    </item>
    <item>
      <title>Re: Layers On/Off</title>
      <link>https://community.esri.com/t5/mapping-questions/layers-on-off/m-p/402478#M4408</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Perhaps I should move this to a new post?&amp;nbsp; Oh well, it's essentially the same question originally posted and unanswered.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I'm struggling through a crash course in Arcpy this week.&amp;nbsp; I've been putting this off for years.&amp;nbsp; &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I want to turn on (make visible) a Group Layer for each index page of my DDP.&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;STRONG&gt;In my TOC:&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;STRONG&gt;GroupLayer1&lt;/STRONG&gt;&lt;SPAN&gt;" to "&lt;/SPAN&gt;&lt;STRONG&gt;GroupLayer30&lt;/STRONG&gt;&lt;SPAN&gt;".&amp;nbsp; 30 Group Layers named same as my DDP index field.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;A &lt;/SPAN&gt;&lt;STRONG&gt;"New Basemap Layer"&lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I've believe the answer may along one or more of these concepts:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;lyr.longName equal to lyr.name then lyr.visible = true, else false?&lt;/SPAN&gt;&lt;BR /&gt;&lt;A href="http://forums.arcgis.com/threads/957-Beta-10-List-Comprehensions?highlight=map+group+layer+u%27" rel="nofollow noopener noreferrer" target="_blank"&gt;http://forums.arcgis.com/threads/957-Beta-10-List-Comprehensions?highlight=map+group+layer+u%27&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;yet another snippet I'm experimenting with, but currently only returns the "else" argument...&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;import arcpy, os 
... mxd = arcpy.mapping.MapDocument(r'C:\GIS\PROJECT\FrustratingArcPy.mxd')
... idxLyr = arcpy.mapping.ListLayers(mxd, 'MapBook_OCT09')[0]&amp;nbsp; # The DDP index FC
... Group = arcpy.mapping.ListLayers (mxd)
... df = arcpy.mapping.ListDataFrames(mxd, 'MapBook')[0] # The Data Frame name
... pageNameField = "Page_Title" #DDP Index Field
... 
... rows = arcpy.UpdateCursor(idxLyr)
... 
... for row in rows:
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pageName = row.getValue(pageNameField).encode('ascii')
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pageID = mxd.dataDrivenPages.getPageIDFromName(pageName)
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mxd.dataDrivenPages.currentPageID = pageID
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if str(pageName) == str(Group):
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print str(Group) + str(" ") + str(pageName)
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else:
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print str(Group)
... del mxd, row, rows&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Another incomplete sample which returns all Group Layers, including the "New Basemap Layer":&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt; import arcpy, os
... from arcpy.mapping import *&amp;nbsp; #Brings in entire functionality of the mapping module
... mxd = arcpy.mapping.MapDocument(r'C:\GIS\PROJECT\FrustratingArcPy.mxd')
... layerlist = arcpy.mapping.ListLayers(mxd)&amp;nbsp;&amp;nbsp;&amp;nbsp; 
... for lyr in layerlist:&amp;nbsp;&amp;nbsp;&amp;nbsp; 
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if lyr.isGroupLayer:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lyr.visible = True
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print str(lyr)
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else:
...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lyr.visible = False
... arcpy.RefreshTOC()&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
... del mxd&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Please help?!&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks!&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Kerry&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 18:20:37 GMT</pubDate>
      <guid>https://community.esri.com/t5/mapping-questions/layers-on-off/m-p/402478#M4408</guid>
      <dc:creator>KerryStonestreet</dc:creator>
      <dc:date>2021-12-11T18:20:37Z</dc:date>
    </item>
    <item>
      <title>Re: Layers On/Off</title>
      <link>https://community.esri.com/t5/mapping-questions/layers-on-off/m-p/402479#M4409</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I think the following script will do what you need.&amp;nbsp; Make sure to save the MXD with ALL group layers checked off (and all layers within the group layer checked on).&amp;nbsp; See attached screen shot. A field was added to the index layer called "GroupLayerName".&amp;nbsp; It has the values "GroupLayer1, GroupLayer2, etc).&amp;nbsp; After exporting to PDF, the script then turns the group layer back off again before going to the next DDP page.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;

import arcpy
mxd = arcpy.mapping.MapDocument(r"c:\Temp\test.mxd")
ddp = mxd.dataDrivenPages

for pageNum in range(1, mxd.dataDrivenPages.pageCount + 1):
&amp;nbsp; mxd.dataDrivenPages.currentPageID = pageNum
&amp;nbsp; fieldValue = mxd.dataDrivenPages.pageRow.GroupLayerName
&amp;nbsp; for lyr in arcpy.mapping.ListLayers(mxd):
&amp;nbsp;&amp;nbsp;&amp;nbsp; if lyr.name == fieldValue:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lyr.visible = True
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.mapping.ExportToPDF(mxd, r"C:\\Temp\\" + fieldValue + ".pdf")
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lyr.visible = False
del mxd&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;[ATTACH=CONFIG]18285[/ATTACH]&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Jeff&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 18:20:40 GMT</pubDate>
      <guid>https://community.esri.com/t5/mapping-questions/layers-on-off/m-p/402479#M4409</guid>
      <dc:creator>JeffBarrette</dc:creator>
      <dc:date>2021-12-11T18:20:40Z</dc:date>
    </item>
    <item>
      <title>Re: Layers On/Off</title>
      <link>https://community.esri.com/t5/mapping-questions/layers-on-off/m-p/402480#M4410</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;I think the following script will do what you need.&amp;nbsp; Make sure to save the MXD with ALL group layers checked off (and all layers within the group layer checked on).&amp;nbsp; See attached screen shot. A field was added to the index layer called "GroupLayerName".&amp;nbsp; It has the values "GroupLayer1, GroupLayer2, etc).&amp;nbsp; After exporting to PDF, the script then turns the group layer back off again before going to the next DDP page.&lt;BR /&gt;... &amp;lt;edited&amp;gt;&lt;BR /&gt;Jeff&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;STRONG&gt;Ahhhhh Jeff, that's smoooth.&amp;nbsp; Works like a charm!&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;I'm inspired to continue learning Arcpy.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I voted your reply up one, wish I could vote it up 10x's.&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Thank you!&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Kerry&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 09 Oct 2012 14:06:25 GMT</pubDate>
      <guid>https://community.esri.com/t5/mapping-questions/layers-on-off/m-p/402480#M4410</guid>
      <dc:creator>KerryStonestreet</dc:creator>
      <dc:date>2012-10-09T14:06:25Z</dc:date>
    </item>
    <item>
      <title>Re: Layers On/Off</title>
      <link>https://community.esri.com/t5/mapping-questions/layers-on-off/m-p/402481#M4411</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I am trying to make changes to a map document using a python stand alone script.&amp;nbsp; My script runs&amp;nbsp; and I can get information from the map document but it does not make any changes to the document.&amp;nbsp; One example is just to turn the layers on and off.&amp;nbsp; A snippet of part of the script is included.&amp;nbsp; Any help would be appreciated as even my instructor has not been able to make it work.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;# Import system modules&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;import arcpy, sys, os, traceback, datetime&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;from arcpy.mapping import *&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;# set the current workspace (in the case a folder)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;arcpy.env.workspace = "E:\MapProject\MapProject.gdb"&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;# Define Variables&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;datapath = "E:\MapProject\MapProject.gdb\\"&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;mappath =&amp;nbsp; "E:\\MapProject\\Maps"&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;try:&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Get the map document. In this case a custom template set up for map production&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; mxd = MapDocument(mappath + os.sep + "ReportMapsTemplate9.mxd")&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; print "Getting Map Document properties..."&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Report properties of the Map Document&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; print "Map Document Title: " + str(mxd.title)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; print "Map Document Author: " + str(mxd.author)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; mxd.author = "Tracey A. King"&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; print "Map Document Author is now: " + str(mxd.author)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; print mxd.filePath&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; print mxd.pageSize&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Get a list of data frames&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # [0] indicates the first data frame&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # The data frame names is "Map Frame"&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; df = ListDataFrames(mxd, "Map Frame")[0]&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; print "Getting Data Frame properties..."&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Report properties of the data frame named "Map Frame"&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; print 'Data Frame Name: ' + str(df.name)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; print "Map Frame Map Units: " + str(df.mapUnits)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; print "Map Frame Scale: " + str(df.scale)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Get a list of layers in the table of contents of the map document&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; TOCLayers = ListLayers(mxd)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; print "Processing layout elements..."&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Loop through the layers&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for TOCLayer in ListLayers(mxd):&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print 'Layer Name: ' + str(TOCLayer.name)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print 'Longname: ' + str(TOCLayer.longName)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # 3. Set initial layer visibility&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if TOCLayer.name=="SSLT_Boundary":&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TOCLayer.visible=True&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if TOCLayer.name=="SSLT_Easements":&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TOCLayer.visible=True&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if TOCLayer.name=="NatGeo_World_Map":&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TOCLayer.visible=True&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 28 Nov 2012 18:56:31 GMT</pubDate>
      <guid>https://community.esri.com/t5/mapping-questions/layers-on-off/m-p/402481#M4411</guid>
      <dc:creator>TraceyKing</dc:creator>
      <dc:date>2012-11-28T18:56:31Z</dc:date>
    </item>
    <item>
      <title>Re: Layers On/Off</title>
      <link>https://community.esri.com/t5/mapping-questions/layers-on-off/m-p/402482#M4412</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Tracey,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;A couple of comments:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;- I don't see an mxd.save() in your code so how is it that you expect to see changes?&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;- If you are running this from the Python window, use "CURRENT" instead of the path to the file on disk.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;- it would be much easier to read your code if you posted it withing &lt;PRE&gt; tags.&amp;nbsp; Its the # button.&amp;nbsp; You want to preserve indents.&lt;/PRE&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Jeff&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 29 Nov 2012 15:53:49 GMT</pubDate>
      <guid>https://community.esri.com/t5/mapping-questions/layers-on-off/m-p/402482#M4412</guid>
      <dc:creator>JeffBarrette</dc:creator>
      <dc:date>2012-11-29T15:53:49Z</dc:date>
    </item>
    <item>
      <title>Re: Layers On/Off</title>
      <link>https://community.esri.com/t5/mapping-questions/layers-on-off/m-p/402483#M4413</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;Tracey,&lt;BR /&gt;&lt;BR /&gt;A couple of comments:&lt;BR /&gt;- I don't see an mxd.save() in your code so how is it that you expect to see changes?&lt;BR /&gt;- If you are running this from the Python window, use "CURRENT" instead of the path to the file on disk.&lt;BR /&gt;- it would be much easier to read your code if you posted it withing &lt;PRE class="lia-code-sample line-numbers language-none"&gt; tags.&amp;nbsp; Its the # button.&amp;nbsp; You want to preserve indents.

Jeff&lt;/PRE&gt;&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi Jeff&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks alot for your help.&amp;nbsp; That was my first post and I didn't know how to include code, so thanks for the heads up.&amp;nbsp; My code works now, here is a copy.&amp;nbsp; I had the save a copy in my code, what I showed here was just a snippet, the real one is longer.&amp;nbsp; I don't know what was wrong but I will continue with this code and add the rest in gradually to determine where my error was.&amp;nbsp; Thanks again!&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;PRE class="lia-code-sample line-numbers language-none"&gt;# Import system modules&lt;/PRE&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;import arcpy, sys, os, traceback, datetime&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;from arcpy.mapping import *&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;# set the current workspace (in the case a folder)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;arcpy.env.workspace = "E:\MapProject\MapProject.gdb"&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;# Define Variables&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;datapath = "J:\MapProject\MapProject.gdb\\"&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;mappath =&amp;nbsp; "J:\\MapProject\\Maps"&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;newmxd= mappath + os.sep + "outReportMap.mxd"&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;try:&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Get the map document. In this case a custom template set up for map production&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; mxd = MapDocument(mappath + os.sep + "ReportMapsTemplate9.mxd")&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; print "Getting Map Document properties..."&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Report properties of the Map Document&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; print "Map Document Title: " + str(mxd.title)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; print "Map Document Author: " + str(mxd.author)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; mxd.author = "Tracey A. King"&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; print "Map Document Author is now: " + str(mxd.author)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; print mxd.filePath&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; print mxd.pageSize&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Get a list of data frames&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # [0] indicates the first data frame&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # The data frame names is "Map Frame"&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; df = ListDataFrames(mxd, "Map Frame")[0]&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; print "Getting Data Frame properties..."&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Report properties of the data frame named "Map Frame"&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; print 'Data Frame Name: ' + str(df.name)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; print "Map Frame Map Units: " + str(df.mapUnits)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; print "Map Frame Scale: " + str(df.scale)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Get a list of layers in the table of contents of the map document&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; TOCLayers = ListLayers(mxd)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; print "Processing layout elements..."&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Loop through the layers&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for TOCLayer in ListLayers(mxd):&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print 'Layer Name: ' + str(TOCLayer.name)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print 'Longname: ' + str(TOCLayer.longName)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # 3. Set initial layer visibility&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if TOCLayer.name=="SSLT_Boundary":&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TOCLayer.visible=True&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if TOCLayer.name=="SSLT_Easements":&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TOCLayer.visible=True&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if TOCLayer.name=="NatGeo_World_Map":&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TOCLayer.visible=True&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # 4. Save to a new map document&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Check to see if map document already exists, if it does delete it&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if arcpy.Exists(newmxd):&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.Delete_management(newmxd)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Save the changes in a new map document&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; mxd.saveACopy(newmxd)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; print "A copy of the map document has been saved"&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;except:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # &lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#//002z0000000q000000" rel="nofollow noopener noreferrer" target="_blank"&gt;http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#//002z0000000q000000&lt;/A&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; tb = sys.exc_info()[2]&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; tbinfo = traceback.format_tb(tb)[0]&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; pymsg = "PYTHON ERRORS:\nTraceback Info:\n" + tbinfo + "\nError Info:\n&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; " +&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; str(sys.exc_type) + ": " + str(sys.exc_value) + "\n"&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; msgs = "ARCPY ERRORS:\n" + arcpy.GetMessages(2) + "\n"&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.AddError(msgs)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.AddError(pymsg)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; print msgs&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; print pymsg&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.AddMessage(arcpy.GetMessages(1))&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; print arcpy.GetMessages(1)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 18:20:43 GMT</pubDate>
      <guid>https://community.esri.com/t5/mapping-questions/layers-on-off/m-p/402483#M4413</guid>
      <dc:creator>TraceyKing</dc:creator>
      <dc:date>2021-12-11T18:20:43Z</dc:date>
    </item>
    <item>
      <title>Re: Layers On/Off</title>
      <link>https://community.esri.com/t5/mapping-questions/layers-on-off/m-p/402484#M4414</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;I think the following script will do what you need.&amp;nbsp; Make sure to save the MXD with ALL group layers checked off (and all layers within the group layer checked on).&amp;nbsp; See attached screen shot. A field was added to the index layer called "GroupLayerName".&amp;nbsp; It has the values "GroupLayer1, GroupLayer2, etc).&amp;nbsp; After exporting to PDF, the script then turns the group layer back off again before going to the next DDP page.&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;

import arcpy
mxd = arcpy.mapping.MapDocument(r"c:\Temp\test.mxd")
ddp = mxd.dataDrivenPages

for pageNum in range(1, mxd.dataDrivenPages.pageCount + 1):
&amp;nbsp; mxd.dataDrivenPages.currentPageID = pageNum
&amp;nbsp; fieldValue = mxd.dataDrivenPages.pageRow.GroupLayerName
&amp;nbsp; for lyr in arcpy.mapping.ListLayers(mxd):
&amp;nbsp;&amp;nbsp;&amp;nbsp; if lyr.name == fieldValue:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lyr.visible = True
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.mapping.ExportToPDF(mxd, r"C:\\Temp\\" + fieldValue + ".pdf")
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lyr.visible = False
del mxd
&lt;/PRE&gt;&lt;BR /&gt;&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi Jeff,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I'm using the same code you provided above, but my code only exports the first page as a pdf. I do have a different field name in the index layer, it's called GroupLayer without the Name as in yours. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I'm wondering if it has anything to do with my index layer which is 14 polygons on top of each other. I did that so I could export a different aerial image with each page. My group layers are called GroupLayerr1, GroupLayer2, etc and the page names in the index layer are the same.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Is it confused because every polygon inthe index layer is exactly the same?&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Can I export a map, not using DDP, cycling through group layers for each export?&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Susan&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 18:20:46 GMT</pubDate>
      <guid>https://community.esri.com/t5/mapping-questions/layers-on-off/m-p/402484#M4414</guid>
      <dc:creator>SusanWalden</dc:creator>
      <dc:date>2021-12-11T18:20:46Z</dc:date>
    </item>
    <item>
      <title>Re: Layers On/Off</title>
      <link>https://community.esri.com/t5/mapping-questions/layers-on-off/m-p/402485#M4415</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Susan,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I don't know why this is not working for you but I have never tried duplicate index features like you are.&amp;nbsp; This is definately a creative way to use DDP but I don't think this is the correct approach.&amp;nbsp; You are trying to create a thematic map - extent remains the same but different layers or themes are displayed for each page.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The approach I would take is to not use DDP and use arcpy.mapping only.&amp;nbsp; Lets say you have 14 different pages because there are 14 different images.&amp;nbsp; To makes things really easy, I would order the images in the TOC the way I want them to be exported.&amp;nbsp; Image 1 / Page 1 at the top, image 14 / page 14 at the bottom of the TOC.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Then I would do something like:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;
import arcpy
mxd = arcpy.mapping.MapDocument(someMXDpath)
for lyr in arcpy.mapping.ListLayers(mxd):
&amp;nbsp; lyr.visible = False
for lyr in arcpy.mapping.ListLayers(mxd):
&amp;nbsp; lyr.visble = True
&amp;nbsp; arcpy.mapping.ExportToPDF(mxd, somePDFpath)
&amp;nbsp; lyr.visble = False
&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The code obviously needs more logic if there are multiple data frames, sets of layers that are always visible, etc&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Jeff&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 18:20:48 GMT</pubDate>
      <guid>https://community.esri.com/t5/mapping-questions/layers-on-off/m-p/402485#M4415</guid>
      <dc:creator>JeffBarrette</dc:creator>
      <dc:date>2021-12-11T18:20:48Z</dc:date>
    </item>
    <item>
      <title>Re: Layers On/Off</title>
      <link>https://community.esri.com/t5/mapping-questions/layers-on-off/m-p/402486#M4416</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;Susan,&lt;BR /&gt;&lt;BR /&gt;I don't know why this is not working for you but I have never tried duplicate index features like you are.&amp;nbsp; This is definately a creative way to use DDP but I don't think this is the correct approach.&amp;nbsp; You are trying to create a thematic map - extent remains the same but different layers or themes are displayed for each page.&lt;BR /&gt;&lt;BR /&gt;The approach I would take is to not use DDP and use arcpy.mapping only.&amp;nbsp; Lets say you have 14 different pages because there are 14 different images.&amp;nbsp; To makes things really easy, I would order the images in the TOC the way I want them to be exported.&amp;nbsp; Image 1 / Page 1 at the top, image 14 / page 14 at the bottom of the TOC.&lt;BR /&gt;&lt;BR /&gt;Then I would do something like:&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;
import arcpy
mxd = arcpy.mapping.MapDocument(someMXDpath)
for lyr in arcpy.mapping.ListLayers(mxd):
&amp;nbsp; lyr.visible = False
for lyr in arcpy.mapping.ListLayers(mxd):
&amp;nbsp; lyr.visble = True
&amp;nbsp; arcpy.mapping.ExportToPDF(mxd, somePDFpath)
&amp;nbsp; lyr.visble = False
&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;The code obviously needs more logic if there are multiple data frames, sets of layers that are always visible, etc&lt;BR /&gt;&lt;BR /&gt;Jeff&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks Jeff, I thought as much. I'll try your approach and see how it works. Python is not simple for me...struggling with it for a while now, maybe I'll have a breakthrough!&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 18:20:51 GMT</pubDate>
      <guid>https://community.esri.com/t5/mapping-questions/layers-on-off/m-p/402486#M4416</guid>
      <dc:creator>SusanWalden</dc:creator>
      <dc:date>2021-12-11T18:20:51Z</dc:date>
    </item>
  </channel>
</rss>

