Hi there, please bear with me as this is my first post and I'm relatively new to Python.
I'm currently constructing a tool which would create and export a map series. So far I've been able to create a strip map index, import a layout, and even export the series to PDF -- but only after I manually enable the mapseries from arcgis pro. How do I go about authoring the map series using python?
Thanks in advance if you're able to help with this. Code can be found below.
<SPAN class="comment token"># All of this code works</SPAN>
<SPAN class="keyword token">import</SPAN> arcpy
arcpy<SPAN class="punctuation token">.</SPAN>env<SPAN class="punctuation token">.</SPAN>workspace <SPAN class="operator token">=</SPAN> r<SPAN class="string token">"somepath"</SPAN>
prodoc <SPAN class="operator token">=</SPAN> arcpy<SPAN class="punctuation token">.</SPAN>mp<SPAN class="punctuation token">.</SPAN>ArcGISProject<SPAN class="punctuation token">(</SPAN><SPAN class="string token">"CURRENT"</SPAN><SPAN class="punctuation token">)</SPAN>
prodocmap <SPAN class="operator token">=</SPAN> prodoc<SPAN class="punctuation token">.</SPAN>listMaps<SPAN class="punctuation token">(</SPAN><SPAN class="string token">"Map"</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">[</SPAN><SPAN class="number token">0</SPAN><SPAN class="punctuation token">]</SPAN>
feature_selection <SPAN class="operator token">=</SPAN> arcpy<SPAN class="punctuation token">.</SPAN>CopyFeatures_management<SPAN class="punctuation token">(</SPAN><SPAN class="string token">"test_line"</SPAN><SPAN class="punctuation token">,</SPAN> r<SPAN class="string token">"memory\erased"</SPAN><SPAN class="punctuation token">)</SPAN>
scale <SPAN class="operator token">=</SPAN> <SPAN class="number token">24000</SPAN>
horiz_line_buffer <SPAN class="operator token">=</SPAN> <SPAN class="string token">"8.5 inches"</SPAN>
vert_line_buffer <SPAN class="operator token">=</SPAN> <SPAN class="string token">"5.5 inches"</SPAN>
strip_map <SPAN class="operator token">=</SPAN> arcpy<SPAN class="punctuation token">.</SPAN>StripMapIndexFeatures_cartography <SPAN class="punctuation token">(</SPAN>feature_selection<SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"grid1"</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"USEPAGEUNIT"</SPAN><SPAN class="punctuation token">,</SPAN> scale<SPAN class="punctuation token">,</SPAN> horiz_line_buffer<SPAN class="punctuation token">,</SPAN> vert_line_buffer<SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"HORIZONTAL"</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">0</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">""</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"WE_NS"</SPAN><SPAN class="punctuation token">)</SPAN>
arcpy<SPAN class="punctuation token">.</SPAN>Delete_management <SPAN class="punctuation token">(</SPAN><SPAN class="string token">"erased"</SPAN><SPAN class="punctuation token">)</SPAN>
prodoc<SPAN class="punctuation token">.</SPAN>importDocument<SPAN class="punctuation token">(</SPAN>r<SPAN class="string token">"layoutpath.pagx"</SPAN><SPAN class="punctuation token">)</SPAN>
<SPAN class="keyword token">import</SPAN> arcpy
<SPAN class="keyword token">import</SPAN> os
<SPAN class="keyword token">import</SPAN> sys
relpath <SPAN class="operator token">=</SPAN> os<SPAN class="punctuation token">.</SPAN>path<SPAN class="punctuation token">.</SPAN>dirname<SPAN class="punctuation token">(</SPAN>sys<SPAN class="punctuation token">.</SPAN>argv<SPAN class="punctuation token">[</SPAN><SPAN class="number token">0</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">)</SPAN>
p <SPAN class="operator token">=</SPAN> arcpy<SPAN class="punctuation token">.</SPAN>mp<SPAN class="punctuation token">.</SPAN>ArcGISProject<SPAN class="punctuation token">(</SPAN><SPAN class="string token">"CURRENT"</SPAN><SPAN class="punctuation token">)</SPAN>
l <SPAN class="operator token">=</SPAN> p<SPAN class="punctuation token">.</SPAN>listLayouts<SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">[</SPAN><SPAN class="number token">0</SPAN><SPAN class="punctuation token">]</SPAN>
mf <SPAN class="operator token">=</SPAN> l<SPAN class="punctuation token">.</SPAN>listElements<SPAN class="punctuation token">(</SPAN><SPAN class="string token">"MAPFRAME_ELEMENT"</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">[</SPAN><SPAN class="number token">0</SPAN><SPAN class="punctuation token">]</SPAN>
first_map <SPAN class="operator token">=</SPAN> p<SPAN class="punctuation token">.</SPAN>listMaps<SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">[</SPAN><SPAN class="number token">0</SPAN><SPAN class="punctuation token">]</SPAN>
<SPAN class="comment token"># Need to inject mapSeries enable or similar here, can't get it to work</SPAN>
<SPAN class="comment token"># export mapseries as PDF - This Works</SPAN>
<SPAN class="keyword token">if</SPAN> <SPAN class="operator token">not</SPAN> l<SPAN class="punctuation token">.</SPAN>mapSeries <SPAN class="keyword token">is</SPAN> None<SPAN class="punctuation token">:</SPAN>
ms <SPAN class="operator token">=</SPAN> l<SPAN class="punctuation token">.</SPAN>mapSeries
<SPAN class="keyword token">if</SPAN> ms<SPAN class="punctuation token">.</SPAN>enabled<SPAN class="punctuation token">:</SPAN>
ms<SPAN class="punctuation token">.</SPAN>exportToPDF<SPAN class="punctuation token">(</SPAN>r<SPAN class="string token">"C:\EsriPress\Ex3_SelectedFeatures.pdf"</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"ALL"</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">""</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"PDF_SINGLE_FILE"</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">150</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"BEST"</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="token boolean">True</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"ADAPTIVE"</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="token boolean">True</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"LAYERS_ONLY"</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="token boolean">True</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">80</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="token boolean">True</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="token boolean">False</SPAN><SPAN class="punctuation token">)</SPAN>
<SPAN class="line-numbers-rows"><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN></SPAN>