Tool or Function to easily duplicate & fork a Layout & all embedded Maps

1884
8
02-06-2024 02:24 PM
Status: Open
Labels (1)
MErikReedAugusta
MVP Regular Contributor

The Setup & Situation:

I have a map series I'm producing right now to display the results of a complicated analysis of stormwater pond Assets.  By the end of things, I've ended up with two subgroups that need to be in the same report with 99% the same layout/visible layers.  Two of the chief differences are whether the Parcel layer data is visible or not, and what % of padding to add to the scale around the feature.  (Set A shows extra parcel data with a 200% margin; Set B shows simplified parcel data with a 100% margin).

The simplest (relatively speaking; I wouldn't call this "simple") way I could see to do this was to split my Map Series into two components, and join them in Acrobat into a single document.

 

The Problem

My Map Series changes can be accomplished by duplicating the Layout and setting a different Series in each.  I can even make use of "First Page" in my Set B to make sure my page numbers are properly contiguous as if they'd been the same.

But I also need to change layers.  This means I have only two options:

  1. Both Layouts use the same underlying map, and I manually turn layers on/off prior to each export.  This also means I have to repeat this manual operation every time I need to re-export, which increases the odds I'll forget one.
  2. Each Layout uses its own underlying map, so I can make the layer changes and they'll be baked into the design.

Obviously, Option 2 there is more robust & preferable.  But if I do that, then I run into a host of issues from things pointing to the old pre-fork map.  So far, I've run into the following things that all depend on a specifically-targeted Map and/or Map Frame:

  1. The Map Frame, itself
  2. The Legend
  3. The Scale Bar
  4. The North Arrow
  5. Map Series
  6. Dynamic Value fields that use "Insert Table Attribute" to target a specific layer on the map.
    • I ran into two issues on this one.  First, if the Map Frame in your duplicated Layout has the same name as the one in the original, then this dialog won't realize that anything has changed.  I had to first rename the Map Frame to be something different, and then update this.
    • Second, when you change the Map Frame target, it wipes out the targeted feature within that Map, as well as any expression you'd entered.  I had to reselect/rebuild them manually.

I'm still working through this, so I'm not going to be at all surprised if the above list is missing multiple other similar cases.  Thankfully, #2-5 all seem to redirect automatically when you do #1.  The dynamic values in #6 were a big headache, though, because I had several such fields, and I had to each one individually.

 

Proposed Solution

Add the option to "Fork" a Layout that automatically also forks any embedded Maps, and redirects all functions accordingly, even if it's just via a GP Tool.  There have been countless times that I've started from one combined project, only for things to diverge enough that I needed to spin part of it off into a new map.  Duplicating the map and then making changes is usually the way to go, but when Layouts are also involved, things start to get complicated & tedious fast.

In theory, I could possibly write such a tool, but it would take me a lot more time and R&D than I can afford right now, especially since I don't know the CIM model all that well, yet, and that seems to be part of the "Insert Table Attribute" dynamic values.

8 Comments
IlkaIllers1

Sometimes, I want to create a duplicate of a map but continue using the original one as well. For example, the data displayed might grow too much to be displayed together and split up in two groups. If I copy the map and the layout separately, I need to set the correct map frame. This means I have to re-do extent, the legend, and other items.

At the moment, my workaround for dealing with this is to save the project under a different name, renaming the map and layout, and copying them back into the original one, which is a bit of a long way around.

I would love the option to right-click on a layout and choose: "copy this layout and all associated maps", which creates a duplicate of the layout that is "linked" to the new duplicates of the maps. This happens already between one project and another (as I use for my workaround), but it would be great to have it work within one project as well.

David_Brooks

@IlkaIllers1 I think i have a better workaround. But I still agree that this option should be built into the Project UI.

Export a layout template, then reimport that template back into the Pro Project. It then adds new linked maps with _1 at the end of the map names..

MichelleWilliamsERM

@David_Brooks what a great idea.

Thank you! I've taken a screenshot of this post, and I'll try this the next time I need it.

IlkaIllers1

@David_Brooks that was an excellent idea, thank you! Still would like the capability to do this "directly". 

MarieGalarneau

It would be great if there was an option to copy an entire map and layout at once, rename both map and layout, keep them linked as a direct copy of the original in the same .aprx file, and keep the same map extent. Basically what a "save as" was when working in an .mxd that you wanted to copy. Currently you need to duplicate each map and layout separately, re-link them, and reset the map extent. There are times where I forget to link the layout to the copied map, then I inadvertently end up editing another map that was already completed for a different layout. Very frustrating. It would be a huge time saver to add this feature.

Thank you!

JakeJacobsAVA

I agree with this. I often have several layouts with the same map layers but due to different requirements want to have certain layers toggled on/off in the different layouts, or labeling changes due to different extents, or that sort of thing. It would be great to be able to duplicate a layout  + map that would go together. These are situations where a map series doesn't make sense to set up.

macbeer

One workaround approach is to save the layout and re-import it.

The extent, layers and data sources are all intact but the layers and layout elements are encapsulated within the imported layout so changes do not affect each others layout setting.

I also have a tool that I use to rename a layout and any map associated with the layout so it's easier to keep track of what maps are associated with what layout.

 

MikeSmith8

The ability to control symbology, labeling, etc. independently between layouts that are duplicated would be incredible.

 

What about an option we can "right click" on the layouts that simply says "disassociate, or make independent" ??? Or, how about the ability to do this on a layer level in each map - THAT would be ideal!