Outputting Polygon Neighbors into special format using ArcPy? The Next CEO of Stack...

Recycling old answers

Chain wire methods together in Lightning Web Components

A Man With a Stainless Steel Endoskeleton (like The Terminator) Fighting Cloaked Aliens Only He Can See

Math-accent symbol over parentheses enclosing accented symbol (amsmath)

Why this way of making earth uninhabitable in Interstellar?

Is this "being" usage is essential?

Can we say or write : "No, it'sn't"?

Does falling count as part of my movement?

Minecraft Executing if more than 500 entities

Running a General Election and the European Elections together

The exact meaning of 'Mom made me a sandwich'

Proper way to express "He disappeared them"

Need help understanding a power circuit (caps and diodes)

What connection does MS Office have to Netscape Navigator?

What was the first Unix version to run on a microcomputer?

Is it possible to replace duplicates of a character with one character using tr

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

Flying from Cape Town to England and return to another province

Newlines in BSD sed vs gsed

How to scale a tikZ image which is within a figure environment

Why is quantifier elimination desirable for a given theory?

Why do remote US companies require working in the US?

Help understanding this unsettling image of Titan, Epimetheus, and Saturn's rings?

Why did CATV standarize in 75 ohms and everyone else in 50?



Outputting Polygon Neighbors into special format using ArcPy?



