<?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: Check for Features to touch boundary in Python Questions</title>
    <link>https://community.esri.com/t5/python-questions/check-for-features-to-touch-boundary/m-p/501754#M39405</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Im using ArcGis 10 ArcInfo (dont know what sp1 stands for)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;strange, it doesnt work with me (only other methods like equals()), and my "workaround" seems terribly slow....&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;in this case it must be a problem of versions....&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;thanks anyway, ur approach helped me a lot!&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 10 Dec 2012 11:25:09 GMT</pubDate>
    <dc:creator>thomsh</dc:creator>
    <dc:date>2012-12-10T11:25:09Z</dc:date>
    <item>
      <title>Check for Features to touch boundary</title>
      <link>https://community.esri.com/t5/python-questions/check-for-features-to-touch-boundary/m-p/501748#M39399</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hello&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Im thinking about a problem to solve for a while now, but cant find a good approach...&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Here is my problem:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;i have a feature class with lots of line features. The line features equal segements and a segment touches only one other segment.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Now i need to sort them. &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;From a starting segement, i want to look up the one that touches the boundary to the next segment (and write a new attribute to this segment, eq iterating numbers). From this second segement, i want to look for the third one, and so on.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Does anyone has a good hint how to achieve that?&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;some pseudo code would be deeply appreciates.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;greetings tom&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 04 Dec 2012 08:55:08 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/check-for-features-to-touch-boundary/m-p/501748#M39399</guid>
      <dc:creator>thomsh</dc:creator>
      <dc:date>2012-12-04T08:55:08Z</dc:date>
    </item>
    <item>
      <title>Re: Check for Features to touch boundary</title>
      <link>https://community.esri.com/t5/python-questions/check-for-features-to-touch-boundary/m-p/501749#M39400</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi Thomas,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;You could start with something like this:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;fc = "lines"

rows = arcpy.SearchCursor(fc)
for row in rows:
&amp;nbsp;&amp;nbsp;&amp;nbsp; geom = row.Shape
&amp;nbsp;&amp;nbsp;&amp;nbsp; rows2 = arcpy.UpdateCursor(fc)
&amp;nbsp;&amp;nbsp;&amp;nbsp; for row2 in rows2:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if row2.shape.touches(geom):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print str(row.OBJECTID) + " touches " + str(row2.OBJECTID)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; row2.ID = row.OBJECTID
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rows2.updateRow(row2)

