<?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>idea Create a new map in ArcGIS Pro with arcpy in ArcGIS Pro Ideas</title>
    <link>https://community.esri.com/t5/arcgis-pro-ideas/create-a-new-map-in-arcgis-pro-with-arcpy/idi-p/926529</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;In Pro 2.0 it does not appear it is possible to create a new map within the project. Please consider adding a method to the ArcGISProject object with the ability to create a new map with a name from arcpy.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Alternatively a copy map method on the existing Map object would be a workable alternative&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You can copy/paste maps manually in a project so this functionality seems like a necessary addition for additional project automation.&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 11 Aug 2017 19:57:52 GMT</pubDate>
    <dc:creator>RonnieRichards</dc:creator>
    <dc:date>2017-08-11T19:57:52Z</dc:date>
    <item>
      <title>Create a new map in ArcGIS Pro with arcpy</title>
      <link>https://community.esri.com/t5/arcgis-pro-ideas/create-a-new-map-in-arcgis-pro-with-arcpy/idi-p/926529</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;In Pro 2.0 it does not appear it is possible to create a new map within the project. Please consider adding a method to the ArcGISProject object with the ability to create a new map with a name from arcpy.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Alternatively a copy map method on the existing Map object would be a workable alternative&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You can copy/paste maps manually in a project so this functionality seems like a necessary addition for additional project automation.&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 11 Aug 2017 19:57:52 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-pro-ideas/create-a-new-map-in-arcgis-pro-with-arcpy/idi-p/926529</guid>
      <dc:creator>RonnieRichards</dc:creator>
      <dc:date>2017-08-11T19:57:52Z</dc:date>
    </item>
    <item>
      <title>Re: Create a new map in ArcGIS Pro with arcpy</title>
      <link>https://community.esri.com/t5/arcgis-pro-ideas/create-a-new-map-in-arcgis-pro-with-arcpy/idc-p/926530#M1554</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;This would be a welcome feature. In my case, I'd like to be able to pass a list of map names to a&amp;nbsp;method that would generate new maps with the names from that list. For example using a hypothetical newMap()&amp;nbsp;method.&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;CODE&gt;aprx &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; arcpy&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;mp&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;ArcGISProject&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;"CURRENT"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
map_list &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;'map1'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;'map2'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;'map3'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt; 
&lt;SPAN class="keyword token"&gt;for&lt;/SPAN&gt; m &lt;SPAN class="keyword token"&gt;in&lt;/SPAN&gt; map_list&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; aprx&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;newMap&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;m&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&lt;SPAN class="keyword token"&gt;for&lt;/SPAN&gt; m &lt;SPAN class="keyword token"&gt;in&lt;/SPAN&gt; aprx&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;listMaps&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;print&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;"Map: "&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;+&lt;/SPAN&gt; m&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;name&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;

