<?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: arcpy.mapping.MoveLayer not working in Python Questions</title>
    <link>https://community.esri.com/t5/python-questions/arcpy-mapping-movelayer-not-working/m-p/675271#M52267</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I've just run into a similar problem with MoveLayer (10.1 SP1) - getting the error message&amp;nbsp; 'Did not find reference layer.' It may only occur after something new is added to the TOC. I'm not sure what gismarty meant by his solution of "re-defining the layer list"?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;From the interactive window, I tested that the parameters point to layer objects, but MoveLayer still can't seem to find the reference layer.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;gt;&amp;gt;&amp;gt; lastlyr&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;map layer u'masterLayer'&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;gt;&amp;gt;&amp;gt; lyr&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;map layer u'WSCOND_S'&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;gt;&amp;gt;&amp;gt; df&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;DataFrame object at 0x28565dd0[0x2857cea8]&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;gt;&amp;gt;&amp;gt; arcpy.mapping.MoveLayer(df, lastlyr, lyr, "AFTER")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Runtime error &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Traceback (most recent call last):&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; File "&amp;lt;string&amp;gt;", line 1, in &amp;lt;module&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; File "c:\arcgis\desktop10.1\arcpy\arcpy\utils.py", line 181, in fn_&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return fn(*args, **kw)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; File "c:\arcgis\desktop10.1\arcpy\arcpy\mapping.py", line 1659, in MoveLayer&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; assert refe_c is not None, 'Did not find reference layer.'&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;AssertionError: Did not find reference layer.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks for any ideas - Sean&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 05 Jun 2014 22:25:27 GMT</pubDate>
    <dc:creator>SeanGordon</dc:creator>
    <dc:date>2014-06-05T22:25:27Z</dc:date>
    <item>
      <title>arcpy.mapping.MoveLayer not working</title>
      <link>https://community.esri.com/t5/python-questions/arcpy-mapping-movelayer-not-working/m-p/675267#M52263</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi friends,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I am lucky to have found a solution to my previous problem, only through your kind help.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;However, I have come across another one that leaves me just as dumbfounded.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Basically, I can't get arcpy.mapping.MoveLayer (&lt;/SPAN&gt;&lt;A href="http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#//00s300000029000000" rel="nofollow noopener noreferrer" target="_blank"&gt;http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#//00s300000029000000&lt;/A&gt;&lt;SPAN&gt;) to work at all.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;It seems like very simply syntax, yet it just refuses to move my layers.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;At first, my own simple adaptation did not work,&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;arcpy.mapping.MoveLayer(df, "Contours 10m - MARANOA REGIONAL", "SPOT 2009 Image Date", "BEFORE")&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;so I tried based on their example&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&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.name == "Contours 10m - MARANOA REGIONAL":
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; moveLayer = lyr
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.AddMessage(moveLayer)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if lyr.name == "SPOT 2009 Image Date":
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; refLayer = lyr
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.AddMessage(refLayer)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.mapping.MoveLayer(df, refLayer, moveLayer, "BEFORE")&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;and still the outcome is the same. The layer that is supposed to be moved just stays where it was introduced.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Has anyone come across this before or have any good tips for me?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks!&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 12 Dec 2021 04:28:43 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/arcpy-mapping-movelayer-not-working/m-p/675267#M52263</guid>
      <dc:creator>GIS1</dc:creator>
      <dc:date>2021-12-12T04:28:43Z</dc:date>
    </item>
    <item>
      <title>Re: arcpy.mapping.MoveLayer not working</title>
      <link>https://community.esri.com/t5/python-questions/arcpy-mapping-movelayer-not-working/m-p/675268#M52264</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Try adding arcpy.RefreshTOC() and arcpy.RefreshActiveView to your script.&amp;nbsp; Ex:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;
mxd = arcpy.mapping.MapDocument("CURRENT")
df = arcpy.mapping.ListDataFrames(mxd)[0]

arcpy.mapping.MoveLayer(df, "Contours 10m - MARANOA REGIONAL", "SPOT 2009 Image Date", "BEFORE")

arcpy.RefreshTOC()
arcpy.RefreshActiveView()

mxd.save()