del row, rows, row2, rows2&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I have not thoroughly tested the code, but this could get you started.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 22:01:03 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/check-for-features-to-touch-boundary/m-p/501749#M39400</guid>
      <dc:creator>JakeSkinner</dc:creator>
      <dc:date>2021-12-11T22:01:03Z</dc:date>
    </item>
    <item>
      <title>Re: Check for Features to touch boundary</title>
      <link>https://community.esri.com/t5/python-questions/check-for-features-to-touch-boundary/m-p/501750#M39401</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Thanks a lot! &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;this is what i needed!&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;only the &lt;/SPAN&gt;&lt;PRE __default_attr="plain" __jive_macro_name="code" class="jive_macro_code jive_text_macro"&gt; if geom.touches(row2.shape) &lt;/PRE&gt;&lt;BR /&gt;&lt;SPAN&gt;doesnt work, eventhough the lines definitly touch eacher other (other methods like equals() and within() works...)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;any idea for a workaround?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 04 Dec 2012 14:37:56 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/check-for-features-to-touch-boundary/m-p/501750#M39401</guid>
      <dc:creator>thomsh</dc:creator>
      <dc:date>2012-12-04T14:37:56Z</dc:date>
    </item>
    <item>
      <title>Re: Check for Features to touch boundary</title>
      <link>https://community.esri.com/t5/python-questions/check-for-features-to-touch-boundary/m-p/501751#M39402</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Would you be able to upload a sample set of your data?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 05 Dec 2012 10:44:33 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/check-for-features-to-touch-boundary/m-p/501751#M39402</guid>
      <dc:creator>JakeSkinner</dc:creator>
      <dc:date>2012-12-05T10:44:33Z</dc:date>
    </item>
    <item>
      <title>Re: Check for Features to touch boundary</title>
      <link>https://community.esri.com/t5/python-questions/check-for-features-to-touch-boundary/m-p/501752#M39403</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Thanks for ur time!!&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;For now, i have to go over an "opposite of a shortcut" of creating a single shapefile, copy it and then compare it with the data i want to order (im sorry for the strange variable names and the brute force approach in general, but somehow i cant think of a better way)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Tips and Help would be deeply appreciated!&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;[PHP]&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;str_nameOut = "DeleteMeuu"&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;str_file = "OutFahrbahn.shp"&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;str_geoOrderField = "ordergeo"&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;def geoSortInput(file, startId):&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; i = 2&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for i in range(2, 8):&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #make a shapefile with the segment to compare&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.MakeFeatureLayer_management(file, str_nameOut)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.SelectLayerByAttribute_management(str_nameOut, "NEW_SELECTION", str_geoOrderField+ "=" + str(i))&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.CopyFeatures_management(str_nameOut, str_nameOut +"_.shp")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rows = arcpy.SearchCursor(str_nameOut + "_.shp")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for row in rows:&lt;/SPAN&gt;&lt;BR /&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; geom = row.Shape&lt;/SPAN&gt;&lt;BR /&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; rows2 = arcpy.UpdateCursor(file)&lt;/SPAN&gt;&lt;BR /&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; for row2 in rows2:&lt;/SPAN&gt;&lt;BR /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if row2.shape.touches(geom) and str(row2.getValue(str_geoOrderField)) is str(0):&lt;/SPAN&gt;&lt;BR /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; i+=1&lt;/SPAN&gt;&lt;BR /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print "______________________yes!! "&amp;nbsp; + str(row2.FID) + "&amp;nbsp;&amp;nbsp; touches "&lt;/SPAN&gt;&lt;BR /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; row2.setValue(str_geoOrderField, i)&lt;/SPAN&gt;&lt;BR /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rows2.updateRow(row2)&lt;/SPAN&gt;&lt;BR /&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; del row2, rows2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; del row, rows&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;# XX = start FID&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;geoSortInput(str_file, XX)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;[/PHP]&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;here is a datasample:&lt;/SPAN&gt;&lt;BR /&gt;&lt;A href="https://www.dropbox.com/s/opz7zw9988k2sag/outFahrbahn.zip"&gt;https://www.dropbox.com/s/opz7zw9988k2sag/outFahrbahn.zip&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;note that the method needs the first tow segments to be ordered already....&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;cheers&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 06 Dec 2012 13:02:12 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/check-for-features-to-touch-boundary/m-p/501752#M39403</guid>
      <dc:creator>thomsh</dc:creator>
      <dc:date>2012-12-06T13:02:12Z</dc:date>
    </item>
    <item>
      <title>Re: Check for Features to touch boundary</title>
      <link>https://community.esri.com/t5/python-questions/check-for-features-to-touch-boundary/m-p/501753#M39404</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;What version of ArcGIS are you running?&amp;nbsp; With the original code I sent and you test data, it reported each segment touched another segment successfully.&amp;nbsp; I am currently using ArcGIS 10.1 SP1.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 07 Dec 2012 12:34:12 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/check-for-features-to-touch-boundary/m-p/501753#M39404</guid>
      <dc:creator>JakeSkinner</dc:creator>
      <dc:date>2012-12-07T12:34:12Z</dc:date>
    </item>
    <item>
      <title>Re: Check for Features to touch boundary</title>
      <link>https://community.esri.com/t5/python-questions/check-for-features-to-touch-boundary/m-p/501754#M39405</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Im using ArcGis 10 ArcInfo (dont know what sp1 stands for)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;strange, it doesnt work with me (only other methods like equals()), and my "workaround" seems terribly slow....&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;in this case it must be a problem of versions....&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;thanks anyway, ur approach helped me a lot!&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 10 Dec 2012 11:25:09 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/check-for-features-to-touch-boundary/m-p/501754#M39405</guid>
      <dc:creator>thomsh</dc:creator>
      <dc:date>2012-12-10T11:25:09Z</dc:date>
    </item>
  </channel>
</rss>