&lt;SPAN class="comment token"&gt;# Result&lt;/SPAN&gt;
&lt;SPAN class="comment token"&gt;# Map: map1&lt;/SPAN&gt;
&lt;SPAN class="comment token"&gt;# Map: map2&lt;/SPAN&gt;
&lt;SPAN class="comment token"&gt;# Map: map3‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍&lt;/SPAN&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;In this example, 3 new maps (map1, map2, and map3) would be added to the current project.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 12 Dec 2021 11:51:46 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-pro-ideas/create-a-new-map-in-arcgis-pro-with-arcpy/idc-p/926530#M1554</guid>
      <dc:creator>Anonymous User</dc:creator>
      <dc:date>2021-12-12T11:51:46Z</dc:date>
    </item>
    <item>
      <title>Re: Create a new map in ArcGIS Pro with arcpy</title>
      <link>https://community.esri.com/t5/arcgis-pro-ideas/create-a-new-map-in-arcgis-pro-with-arcpy/idc-p/926531#M1555</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;This is the kind of process that would be nice to be able to automate:&lt;/P&gt;&lt;P&gt;&lt;IMG alt="Manual creation of several new maps in ArcGIS Pro" class="image-1 jive-image j-img-original" src="https://community.esri.com/legacyfs/online/394574_arcgispro-newmap.gif" style="height: auto;" /&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 23 Jan 2018 15:50:40 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-pro-ideas/create-a-new-map-in-arcgis-pro-with-arcpy/idc-p/926531#M1555</guid>
      <dc:creator>Anonymous User</dc:creator>
      <dc:date>2018-01-23T15:50:40Z</dc:date>
    </item>
    <item>
      <title>Re: Create a new map in ArcGIS Pro with arcpy</title>
      <link>https://community.esri.com/t5/arcgis-pro-ideas/create-a-new-map-in-arcgis-pro-with-arcpy/idc-p/926532#M1556</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;It would be very useful to have the command. I wonder if there is a way to do it without waiting for the future versions.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 31 Jan 2019 15:11:27 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-pro-ideas/create-a-new-map-in-arcgis-pro-with-arcpy/idc-p/926532#M1556</guid>
      <dc:creator>EglantinaDani</dc:creator>
      <dc:date>2019-01-31T15:11:27Z</dc:date>
    </item>
    <item>
      <title>Re: Create a new map in ArcGIS Pro with arcpy</title>
      <link>https://community.esri.com/t5/arcgis-pro-ideas/create-a-new-map-in-arcgis-pro-with-arcpy/idc-p/926533#M1557</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I'm making a check to create a new map if the user is running an aprx without a map in it.&amp;nbsp; Creating a new map when the script detects this would be very helpful.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 19 Nov 2019 21:04:07 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-pro-ideas/create-a-new-map-in-arcgis-pro-with-arcpy/idc-p/926533#M1557</guid>
      <dc:creator>EricTran</dc:creator>
      <dc:date>2019-11-19T21:04:07Z</dc:date>
    </item>
    <item>
      <title>Re: Create a new map in ArcGIS Pro with arcpy</title>
      <link>https://community.esri.com/t5/arcgis-pro-ideas/create-a-new-map-in-arcgis-pro-with-arcpy/idc-p/926534#M1558</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;it's&amp;nbsp;not much to look it but:&lt;/P&gt;&lt;P&gt;&lt;IMG __jive_id="480442" class="image-1 jive-image" height="258" src="https://community.esri.com/legacyfs/online/480442_pastedImage_1.png" width="465" /&gt;&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;CODE&gt;&lt;SPAN class="comment token"&gt;#!/usr/bin/env python3&lt;/SPAN&gt;
&lt;SPAN class="string token"&gt;""&lt;/SPAN&gt;"
&amp;nbsp;&amp;nbsp;&amp;nbsp; make aprx file&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;'add'&lt;/SPAN&gt; some maps to it&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;

&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="comment token"&gt;#comtypes:&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="comment token"&gt;#one of the following installed libraries are required:&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="comment token"&gt;#C:\Program Files (x86)\ArcGIS\Desktop10.7\com&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="comment token"&gt;#or&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="comment token"&gt;#C:\Program Files\ArcGIS\Server\com&lt;/SPAN&gt;
&lt;SPAN class="string token"&gt;""&lt;/SPAN&gt;"

&lt;SPAN class="keyword token"&gt;import&lt;/SPAN&gt; arcpy
&lt;SPAN class="keyword token"&gt;import&lt;/SPAN&gt; tempfile
&lt;SPAN class="keyword token"&gt;import&lt;/SPAN&gt; os
&lt;SPAN class="keyword token"&gt;import&lt;/SPAN&gt; shutil
&lt;SPAN class="keyword token"&gt;from&lt;/SPAN&gt; shutil &lt;SPAN class="keyword token"&gt;import&lt;/SPAN&gt; make_archive


out_dir &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; os&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;environ&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;"USERPROFILE"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;+&lt;/SPAN&gt; os&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;sep &lt;SPAN class="operator token"&gt;+&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"Desktop"&lt;/SPAN&gt;

aprx_name_maps_in_pro &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"aprx_with_maps"&lt;/SPAN&gt;

&lt;SPAN class="comment token"&gt;## new empty map names:&lt;/SPAN&gt;
map_list &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;"map1"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"map2"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"map3"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;

