Adding data to subgroup layers with same name in ArcPy? The Next CEO of Stack OverflowAdding new group layer with ArcPy?Adding group layer, renaming it from folder name, then adding layers to it from that folder, using ArcPy/Python?arcpy absolute file path failing with AddLayer()Iterating through all geometries using ArcPy search cursor?Dynamically creating lyr file in ArcPy (for use with group layer)?How to use loop to add georeferenced JPEGs from folder to mxd?Adding symbology template to geodatabase using ArcpyHow to get the file path for layers within a group layer?Export multiple layers with the same name in the TOC to separate layers with unique namesCopy Layers with groups and layers with data from one MXD to anotherGetting name of group that layer is in using PyQGIS?

Incomplete cube

Strange use of "whether ... than ..." in official text

Why doesn't Shulchan Aruch include the laws of destroying fruit trees?

Mathematica command that allows it to read my intentions

Could you use a laser beam as a modulated carrier wave for radio signal?

Simplify trigonometric expression using trigonometric identities

A hang glider, sudden unexpected lift to 25,000 feet altitude, what could do this?

Is it okay to majorly distort historical facts while writing a fiction story?

My boss doesn't want me to have a side project

Why do we say “un seul M” and not “une seule M” even though M is a “consonne”?

What steps are necessary to read a Modern SSD in Medieval Europe?

Gauss' Posthumous Publications?

How dangerous is XSS

Is it OK to decorate a log book cover?

Traveling with my 5 year old daughter (as the father) without the mother from Germany to Mexico

Does Germany produce more waste than the US?

Compilation of a 2d array and a 1d array

Why was Sir Cadogan fired?

Read/write a pipe-delimited file line by line with some simple text manipulation

Is this a new Fibonacci Identity?

What is the difference between 'contrib' and 'non-free' packages repositories?

Find a path from s to t using as few red nodes as possible

How to pronounce fünf in 45

Another proof that dividing by 0 does not exist -- is it right?



Adding data to subgroup layers with same name in ArcPy?



The Next CEO of Stack OverflowAdding new group layer with ArcPy?Adding group layer, renaming it from folder name, then adding layers to it from that folder, using ArcPy/Python?arcpy absolute file path failing with AddLayer()Iterating through all geometries using ArcPy search cursor?Dynamically creating lyr file in ArcPy (for use with group layer)?How to use loop to add georeferenced JPEGs from folder to mxd?Adding symbology template to geodatabase using ArcpyHow to get the file path for layers within a group layer?Export multiple layers with the same name in the TOC to separate layers with unique namesCopy Layers with groups and layers with data from one MXD to anotherGetting name of group that layer is in using PyQGIS?










1















Assuming that I have an idealized .mxd TOC structure with group layers that contain group and subgroup layers which have the same name like in the following example:



Layers




  • GroupLayer1

    • SubGroupLayer1

      • Raster1.tif

      • Raster33.tif


    • SubGroupLayer2

      • Raster44.tif




  • GroupLayer2

    • SubGroupLayer1

      • Raster2.tif

      • Raster4.tif


    • SubGroupLayer2

      • Raster7.tif



Is it possible to add data using an 'absolute' layer path with ArcPy?



For example, if I want to add a raster layer SampleRaster.tif to the following place GroupLayer2/SubGroupLayer2 : how could I do this in ArcPy?



I know how to add a group layer and then add the specific layer (e.g. solution in this question Adding new group layer with ArcPy?) but have not found a solution how to add it if two layers have the same name.



My code that I have so far is pasted below



 # add rasters to .mxd project
import arcpy

arcpy.env.workspace = r'D:DataRasters'
rasters = arcpy.ListRasters("*", "TIF")

for raster in rasters:
# add raster to .mxd
mxd = arcpy.mapping.MapDocument(r"D:DataTest.mxd")
df = arcpy.mapping.ListDataFrames(mxd)[0]