del mxd&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Also, are you executing the python script within ArcMap?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 12 Dec 2021 04:28:46 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/arcpy-mapping-movelayer-not-working/m-p/675268#M52264</guid>
      <dc:creator>JakeSkinner</dc:creator>
      <dc:date>2021-12-12T04:28:46Z</dc:date>
    </item>
    <item>
      <title>Re: arcpy.mapping.MoveLayer not working</title>
      <link>https://community.esri.com/t5/python-questions/arcpy-mapping-movelayer-not-working/m-p/675269#M52265</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi Jake,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Well I have those in my script towards the end already, but your suggestion was helpful in that it works better if I move that section of code after the refresh.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Unfortunately, I can't get it to move layers that I create in the script, it will only move layers already existing in the template. If I attempt to move a layer I created within the script beforehand, I get&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Traceback (most recent call last):&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; File "U:\Tools\Toolbox\InProgress\GeoPDF_Maker\GeoPDFMaker.py", line 410, in &amp;lt;module&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.mapping.MoveLayer(df, refLayer, moveLayer, "BEFORE")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;NameError: name 'moveLayer' is not defined&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;No matter how I define 'moveLayer', either as direct quotes of the layer name or using the variable name&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;lyr.name == "Contours 10m - MARANOA REGIONAL"&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;or&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;lyr.name == outContours&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I still get the same result....&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks for the suggestion, I will keep fiddling with this.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 16 Jul 2012 21:25:10 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/arcpy-mapping-movelayer-not-working/m-p/675269#M52265</guid>
      <dc:creator>GIS1</dc:creator>
      <dc:date>2012-07-16T21:25:10Z</dc:date>
    </item>
    <item>
      <title>Re: arcpy.mapping.MoveLayer not working</title>
      <link>https://community.esri.com/t5/python-questions/arcpy-mapping-movelayer-not-working/m-p/675270#M52266</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi Jake,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I come to you with news of great success.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;You were definitley on to something...&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;My problem was that I was not re-defining my layer list after I made the layers I needed, and thus that's why it couldn't find the layer to move.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;So I just re-defined the layer list again and it works!!!&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks friend!&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 16 Jul 2012 21:37:17 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/arcpy-mapping-movelayer-not-working/m-p/675270#M52266</guid>
      <dc:creator>GIS1</dc:creator>
      <dc:date>2012-07-16T21:37:17Z</dc:date>
    </item>
    <item>
      <title>Re: arcpy.mapping.MoveLayer not working</title>
      <link>https://community.esri.com/t5/python-questions/arcpy-mapping-movelayer-not-working/m-p/675271#M52267</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I've just run into a similar problem with MoveLayer (10.1 SP1) - getting the error message&amp;nbsp; 'Did not find reference layer.' It may only occur after something new is added to the TOC. I'm not sure what gismarty meant by his solution of "re-defining the layer list"?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;From the interactive window, I tested that the parameters point to layer objects, but MoveLayer still can't seem to find the reference layer.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;gt;&amp;gt;&amp;gt; lastlyr&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;map layer u'masterLayer'&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;gt;&amp;gt;&amp;gt; lyr&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;map layer u'WSCOND_S'&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;gt;&amp;gt;&amp;gt; df&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;DataFrame object at 0x28565dd0[0x2857cea8]&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;gt;&amp;gt;&amp;gt; arcpy.mapping.MoveLayer(df, lastlyr, lyr, "AFTER")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Runtime error &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Traceback (most recent call last):&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; File "&amp;lt;string&amp;gt;", line 1, in &amp;lt;module&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; File "c:\arcgis\desktop10.1\arcpy\arcpy\utils.py", line 181, in fn_&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return fn(*args, **kw)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; File "c:\arcgis\desktop10.1\arcpy\arcpy\mapping.py", line 1659, in MoveLayer&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; assert refe_c is not None, 'Did not find reference layer.'&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;AssertionError: Did not find reference layer.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks for any ideas - Sean&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 05 Jun 2014 22:25:27 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/arcpy-mapping-movelayer-not-working/m-p/675271#M52267</guid>
      <dc:creator>SeanGordon</dc:creator>
      <dc:date>2014-06-05T22:25:27Z</dc:date>
    </item>
    <item>
      <title>Re: arcpy.mapping.MoveLayer not working</title>
      <link>https://community.esri.com/t5/python-questions/arcpy-mapping-movelayer-not-working/m-p/675272#M52268</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Though I realise by this time you're probably well past this problem, in case it's helpful to anyone else I'm guessing re-defining the layer list is running arcpy.mapping.ListLayers() again - that's certainly what worked for me.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I was having this trouble myself - I was adding a new layer in my script and then wanted to reposition it, but it wasn't working. My new layer replaced an old layer of the same name. To save processing, I had defined the layer list once and was re-using it to pull out the layer object that I needed to move. So my script was returning a layer object to me, but it was the old version of the layer, which of course didn't exist any more, thus the error message. Using arcpy.mapping.ListLayers() again to pick up the new layer solved the problem.&amp;nbsp; &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 30 Apr 2015 11:10:35 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/arcpy-mapping-movelayer-not-working/m-p/675272#M52268</guid>
      <dc:creator>TanyaKnowles2</dc:creator>
      <dc:date>2015-04-30T11:10:35Z</dc:date>
    </item>
  </channel>
</rss>