&lt;SPAN class="comment token"&gt;#from an empty project (may be able to minimize these items even futher &lt;/SPAN&gt;
&lt;SPAN class="comment token"&gt;# but this does what i need.&lt;/SPAN&gt;
cimdoc &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;&lt;SPAN&gt;"""&amp;lt;CIMDocumentInfo xsi:type='typens:CIMDocumentInfo' xmlns:xsi='&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.esri.com/external-link.jspa?url=http%3A%2F%2Fwww.w3.org%2F2001%2FXMLSchema-instance" target="_blank"&gt;http://www.w3.org/2001/XMLSchema-instance&lt;/A&gt;&lt;SPAN&gt;' &lt;/SPAN&gt;
&lt;SPAN&gt;xmlns:xs='&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.esri.com/external-link.jspa?url=http%3A%2F%2Fwww.w3.org%2F2001%2FXMLSchema" target="_blank"&gt;http://www.w3.org/2001/XMLSchema&lt;/A&gt;&lt;SPAN&gt;' xmlns:typens='&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.esri.com/external-link.jspa?url=http%3A%2F%2Fwww.esri.com%2Fschemas%2FArcGIS%2F2.4.0" target="_blank"&gt;http://www.esri.com/schemas/ArcGIS/2.4.0&lt;/A&gt;&lt;SPAN&gt;'&amp;gt;&lt;/SPAN&gt;
&amp;lt;Version&amp;gt;2.4.0&amp;lt;/Version&amp;gt;&amp;lt;Build&amp;gt;19948&amp;lt;/Build&amp;gt;&amp;lt;DocumentTitle&amp;gt;New&amp;lt;/DocumentTitle&amp;gt;&amp;lt;SavePreview&amp;gt;false&amp;lt;/SavePreview&amp;gt;
&amp;lt;UseRelativePath&amp;gt;true&amp;lt;/UseRelativePath&amp;gt;&amp;lt;Antialiasing&amp;gt;esriBGLAntialiasingNone&amp;lt;/Antialiasing&amp;gt;
&amp;lt;TextAntialiasing&amp;gt;esriBGLTextAAliasForce&amp;lt;/TextAntialiasing&amp;gt;&amp;lt;/CIMDocumentInfo&amp;gt;"""&lt;/SPAN&gt;

&lt;SPAN class="comment token"&gt;#from an empty project&lt;/SPAN&gt;
gisproj &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;&lt;SPAN&gt;"""&amp;lt;CIMGISProject xsi:type="typens:CIMGISProject" xmlns:xsi="&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.esri.com/external-link.jspa?url=http%3A%2F%2Fwww.w3.org%2F2001%2FXMLSchema-instance" target="_blank"&gt;http://www.w3.org/2001/XMLSchema-instance&lt;/A&gt;&lt;SPAN&gt;" &lt;/SPAN&gt;
&lt;SPAN&gt;xmlns:xs="&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.esri.com/external-link.jspa?url=http%3A%2F%2Fwww.w3.org%2F2001%2FXMLSchema" target="_blank"&gt;http://www.w3.org/2001/XMLSchema&lt;/A&gt;&lt;SPAN&gt;" xmlns:typens="&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.esri.com/external-link.jspa?url=http%3A%2F%2Fwww.esri.com%2Fschemas%2FArcGIS%2F2.4.0" target="_blank"&gt;http://www.esri.com/schemas/ArcGIS/2.4.0&lt;/A&gt;&lt;SPAN&gt;"&amp;gt;&amp;lt;/CIMGISProject&amp;gt;"""&lt;/SPAN&gt;&lt;/SPAN&gt;

&lt;SPAN class="comment token"&gt;#from an empty project rb in python 3.&lt;/SPAN&gt;
EMPTY_PROJECT_BYTES &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; b&lt;SPAN class="string token"&gt;'\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'&lt;/SPAN&gt;


&lt;SPAN class="keyword token"&gt;def&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;installComTypes&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="string token"&gt;"""
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; install comtypes in virtaul env at runtime, why not.
&amp;nbsp;&amp;nbsp;&amp;nbsp; """&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; install_com_types_string &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"""import subprocess
import sys

def install(package):
&amp;nbsp;&amp;nbsp;&amp;nbsp; subprocess.call([sys.executable, "-m", "pip", "install", package])

&amp;nbsp;&amp;nbsp;&amp;nbsp; install('comtypes')

&amp;nbsp;&amp;nbsp;&amp;nbsp; """&lt;/SPAN&gt;