# here I need to list the layers in the subgroup "SubGroupLayers2", but what to do when the subgroup layers names are equal? Is there a way to indicate an absolute path (e.g. Layers/GroupLayer2/SubGroupLayer2 here?)
targetGroupLayer = arcpy.mapping.ListLayers(mxd, "SubGroupLayer2", df)[0]

# I am then using another layer to apply the symbology to the raster and update the layer
newlayer = arcpy.mapping.Layer(raster)
newlayer.visible = False
arcpy.mapping.AddLayerToGroup(df, targetGroupLayer, newlayer, "BOTTOM")
updateLayer = arcpy.mapping.ListLayers(mxd, raster, df)[0]
sourceLayer = arcpy.mapping.Layer(r"D:DataColormap.lyr")
arcpy.mapping.UpdateLayer(df, updateLayer, sourceLayer, True)
mxd.save()









share|improve this question

















This question has an open bounty worth +50
reputation from redshoe ending ending at 2019-04-08 19:20:37Z">in 7 days.


Looking for an answer drawing from credible and/or official sources.




















    1















    Assuming that I have an idealized .mxd TOC structure with group layers that contain group and subgroup layers which have the same name like in the following example:



    Layers




    • GroupLayer1

      • SubGroupLayer1

        • Raster1.tif

        • Raster33.tif


      • SubGroupLayer2

        • Raster44.tif




    • GroupLayer2

      • SubGroupLayer1

        • Raster2.tif

        • Raster4.tif


      • SubGroupLayer2

        • Raster7.tif



    Is it possible to add data using an 'absolute' layer path with ArcPy?



    For example, if I want to add a raster layer SampleRaster.tif to the following place GroupLayer2/SubGroupLayer2 : how could I do this in ArcPy?



    I know how to add a group layer and then add the specific layer (e.g. solution in this question Adding new group layer with ArcPy?) but have not found a solution how to add it if two layers have the same name.



    My code that I have so far is pasted below



     # add rasters to .mxd project
    import arcpy

    arcpy.env.workspace = r'D:DataRasters'
    rasters = arcpy.ListRasters("*", "TIF")

    for raster in rasters:
    # add raster to .mxd
    mxd = arcpy.mapping.MapDocument(r"D:DataTest.mxd")
    df = arcpy.mapping.ListDataFrames(mxd)[0]

    # here I need to list the layers in the subgroup "SubGroupLayers2", but what to do when the subgroup layers names are equal? Is there a way to indicate an absolute path (e.g. Layers/GroupLayer2/SubGroupLayer2 here?)
    targetGroupLayer = arcpy.mapping.ListLayers(mxd, "SubGroupLayer2", df)[0]

    # I am then using another layer to apply the symbology to the raster and update the layer
    newlayer = arcpy.mapping.Layer(raster)
    newlayer.visible = False
    arcpy.mapping.AddLayerToGroup(df, targetGroupLayer, newlayer, "BOTTOM")
    updateLayer = arcpy.mapping.ListLayers(mxd, raster, df)[0]
    sourceLayer = arcpy.mapping.Layer(r"D:DataColormap.lyr")
    arcpy.mapping.UpdateLayer(df, updateLayer, sourceLayer, True)
    mxd.save()









    share|improve this question

















    This question has an open bounty worth +50
    reputation from redshoe ending ending at 2019-04-08 19:20:37Z">in 7 days.


    Looking for an answer drawing from credible and/or official sources.


















      1












      1








      1








      Assuming that I have an idealized .mxd TOC structure with group layers that contain group and subgroup layers which have the same name like in the following example:



      Layers




      • GroupLayer1

        • SubGroupLayer1

          • Raster1.tif

          • Raster33.tif


        • SubGroupLayer2

          • Raster44.tif




      • GroupLayer2

        • SubGroupLayer1

          • Raster2.tif

          • Raster4.tif


        • SubGroupLayer2

          • Raster7.tif



      Is it possible to add data using an 'absolute' layer path with ArcPy?



      For example, if I want to add a raster layer SampleRaster.tif to the following place GroupLayer2/SubGroupLayer2 : how could I do this in ArcPy?



      I know how to add a group layer and then add the specific layer (e.g. solution in this question Adding new group layer with ArcPy?) but have not found a solution how to add it if two layers have the same name.



      My code that I have so far is pasted below



       # add rasters to .mxd project
      import arcpy

      arcpy.env.workspace = r'D:DataRasters'
      rasters = arcpy.ListRasters("*", "TIF")

      for raster in rasters:
      # add raster to .mxd
      mxd = arcpy.mapping.MapDocument(r"D:DataTest.mxd")
      df = arcpy.mapping.ListDataFrames(mxd)[0]

      # here I need to list the layers in the subgroup "SubGroupLayers2", but what to do when the subgroup layers names are equal? Is there a way to indicate an absolute path (e.g. Layers/GroupLayer2/SubGroupLayer2 here?)
      targetGroupLayer = arcpy.mapping.ListLayers(mxd, "SubGroupLayer2", df)[0]

      # I am then using another layer to apply the symbology to the raster and update the layer
      newlayer = arcpy.mapping.Layer(raster)
      newlayer.visible = False
      arcpy.mapping.AddLayerToGroup(df, targetGroupLayer, newlayer, "BOTTOM")
      updateLayer = arcpy.mapping.ListLayers(mxd, raster, df)[0]
      sourceLayer = arcpy.mapping.Layer(r"D:DataColormap.lyr")
      arcpy.mapping.UpdateLayer(df, updateLayer, sourceLayer, True)
      mxd.save()









      share|improve this question
















      Assuming that I have an idealized .mxd TOC structure with group layers that contain group and subgroup layers which have the same name like in the following example:



      Layers




      • GroupLayer1

        • SubGroupLayer1

          • Raster1.tif

          • Raster33.tif


        • SubGroupLayer2

          • Raster44.tif




      • GroupLayer2

        • SubGroupLayer1

          • Raster2.tif

          • Raster4.tif


        • SubGroupLayer2

          • Raster7.tif



      Is it possible to add data using an 'absolute' layer path with ArcPy?



      For example, if I want to add a raster layer SampleRaster.tif to the following place GroupLayer2/SubGroupLayer2 : how could I do this in ArcPy?



      I know how to add a group layer and then add the specific layer (e.g. solution in this question Adding new group layer with ArcPy?) but have not found a solution how to add it if two layers have the same name.



      My code that I have so far is pasted below



       # add rasters to .mxd project
      import arcpy

      arcpy.env.workspace = r'D:DataRasters'
      rasters = arcpy.ListRasters("*", "TIF")

      for raster in rasters:
      # add raster to .mxd
      mxd = arcpy.mapping.MapDocument(r"D:DataTest.mxd")
      df = arcpy.mapping.ListDataFrames(mxd)[0]

      # here I need to list the layers in the subgroup "SubGroupLayers2", but what to do when the subgroup layers names are equal? Is there a way to indicate an absolute path (e.g. Layers/GroupLayer2/SubGroupLayer2 here?)
      targetGroupLayer = arcpy.mapping.ListLayers(mxd, "SubGroupLayer2", df)[0]

      # I am then using another layer to apply the symbology to the raster and update the layer
      newlayer = arcpy.mapping.Layer(raster)
      newlayer.visible = False
      arcpy.mapping.AddLayerToGroup(df, targetGroupLayer, newlayer, "BOTTOM")
      updateLayer = arcpy.mapping.ListLayers(mxd, raster, df)[0]
      sourceLayer = arcpy.mapping.Layer(r"D:DataColormap.lyr")
      arcpy.mapping.UpdateLayer(df, updateLayer, sourceLayer, True)
      mxd.save()






      arcpy group-layer






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited yesterday









      PolyGeo

      53.8k1781245




      53.8k1781245










      asked 2 days ago









      redshoeredshoe

      16429




      16429






      This question has an open bounty worth +50
      reputation from redshoe ending ending at 2019-04-08 19:20:37Z">in 7 days.


      Looking for an answer drawing from credible and/or official sources.








      This question has an open bounty worth +50
      reputation from redshoe ending ending at 2019-04-08 19:20:37Z">in 7 days.


      Looking for an answer drawing from credible and/or official sources.






















          1 Answer
          1






          active

          oldest

          votes


















          0














          You can get the group/subgroup path using the longName attribute:



          ...



          targetGroupLayer = arcpy.mapping.ListLayers(mxd, "SubGroupLayer2", df)[0]



          print targetGroupLayer.longName



          ...



          So you could loop through your targetGroupLayer list and create an if/then statement, based on the .longName, to find and insert layers to the specific group/subgroup.






          share|improve this answer

























            Your Answer








            StackExchange.ready(function()
            var channelOptions =
            tags: "".split(" "),
            id: "79"
            ;
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function()
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled)
            StackExchange.using("snippets", function()
            createEditor();
            );

            else
            createEditor();

            );

            function createEditor()
            StackExchange.prepareEditor(
            heartbeatType: 'answer',
            autoActivateHeartbeat: false,
            convertImagesToLinks: false,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: null,
            bindNavPrevention: true,
            postfix: "",
            imageUploader:
            brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
            contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
            allowUrls: true
            ,
            onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            );



            );













            draft saved

            draft discarded


















            StackExchange.ready(
            function ()
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fgis.stackexchange.com%2fquestions%2f317244%2fadding-data-to-subgroup-layers-with-same-name-in-arcpy%23new-answer', 'question_page');

            );

            Post as a guest















            Required, but never shown

























            1 Answer
            1






            active

            oldest

            votes








            1 Answer
            1






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes









            0














            You can get the group/subgroup path using the longName attribute:



            ...



            targetGroupLayer = arcpy.mapping.ListLayers(mxd, "SubGroupLayer2", df)[0]



            print targetGroupLayer.longName



            ...



            So you could loop through your targetGroupLayer list and create an if/then statement, based on the .longName, to find and insert layers to the specific group/subgroup.






            share|improve this answer





























              0














              You can get the group/subgroup path using the longName attribute:



              ...



              targetGroupLayer = arcpy.mapping.ListLayers(mxd, "SubGroupLayer2", df)[0]



              print targetGroupLayer.longName



              ...



              So you could loop through your targetGroupLayer list and create an if/then statement, based on the .longName, to find and insert layers to the specific group/subgroup.






              share|improve this answer



























                0












                0








                0







                You can get the group/subgroup path using the longName attribute:



                ...



                targetGroupLayer = arcpy.mapping.ListLayers(mxd, "SubGroupLayer2", df)[0]



                print targetGroupLayer.longName



                ...



                So you could loop through your targetGroupLayer list and create an if/then statement, based on the .longName, to find and insert layers to the specific group/subgroup.






                share|improve this answer















                You can get the group/subgroup path using the longName attribute:



                ...



                targetGroupLayer = arcpy.mapping.ListLayers(mxd, "SubGroupLayer2", df)[0]



                print targetGroupLayer.longName



                ...



                So you could loop through your targetGroupLayer list and create an if/then statement, based on the .longName, to find and insert layers to the specific group/subgroup.







                share|improve this answer














                share|improve this answer



                share|improve this answer








                edited 2 hours ago

























                answered 2 hours ago









                RGfromRWBJVRGfromRWBJV

                12




                12



























                    draft saved

                    draft discarded
















































                    Thanks for contributing an answer to Geographic Information Systems Stack Exchange!


                    • Please be sure to answer the question. Provide details and share your research!

                    But avoid


                    • Asking for help, clarification, or responding to other answers.

                    • Making statements based on opinion; back them up with references or personal experience.

                    To learn more, see our tips on writing great answers.




                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function ()
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fgis.stackexchange.com%2fquestions%2f317244%2fadding-data-to-subgroup-layers-with-same-name-in-arcpy%23new-answer', 'question_page');

                    );

                    Post as a guest















                    Required, but never shown





















































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown

































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown







                    Popular posts from this blog

                    រឿង រ៉ូមេអូ និង ហ្ស៊ុយលីយេ សង្ខេបរឿង តួអង្គ បញ្ជីណែនាំ

                    Crop image to path created in TikZ? Announcing the arrival of Valued Associate #679: Cesar Manara Planned maintenance scheduled April 17/18, 2019 at 00:00UTC (8:00pm US/Eastern)Crop an inserted image?TikZ pictures does not appear in posterImage behind and beyond crop marks?Tikz picture as large as possible on A4 PageTransparency vs image compression dilemmaHow to crop background from image automatically?Image does not cropTikzexternal capturing crop marks when externalizing pgfplots?How to include image path that contains a dollar signCrop image with left size given

                    Romeo and Juliet ContentsCharactersSynopsisSourcesDate and textThemes and motifsCriticism and interpretationLegacyScene by sceneSee alsoNotes and referencesSourcesExternal linksNavigation menu"Consumer Price Index (estimate) 1800–"10.2307/28710160037-3222287101610.1093/res/II.5.31910.2307/45967845967810.2307/2869925286992510.1525/jams.1982.35.3.03a00050"Dada Masilo: South African dancer who breaks the rules"10.1093/res/os-XV.57.1610.2307/28680942868094"Sweet Sorrow: Mann-Korman's Romeo and Juliet Closes Sept. 5 at MN's Ordway"the original10.2307/45957745957710.1017/CCOL0521570476.009"Ram Leela box office collections hit massive Rs 100 crore, pulverises prediction"Archived"Broadway Revival of Romeo and Juliet, Starring Orlando Bloom and Condola Rashad, Will Close Dec. 8"Archived10.1075/jhp.7.1.04hon"Wherefore art thou, Romeo? To make us laugh at Navy Pier"the original10.1093/gmo/9781561592630.article.O006772"Ram-leela Review Roundup: Critics Hail Film as Best Adaptation of Romeo and Juliet"Archived10.2307/31946310047-77293194631"Romeo and Juliet get Twitter treatment""Juliet's Nurse by Lois Leveen""Romeo and Juliet: Orlando Bloom's Broadway Debut Released in Theaters for Valentine's Day"Archived"Romeo and Juliet Has No Balcony"10.1093/gmo/9781561592630.article.O00778110.2307/2867423286742310.1076/enst.82.2.115.959510.1080/00138380601042675"A plague o' both your houses: error in GCSE exam paper forces apology""Juliet of the Five O'Clock Shadow, and Other Wonders"10.2307/33912430027-4321339124310.2307/28487440038-7134284874410.2307/29123140149-661129123144728341M"Weekender Guide: Shakespeare on The Drive""balcony"UK public library membership"romeo"UK public library membership10.1017/CCOL9780521844291"Post-Zionist Critique on Israel and the Palestinians Part III: Popular Culture"10.2307/25379071533-86140377-919X2537907"Capulets and Montagues: UK exam board admit mixing names up in Romeo and Juliet paper"Istoria Novellamente Ritrovata di Due Nobili Amanti2027/mdp.390150822329610820-750X"GCSE exam error: Board accidentally rewrites Shakespeare"10.2307/29176390149-66112917639"Exam board apologises after error in English GCSE paper which confused characters in Shakespeare's Romeo and Juliet""From Mariotto and Ganozza to Romeo and Guilietta: Metamorphoses of a Renaissance Tale"10.2307/37323537323510.2307/2867455286745510.2307/28678912867891"10 Questions for Taylor Swift"10.2307/28680922868092"Haymarket Theatre""The Zeffirelli Way: Revealing Talk by Florentine Director""Michael Smuin: 1938-2007 / Prolific dance director had showy career"The Life and Art of Edwin BoothRomeo and JulietRomeo and JulietRomeo and JulietRomeo and JulietEasy Read Romeo and JulietRomeo and Julieteeecb12003684p(data)4099369-3n8211610759dbe00d-a9e2-41a3-b2c1-977dd692899302814385X313670221313670221