Select to view content in your preferred language

Selective map frame visibility in a map series

1543
7
Jump to solution
10-05-2023 11:09 AM
MichaelMorgan4
Regular Contributor

In Arc Pro (latest as of now, 3.1.3), within a map series, is there a method to display an inset map frame only if the map frame extent appears in another map frame?

For example:

In a map series showing various school districts with board positions within a county, there is one school district with 3 board positions that covers a large rural area (about 1:150,000 in a 9.5" x 12" map frame), centering around a small town (about 1/3 square mile) cut into thirds by these 3 board positions. I would like to show an inset for this small town, about 1:24,000 in a 3" x 4" frame, but only for the 3 pages in the series for these 3 board positions. The inset would be irrelevant for the remaining 12 pages for school districts in other parts of the county, so should not be visible for these pages.

I was hoping there might be some dynamic Arcade code useful in this situation, similar to dynamic table text available in a map series.

0 Kudos
1 Solution

Accepted Solutions
AubriKinghorn
Esri Regular Contributor

Hi!

There isn't an out of the box way to do this currently in ArcGIS Pro as of version 3.1 (you can always add an idea for it on the Ideas site if you'd like to see this in the future). However, it can be done via python script. This sample shows how to rearrange and add elements per page in a map series MapSeries_LayoutManager_Pro24 . It could be a great place to start. 

 

Cheers,
Aubri

View solution in original post

7 Replies
AubriKinghorn
Esri Regular Contributor

Hi!

There isn't an out of the box way to do this currently in ArcGIS Pro as of version 3.1 (you can always add an idea for it on the Ideas site if you'd like to see this in the future). However, it can be done via python script. This sample shows how to rearrange and add elements per page in a map series MapSeries_LayoutManager_Pro24 . It could be a great place to start. 

 

Cheers,
Aubri
MichaelMorgan4
Regular Contributor

I can see this working for complex map series situations, but I will go ahead and submit an idea also. This situation I am describing is something I would file as a "one-off", like a single exception to a current map series. Also, this python program solution seems to produce only one page at a time. That said, this is an impressive piece of code

PaulLohr
Frequent Contributor

@AubriKinghorn:

Is there a way to output an entire map book as a PDF using MapSeries_LayoutManager_Pro24 which abides by the viewport settings established by the script?

I tried exporting a PDF map series (all pages) using Share > Export Layer > Vector PDF but of course it has no logic to change the viewport settings. So the current map series page appears correct (page 9 of the PDF) but the rest are not.

Thanks for any help.

AubriKinghorn
Esri Regular Contributor

If you are using the script to modify each page then you'll need to export via the script. If you try and export from the application you'll get the last edits, not unique edits for each page. Is that what you are asking about?

Cheers,
Aubri
0 Kudos
PaulLohr
Frequent Contributor

@AubriKinghorn:

Hi, Aubri. Yes, I think that is what I'm asking about.

I will list the steps for exporting layouts to PDF when using the MapSeries_LayoutManager_Pro24 scripts so they are clear:

  1. Setup the Map Series.
  2. Make the first Map Series page current.
  3. On the layout, set the viewports, viewport extents and other layout items the way they should be.
  4. Use the script named "2_Set Element Info" to save those settings to the table named PageLayoutElements.
  5. Go through Steps 2-4 for each remaining Map Series pages.
  6. Use the "1_Zoom To Page" script to make the first Map Series page current. Note to self: we did not use the OE Map Series control because the script will handle its function as well as its added functionality.
  7. Use Share > Export Layer > Vector PDF to write a PDF of that first Map Series page.
  8. To export all pages to PDF files, repeat Steps 6-7 for each remaining Map Series page.

I am asking how Steps 6-8 can be automated. Perhaps there is an existing script which could be slightly modified? The Map Series I'm working with now is only 12 pages. It is not overly time consuming to export 12 PDF files. But it would take a long time if the Map Series is 50 or 100 pages.

Thanks for your time, Aubri.

christinebrooks
Occasional Contributor

Hi @AubriKinghorn I just want to say that I am also facing the same issues as @PaulLohr  and am also very interested in being able to automate steps 6-8 described. 

In general, it would be great if map frames could have map series/page query settings applied (can be turned off/on when the map series page requires it)

Thanks!

0 Kudos
AubriKinghorn
Esri Regular Contributor

So you can export the map series pages via python. There are code samples in the help documentation here that might be useful https://pro.arcgis.com/en/pro-app/latest/arcpy/mapping/mapseries-class.htm#C_GUID-5F34FFE0-FC62-481E...

Cheers,
Aubri
0 Kudos