&amp;nbsp;&amp;nbsp;&amp;nbsp; insall_scrpit_name &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"install_comtypes"&lt;/SPAN&gt;


&amp;nbsp;&amp;nbsp;&amp;nbsp; install_file &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; insall_scrpit_name &lt;SPAN class="operator token"&gt;+&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;".py"&lt;/SPAN&gt;

&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;if&lt;/SPAN&gt; os&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;path&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;exists&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;install_file&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; os&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;remove&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;install_file&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;

&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;with&lt;/SPAN&gt; open&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;install_file&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"w"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;as&lt;/SPAN&gt; w_install&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; w_install&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;write&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;install_com_types_string&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;


&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;import&lt;/SPAN&gt; install_comtypes

&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&lt;SPAN class="comment token"&gt;#or not&lt;/SPAN&gt;
&lt;SPAN class="comment token"&gt;#hack number 1&lt;/SPAN&gt;
installComTypes&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&lt;SPAN class="keyword token"&gt;import&lt;/SPAN&gt; comtypes

&lt;SPAN class="keyword token"&gt;def&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;CreateMXD&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;path&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; GetModule&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;'esriCarto.olb'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;import&lt;/SPAN&gt; comtypes&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;gen&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;esriCarto &lt;SPAN class="keyword token"&gt;as&lt;/SPAN&gt; esriCarto
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="comment token"&gt;#print("dir esriCarto:")&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="comment token"&gt;#print(dir(esriCarto))&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; pMapDocument &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; CreateObject&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;esriCarto&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;MapDocument&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; esriCarto&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;IMapDocument&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; pMapDocument&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;New&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;path&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="comment token"&gt;#print("dir pMapDocument:")&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="comment token"&gt;#print(dir(pMapDocument))&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="comment token"&gt;#print("dir pMapDocument.map:")&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="comment token"&gt;#print(dir(pMapDocument.Map))&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; pMapDocument&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;Save&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;#probably not required...&lt;/SPAN&gt;


&lt;SPAN class="keyword token"&gt;def&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;GetLibPath&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="string token"&gt;""" Get the ArcObjects library path

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; It would be nice to just load the module directly instead of needing the path,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; they are registered after all... But I just don't know enough about COM to do this

&amp;nbsp;&amp;nbsp;&amp;nbsp; """&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; thisCompath&lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt;os&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;path&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;join&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;arcpy&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;GetInstallInfo&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;'InstallDir'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;'com'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; desktopCompath &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; r&lt;SPAN class="string token"&gt;"C:\Program Files (x86)\ArcGIS\Desktop10.7\com"&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; serverCompath &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; r&lt;SPAN class="string token"&gt;"C:\Program Files\ArcGIS\Server\com"&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;if&lt;/SPAN&gt; os&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;path&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;exists&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;thisCompath&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;return&lt;/SPAN&gt; thisCompath
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;elif&lt;/SPAN&gt; os&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;path&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;exists&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;desktopCompath&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;return&lt;/SPAN&gt; desktopCompath
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;elif&lt;/SPAN&gt; os&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;path&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;exists&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;serverCompath&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;return&lt;/SPAN&gt; serverCompath
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;else&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;raise&lt;/SPAN&gt; Exception&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;"&lt;SPAN class="comment token"&gt;#must use desktop or server com libriary (or copy the com folder to a known location")&lt;/SPAN&gt;

&lt;SPAN class="keyword token"&gt;def&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;GetModule&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;sModuleName&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="string token"&gt;""" Generate (if not already done) wrappers for COM modules
&amp;nbsp;&amp;nbsp;&amp;nbsp; """&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;from&lt;/SPAN&gt; comtypes&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;client &lt;SPAN class="keyword token"&gt;import&lt;/SPAN&gt; GetModule
&amp;nbsp;&amp;nbsp;&amp;nbsp; sLibPath &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; GetLibPath&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; GetModule&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;os&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;path&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;join&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;sLibPath&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;sModuleName&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&lt;SPAN class="keyword token"&gt;def&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;CreateObject&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;COMClass&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; COMInterface&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="string token"&gt;""" Creates a new comtypes POINTER object where
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; COMClass is the class to be instantiated,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; COMInterface is the interface to be assigned
&amp;nbsp;&amp;nbsp;&amp;nbsp; """&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; ptr &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; comtypes&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;client&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;CreateObject&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;COMClass&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; interface&lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt;COMInterface&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;return&lt;/SPAN&gt; ptr