The Next CEO of Stack OverflowPull Data from Specific Excel Cell into ArcPyCompleting ModelBuilder Process Quicker?How do I insert the string field and calculate it in Python?Losing Attributes Following Merge in ModelBuilder?Using ModelBuilder to create smaller individual DEMs from a large DEM using multiple polygon?Get Raster Centroid using ArcpyDealing with two input arguments to ModelBuilder?If statement problemIterating and extracting subdatasets from hdf files and exporting data into MS excel using ModelBuilder?Second-level neighbors of large polygon (neighbors' neighbors)












1















I need Polygon Neighbors to give me data in a specific format. Every polygon should have its own line in the output. Take this, for example(it's obviously not ArcGIS formatted, but it serves the purpose of an example):



enter image description here



This should give the following output, in text or excel:



1 2 5
2 1 3 5
3 2 4
4 3 5 6
5 1 2 4
6 4


It's important that the first column be in ascending numerical order. I have over 300,000 lines of this.



I have the input feature class. I can use ModelBuilder and Python.










share|improve this question





























    1















    I need Polygon Neighbors to give me data in a specific format. Every polygon should have its own line in the output. Take this, for example(it's obviously not ArcGIS formatted, but it serves the purpose of an example):



    enter image description here



    This should give the following output, in text or excel:



    1 2 5
    2 1 3 5
    3 2 4
    4 3 5 6
    5 1 2 4
    6 4


    It's important that the first column be in ascending numerical order. I have over 300,000 lines of this.



    I have the input feature class. I can use ModelBuilder and Python.










    share|improve this question



























      1












      1








      1








      I need Polygon Neighbors to give me data in a specific format. Every polygon should have its own line in the output. Take this, for example(it's obviously not ArcGIS formatted, but it serves the purpose of an example):



      enter image description here



      This should give the following output, in text or excel:



      1 2 5
      2 1 3 5
      3 2 4
      4 3 5 6
      5 1 2 4
      6 4


      It's important that the first column be in ascending numerical order. I have over 300,000 lines of this.



      I have the input feature class. I can use ModelBuilder and Python.










      share|improve this question
















      I need Polygon Neighbors to give me data in a specific format. Every polygon should have its own line in the output. Take this, for example(it's obviously not ArcGIS formatted, but it serves the purpose of an example):



      enter image description here



      This should give the following output, in text or excel:



      1 2 5
      2 1 3 5
      3 2 4
      4 3 5 6
      5 1 2 4
      6 4


      It's important that the first column be in ascending numerical order. I have over 300,000 lines of this.



      I have the input feature class. I can use ModelBuilder and Python.







      arcpy modelbuilder adjacency






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited 17 mins ago









      PolyGeo

      53.8k1781245




      53.8k1781245










      asked Jul 15 '14 at 5:45









      ReighReigh

      83




      83






















          1 Answer
          1






          active

          oldest

          votes


















          0














          The code below (which comes from one of my training courses) does the key part of what you are describing. Basically, it takes an input polygon feature class (testFC) on which you have run Polygon Neighbors to create a table (NEIGHBOURS). The feature class has an extra field called NEIGHBOURS (Text, 100) added.



          What the code does is to:




          1. Make a Table View from the table which is needed to be able Select By Attribute on it later

          2. Open an Update Cursor (uCursor) on the polygon feature class to access the ID and empty NEIGHBOURS fields

          3. For each polygon it selects the corresponding rows in the NEIGHBOUR table and opens a Search Cursor (sCursor) on them

          4. Use the Search Cursor to build up a comma separated list of the IDs for each neighbouring polygon

          5. Strip any commas from either end of the comma separated list

          6. Write that list into the NEIGHBOURS field


          The code:



          arcpy.MakeTableView_management(r"C:test.gdbNEIGHBOURS","NEIGHBOURS_View")

          with arcpy.da.UpdateCursor(r"C:test.gdbtestFC",["ID","NEIGHBOURS"]) as uCursor:
          for uRow in uCursor:
          arcpy.SelectLayerByAttribute_management("NEIGHBOURS_View","NEW_SELECTION","src_ID = " + "'" + uRow[0] + "'")
          with arcpy.da.SearchCursor("NEIGHBOURS_View","nbr_ID") as sCursor:
          neighbours = ""
          for sRow in sCursor:
          neighbours = neighbours + "," + sRow[0]
          uRow[1] = neighbours.strip(",")
          uCursor.updateRow(uRow)





          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%2f107194%2foutputting-polygon-neighbors-into-special-format-using-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














            The code below (which comes from one of my training courses) does the key part of what you are describing. Basically, it takes an input polygon feature class (testFC) on which you have run Polygon Neighbors to create a table (NEIGHBOURS). The feature class has an extra field called NEIGHBOURS (Text, 100) added.



            What the code does is to:




            1. Make a Table View from the table which is needed to be able Select By Attribute on it later

            2. Open an Update Cursor (uCursor) on the polygon feature class to access the ID and empty NEIGHBOURS fields

            3. For each polygon it selects the corresponding rows in the NEIGHBOUR table and opens a Search Cursor (sCursor) on them

            4. Use the Search Cursor to build up a comma separated list of the IDs for each neighbouring polygon

            5. Strip any commas from either end of the comma separated list

            6. Write that list into the NEIGHBOURS field


            The code:



            arcpy.MakeTableView_management(r"C:test.gdbNEIGHBOURS","NEIGHBOURS_View")

            with arcpy.da.UpdateCursor(r"C:test.gdbtestFC",["ID","NEIGHBOURS"]) as uCursor:
            for uRow in uCursor:
            arcpy.SelectLayerByAttribute_management("NEIGHBOURS_View","NEW_SELECTION","src_ID = " + "'" + uRow[0] + "'")
            with arcpy.da.SearchCursor("NEIGHBOURS_View","nbr_ID") as sCursor:
            neighbours = ""
            for sRow in sCursor:
            neighbours = neighbours + "," + sRow[0]
            uRow[1] = neighbours.strip(",")
            uCursor.updateRow(uRow)





            share|improve this answer






























              0














              The code below (which comes from one of my training courses) does the key part of what you are describing. Basically, it takes an input polygon feature class (testFC) on which you have run Polygon Neighbors to create a table (NEIGHBOURS). The feature class has an extra field called NEIGHBOURS (Text, 100) added.



              What the code does is to:




              1. Make a Table View from the table which is needed to be able Select By Attribute on it later

              2. Open an Update Cursor (uCursor) on the polygon feature class to access the ID and empty NEIGHBOURS fields

              3. For each polygon it selects the corresponding rows in the NEIGHBOUR table and opens a Search Cursor (sCursor) on them

              4. Use the Search Cursor to build up a comma separated list of the IDs for each neighbouring polygon

              5. Strip any commas from either end of the comma separated list

              6. Write that list into the NEIGHBOURS field


              The code:



              arcpy.MakeTableView_management(r"C:test.gdbNEIGHBOURS","NEIGHBOURS_View")

              with arcpy.da.UpdateCursor(r"C:test.gdbtestFC",["ID","NEIGHBOURS"]) as uCursor:
              for uRow in uCursor:
              arcpy.SelectLayerByAttribute_management("NEIGHBOURS_View","NEW_SELECTION","src_ID = " + "'" + uRow[0] + "'")
              with arcpy.da.SearchCursor("NEIGHBOURS_View","nbr_ID") as sCursor:
              neighbours = ""
              for sRow in sCursor:
              neighbours = neighbours + "," + sRow[0]
              uRow[1] = neighbours.strip(",")
              uCursor.updateRow(uRow)





              share|improve this answer




























                0












                0








                0







                The code below (which comes from one of my training courses) does the key part of what you are describing. Basically, it takes an input polygon feature class (testFC) on which you have run Polygon Neighbors to create a table (NEIGHBOURS). The feature class has an extra field called NEIGHBOURS (Text, 100) added.



                What the code does is to:




                1. Make a Table View from the table which is needed to be able Select By Attribute on it later

                2. Open an Update Cursor (uCursor) on the polygon feature class to access the ID and empty NEIGHBOURS fields

                3. For each polygon it selects the corresponding rows in the NEIGHBOUR table and opens a Search Cursor (sCursor) on them

                4. Use the Search Cursor to build up a comma separated list of the IDs for each neighbouring polygon

                5. Strip any commas from either end of the comma separated list

                6. Write that list into the NEIGHBOURS field


                The code:



                arcpy.MakeTableView_management(r"C:test.gdbNEIGHBOURS","NEIGHBOURS_View")

                with arcpy.da.UpdateCursor(r"C:test.gdbtestFC",["ID","NEIGHBOURS"]) as uCursor:
                for uRow in uCursor:
                arcpy.SelectLayerByAttribute_management("NEIGHBOURS_View","NEW_SELECTION","src_ID = " + "'" + uRow[0] + "'")
                with arcpy.da.SearchCursor("NEIGHBOURS_View","nbr_ID") as sCursor:
                neighbours = ""
                for sRow in sCursor:
                neighbours = neighbours + "," + sRow[0]
                uRow[1] = neighbours.strip(",")
                uCursor.updateRow(uRow)





                share|improve this answer















                The code below (which comes from one of my training courses) does the key part of what you are describing. Basically, it takes an input polygon feature class (testFC) on which you have run Polygon Neighbors to create a table (NEIGHBOURS). The feature class has an extra field called NEIGHBOURS (Text, 100) added.



                What the code does is to:




                1. Make a Table View from the table which is needed to be able Select By Attribute on it later

                2. Open an Update Cursor (uCursor) on the polygon feature class to access the ID and empty NEIGHBOURS fields

                3. For each polygon it selects the corresponding rows in the NEIGHBOUR table and opens a Search Cursor (sCursor) on them

                4. Use the Search Cursor to build up a comma separated list of the IDs for each neighbouring polygon

                5. Strip any commas from either end of the comma separated list

                6. Write that list into the NEIGHBOURS field


                The code:



                arcpy.MakeTableView_management(r"C:test.gdbNEIGHBOURS","NEIGHBOURS_View")

                with arcpy.da.UpdateCursor(r"C:test.gdbtestFC",["ID","NEIGHBOURS"]) as uCursor:
                for uRow in uCursor:
                arcpy.SelectLayerByAttribute_management("NEIGHBOURS_View","NEW_SELECTION","src_ID = " + "'" + uRow[0] + "'")
                with arcpy.da.SearchCursor("NEIGHBOURS_View","nbr_ID") as sCursor:
                neighbours = ""
                for sRow in sCursor:
                neighbours = neighbours + "," + sRow[0]
                uRow[1] = neighbours.strip(",")
                uCursor.updateRow(uRow)






                share|improve this answer














                share|improve this answer



                share|improve this answer








                edited Jul 15 '14 at 8:20

























                answered Jul 15 '14 at 7:35









                PolyGeoPolyGeo

                53.8k1781245




                53.8k1781245






























                    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%2f107194%2foutputting-polygon-neighbors-into-special-format-using-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

                    (145452) 2005 RN43 Классификация | Примечания | Ссылки |...

                    Щит и меч (фильм) Содержание Названия серий | Сюжет |...

                    Энтрерриос (город) Содержание История | Географическое...