&lt;SPAN class="keyword token"&gt;def&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;create_binary_file&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;_bytes&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; file_path&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="string token"&gt;"""
&amp;nbsp;&amp;nbsp;&amp;nbsp; Create an 'empty' project file
&amp;nbsp;&amp;nbsp;&amp;nbsp; """&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;with&lt;/SPAN&gt; open&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;file_path&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;'wb'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;as&lt;/SPAN&gt; fh&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fh&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;write&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;_bytes&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;

&lt;SPAN class="keyword token"&gt;def&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;create_xml_file&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;xml_string&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; file_path&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="string token"&gt;"""
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; create an xml file with string of input
&amp;nbsp;&amp;nbsp;&amp;nbsp; """&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;with&lt;/SPAN&gt; open&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;file_path&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"w"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;as&lt;/SPAN&gt; xml&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xml&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;write&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;xml_string&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;

&lt;SPAN class="comment token"&gt;#temporary workspace (emptied at end)&lt;/SPAN&gt;
tempDir &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; tempfile&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;mkdtemp&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;


&lt;SPAN class="comment token"&gt;#write xml to documentinfo.xml&lt;/SPAN&gt;
create_xml_file&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;cimdoc&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; os&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;path&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;join&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;tempDir&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"DocumentInfo.xml"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;



&lt;SPAN class="comment token"&gt;#write xml to gisproject.xml&lt;/SPAN&gt;
create_xml_file&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;gisproj&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; os&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;path&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;join&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;tempDir&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"GISProject.xml"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;



&lt;SPAN class="comment token"&gt;#hack number 2 write binary data to 007Index.ind&lt;/SPAN&gt;
create_binary_file&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;EMPTY_PROJECT_BYTES&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; os&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;path&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;join&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;tempDir&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"007Index.ind"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;

&lt;SPAN class="comment token"&gt;#template pro map name&lt;/SPAN&gt;
empty_pro_map &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"aprx_empty"&lt;/SPAN&gt;

&lt;SPAN class="comment token"&gt;#list of required files for creating aprx file&lt;/SPAN&gt;
files &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;"007Index.ind"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;"GISProject.xml"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"DocumentInfo.xml"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;

&lt;SPAN class="comment token"&gt;#zip the files one at a time&lt;/SPAN&gt;
&lt;SPAN class="keyword token"&gt;for&lt;/SPAN&gt; f &lt;SPAN class="keyword token"&gt;in&lt;/SPAN&gt; files&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; shutil&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;make_archive&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;os&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;path&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;join&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;out_dir&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; empty_pro_map&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"zip"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; tempDir&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;

&lt;SPAN class="comment token"&gt;#empty ArcGISProject&lt;/SPAN&gt;
new_aprx_path &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; os&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;path&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;join&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;out_dir&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; empty_pro_map&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;+&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;".aprx"&lt;/SPAN&gt;

&lt;SPAN class="comment token"&gt;#rename the .zip file to .aprx&lt;/SPAN&gt;
os&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;rename&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;os&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;path&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;join&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;out_dir&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; empty_pro_map &lt;SPAN class="operator token"&gt;+&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;".zip"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; new_aprx_path&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;

&lt;SPAN class="comment token"&gt;#&amp;nbsp; everything below here requires python 3 arcpy&lt;/SPAN&gt;
&lt;SPAN class="comment token"&gt;#&amp;nbsp; you could split this code here.&lt;/SPAN&gt;

&lt;SPAN class="comment token"&gt;#&amp;nbsp; load aprx&lt;/SPAN&gt;
aprx &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; arcpy&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;mp&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;ArcGISProject&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;new_aprx_path&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;




&lt;SPAN class="keyword token"&gt;for&lt;/SPAN&gt; m &lt;SPAN class="keyword token"&gt;in&lt;/SPAN&gt; map_list&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; map_path &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; os&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;path&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;join&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;tempDir&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; m &lt;SPAN class="operator token"&gt;+&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;".mxd"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;if&lt;/SPAN&gt; os&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;path&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;exists&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;map_path&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;os&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;unlink&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;map_path&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="comment token"&gt;#hack number 3&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; CreateMXD&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;map_path&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;

&amp;nbsp;&amp;nbsp;&amp;nbsp; existing_maps &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; aprx&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;listMaps&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; aprx&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;importDocument&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;map_path&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; existing_maps_now &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; aprx&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;listMaps&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;for&lt;/SPAN&gt; ma &lt;SPAN class="keyword token"&gt;in&lt;/SPAN&gt; existing_maps_now&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;if&lt;/SPAN&gt; ma &lt;SPAN class="operator token"&gt;not&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;in&lt;/SPAN&gt; existing_maps&lt;SPAN class="punctuation token"&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; ma&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;name &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; m

&lt;SPAN class="comment token"&gt;#output&lt;/SPAN&gt;
aprx&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;saveACopy&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;os&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;path&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;join&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;out_dir&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; aprx_name_maps_in_pro &lt;SPAN class="operator token"&gt;+&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;".aprx"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;

&lt;SPAN class="comment token"&gt;#clear temp files (comment the next line out if you want to review the temp files)&lt;/SPAN&gt;
shutil&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;rmtree&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;tempDir&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&lt;SPAN class="keyword token"&gt;print&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;tempDir&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;save as:&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P&gt;&amp;lt;%path%&amp;gt;\add_maps_to_new_aprx.py&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;run it like:&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P&gt;C:\Program Files\ArcGIS\Pro\bin\Python\Scripts&amp;gt;propy.bat &amp;lt;%path%&amp;gt;add_maps_to_new_aprx.py&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;the associated toolboxes and geodatabases are created on initial launch, but you could set those if you want.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 12 Dec 2021 11:51:49 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-pro-ideas/create-a-new-map-in-arcgis-pro-with-arcpy/idc-p/926534#M1558</guid>
      <dc:creator>MaxSquires</dc:creator>
      <dc:date>2021-12-12T11:51:49Z</dc:date>
    </item>
    <item>
      <title>Re: Create a new map in ArcGIS Pro with arcpy</title>
      <link>https://community.esri.com/t5/arcgis-pro-ideas/create-a-new-map-in-arcgis-pro-with-arcpy/idc-p/926535#M1559</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I think as Ryan demonstrates we would like access to the functionality of the catalog window, much of which is willy-nilly missing.&amp;nbsp; Max gets points for causing my eyes to bleed staring at the CIM guts, but if that's the answer then Pro is not the right question.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Paul&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 10 Aug 2020 15:00:55 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-pro-ideas/create-a-new-map-in-arcgis-pro-with-arcpy/idc-p/926535#M1559</guid>
      <dc:creator>PaulDziemiela2</dc:creator>
      <dc:date>2020-08-10T15:00:55Z</dc:date>
    </item>
    <item>
      <title>Re: Create a new map in ArcGIS Pro with arcpy</title>
      <link>https://community.esri.com/t5/arcgis-pro-ideas/create-a-new-map-in-arcgis-pro-with-arcpy/idc-p/1047556#M15713</link>
      <description>&lt;P&gt;haha. yeah, that is kind of overkill.&amp;nbsp; alternatively you can have an empty template mxd file that you use and an empty aprx file and just:&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;LI-CODE lang="python"&gt;templateMxd = "C:/admin/temp_mxd.mxd"
aprx = arcpy.mp.ArcGISProject("C:/admin/temp_aprx.aprx")
map_list = ["map1", "map2", "map3"]

for m in map_list:
    
    existing_maps = aprx.listMaps()
    
    aprx.importDocument(templateMxd)
    existing_maps_now = aprx.listMaps()
    # not going to assume these maps are being added at any one index position
    for ma in existing_maps_now:
        if ma not in existing_maps:
            # set the name of the imported map
            ma.name = m

# done adding new maps to aprx, save it
aprx.saveACopy("C:\admin\aprx_with_new_maps.aprx")&lt;/LI-CODE&gt;</description>
      <pubDate>Thu, 15 Apr 2021 14:23:22 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-pro-ideas/create-a-new-map-in-arcgis-pro-with-arcpy/idc-p/1047556#M15713</guid>
      <dc:creator>MaxSquires</dc:creator>
      <dc:date>2021-04-15T14:23:22Z</dc:date>
    </item>
    <item>
      <title>Re: Create a new map in ArcGIS Pro with arcpy</title>
      <link>https://community.esri.com/t5/arcgis-pro-ideas/create-a-new-map-in-arcgis-pro-with-arcpy/idc-p/1074608#M16394</link>
      <description>&lt;P&gt;Is this seriously not available still???&lt;/P&gt;</description>
      <pubDate>Thu, 01 Jul 2021 09:33:55 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-pro-ideas/create-a-new-map-in-arcgis-pro-with-arcpy/idc-p/1074608#M16394</guid>
      <dc:creator>LeandraGordon</dc:creator>
      <dc:date>2021-07-01T09:33:55Z</dc:date>
    </item>
    <item>
      <title>Re: Create a new map in ArcGIS Pro with arcpy</title>
      <link>https://community.esri.com/t5/arcgis-pro-ideas/create-a-new-map-in-arcgis-pro-with-arcpy/idc-p/1119029#M17838</link>
      <description>&lt;P&gt;Is there any functionality on how to create a whole new ArcGIS project within the&amp;nbsp;arcpy.mp library of functions. It would be really nice if you didn't have to set up a project manually. Is there a function out there where you can create a project from scratch? Similar to&amp;nbsp;arcpy.management.CreateFileGDB but for&amp;nbsp;ArcGIS projects.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sun, 21 Nov 2021 08:18:02 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-pro-ideas/create-a-new-map-in-arcgis-pro-with-arcpy/idc-p/1119029#M17838</guid>
      <dc:creator>PhilipShutler</dc:creator>
      <dc:date>2021-11-21T08:18:02Z</dc:date>
    </item>
    <item>
      <title>Re: Create a new map in ArcGIS Pro with arcpy</title>
      <link>https://community.esri.com/t5/arcgis-pro-ideas/create-a-new-map-in-arcgis-pro-with-arcpy/idc-p/1135164#M18364</link>
      <description>&lt;P&gt;This would be a really helpful feature.&lt;/P&gt;</description>
      <pubDate>Wed, 19 Jan 2022 21:18:45 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-pro-ideas/create-a-new-map-in-arcgis-pro-with-arcpy/idc-p/1135164#M18364</guid>
      <dc:creator>Anonymous User</dc:creator>
      <dc:date>2022-01-19T21:18:45Z</dc:date>
    </item>
    <item>
      <title>Re: Create a new map in ArcGIS Pro with arcpy</title>
      <link>https://community.esri.com/t5/arcgis-pro-ideas/create-a-new-map-in-arcgis-pro-with-arcpy/idc-p/1211579#M21184</link>
      <description>&lt;P&gt;To &lt;a href="https://community.esri.com/t5/user/viewprofilepage/user-id/16627"&gt;@MaxSquires&lt;/a&gt;, and add a specific base map &lt;span class="lia-unicode-emoji" title=":winking_face:"&gt;😉&lt;/span&gt;&lt;/P&gt;&lt;LI-CODE lang="python"&gt;templateMxd = r"C:\ExportWebMapTemplates\A4 Portrait.mxd"
aprx = arcpy.mp.ArcGISProject("CURRENT")
map_list = ["map1", "map2", "map3"]

for m in map_list:
    
    existing_maps = aprx.listMaps()
    
    aprx.importDocument(templateMxd)
    existing_maps_now = aprx.listMaps()
    # not going to assume these maps are being added at any one index position
    for ma in existing_maps_now:
        if ma not in existing_maps:
            # set the name of the imported map
            ma.name = m
            # add Streets Basemap
            ma.addBasemap("streets")

# done adding new maps to aprx, save it
aprx.save()&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 12 Sep 2022 14:09:21 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-pro-ideas/create-a-new-map-in-arcgis-pro-with-arcpy/idc-p/1211579#M21184</guid>
      <dc:creator>Bahram-Jomehzadeh</dc:creator>
      <dc:date>2022-09-12T14:09:21Z</dc:date>
    </item>
    <item>
      <title>Re: Create a new map in ArcGIS Pro with arcpy - Status changed to: In Product Plan</title>
      <link>https://community.esri.com/t5/arcgis-pro-ideas/create-a-new-map-in-arcgis-pro-with-arcpy/idc-p/1216158#M21401</link>
      <description>&lt;P&gt;This is planned for Pro 3.1.&amp;nbsp; We have a new ArcGISProject.createMap() function.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Jeff - Layout and arcpy.mp teams&lt;/P&gt;</description>
      <pubDate>Mon, 26 Sep 2022 16:47:49 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-pro-ideas/create-a-new-map-in-arcgis-pro-with-arcpy/idc-p/1216158#M21401</guid>
      <dc:creator>JeffBarrette</dc:creator>
      <dc:date>2022-09-26T16:47:49Z</dc:date>
    </item>
    <item>
      <title>Re: Create a new map in ArcGIS Pro with arcpy</title>
      <link>https://community.esri.com/t5/arcgis-pro-ideas/create-a-new-map-in-arcgis-pro-with-arcpy/idc-p/1218060#M21513</link>
      <description>&lt;P&gt;&lt;A href="https://community.esri.com/t5/user/viewprofilepage/user-id/148809" target="_self"&gt;&lt;SPAN class=""&gt;Bahram-Jomehzadeh&lt;/SPAN&gt;&lt;/A&gt;&amp;nbsp;WOW, how did you get that release?&amp;nbsp; We are currently developing 3.1, 3.0 should be the current release.&amp;nbsp; We won't change the status of this idea to "implemented" until 3.1 is released.&lt;/P&gt;&lt;P&gt;Jeff - layout and arcpy.mp teams.&lt;/P&gt;</description>
      <pubDate>Fri, 30 Sep 2022 23:53:28 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-pro-ideas/create-a-new-map-in-arcgis-pro-with-arcpy/idc-p/1218060#M21513</guid>
      <dc:creator>JeffBarrette</dc:creator>
      <dc:date>2022-09-30T23:53:28Z</dc:date>
    </item>
    <item>
      <title>Re: Create a new map in ArcGIS Pro with arcpy</title>
      <link>https://community.esri.com/t5/arcgis-pro-ideas/create-a-new-map-in-arcgis-pro-with-arcpy/idc-p/1218104#M21515</link>
      <description>&lt;P&gt;There was a .0 left!&lt;/P&gt;&lt;P&gt;Just fixed the error!&amp;nbsp;&lt;/P&gt;&lt;P&gt;Sorry.&lt;span class="lia-unicode-emoji" title=":grinning_face_with_sweat:"&gt;😅&lt;/span&gt;&lt;BR /&gt;&lt;a href="https://community.esri.com/t5/user/viewprofilepage/user-id/1134"&gt;@JeffBarrette&lt;/a&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sat, 01 Oct 2022 17:02:07 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-pro-ideas/create-a-new-map-in-arcgis-pro-with-arcpy/idc-p/1218104#M21515</guid>
      <dc:creator>Bahram-Jomehzadeh</dc:creator>
      <dc:date>2022-10-01T17:02:07Z</dc:date>
    </item>
    <item>
      <title>Re: Create a new map in ArcGIS Pro with arcpy - Status changed to: Implemented</title>
      <link>https://community.esri.com/t5/arcgis-pro-ideas/create-a-new-map-in-arcgis-pro-with-arcpy/idc-p/1266255#M23642</link>
      <description>&lt;P&gt;This Idea has been implemented in ArcGIS Pro 3.1. Please see the &lt;A href="https://pro.arcgis.com/en/pro-app/latest/get-started/whats-new-in-arcgis-pro.htm" target="_blank" rel="noopener"&gt;What's New documentation&lt;/A&gt; for more new features in Pro 3.1.&lt;/P&gt;&lt;P&gt;The Ideas in ArcGIS Pro 3.1 blog will be wrapped up soon. Once complete, I will add the link to this comment.&lt;/P&gt;</description>
      <pubDate>Fri, 10 Mar 2023 14:53:00 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-pro-ideas/create-a-new-map-in-arcgis-pro-with-arcpy/idc-p/1266255#M23642</guid>
      <dc:creator>AmeliaBradshaw</dc:creator>
      <dc:date>2023-03-10T14:53:00Z</dc:date>
    </item>
  </channel>
</rss>

