<?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 Can't get geometry.overlaps etc to work with Polylines in Python Questions</title>
    <link>https://community.esri.com/t5/python-questions/can-t-get-geometry-overlaps-etc-to-work-with/m-p/703509#M54455</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I am trying to calculate which polylines in my dataset overlap with each other, and can't seem to get it to work. The basic procedure that I'm using is to loop through my features, and then have a second inner loop that loops through the features again and finds out which ones the first feature overlaps with. However, I end up with nothing showing as overlapping (even though some of my features are definitely overlapping). I tried this with some of the other geometry methods such as touches, within, crosses etc, and they also seem to give strange results. For example, I get nothing showing as touching, overlapping, crossing etc, but then also nothing showing as disjoint - which doesn't seem to make sense.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;My python code is below, it's quite possible that I've made an elementary error:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;import arcpy&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;input_lines = "D:\\Data\\DunesGIS\\TestOverlaps.shp"&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;rows = arcpy.SearchCursor(input_lines)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;shape_name = arcpy.Describe(input_lines).shapeFieldName&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;for row in rows:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; shape = row.getValue(shape_name)&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; comparison_rows = arcpy.SearchCursor(input_lines)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for comparison in comparison_rows:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; comparison_shape = row.getValue(shape_name)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #print comparison_shape&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if shape.overlaps(comparison_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; print "FOUND IT!!"&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; del comparison_rows&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;print "Done"&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;del rows&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 21 Jan 2011 09:43:46 GMT</pubDate>
    <dc:creator>RobinWilson</dc:creator>
    <dc:date>2011-01-21T09:43:46Z</dc:date>
    <item>
      <title>Can't get geometry.overlaps etc to work with Polylines</title>
      <link>https://community.esri.com/t5/python-questions/can-t-get-geometry-overlaps-etc-to-work-with/m-p/703509#M54455</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I am trying to calculate which polylines in my dataset overlap with each other, and can't seem to get it to work. The basic procedure that I'm using is to loop through my features, and then have a second inner loop that loops through the features again and finds out which ones the first feature overlaps with. However, I end up with nothing showing as overlapping (even though some of my features are definitely overlapping). I tried this with some of the other geometry methods such as touches, within, crosses etc, and they also seem to give strange results. For example, I get nothing showing as touching, overlapping, crossing etc, but then also nothing showing as disjoint - which doesn't seem to make sense.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;My python code is below, it's quite possible that I've made an elementary error:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;import arcpy&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;input_lines = "D:\\Data\\DunesGIS\\TestOverlaps.shp"&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;rows = arcpy.SearchCursor(input_lines)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;shape_name = arcpy.Describe(input_lines).shapeFieldName&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;for row in rows:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; shape = row.getValue(shape_name)&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; comparison_rows = arcpy.SearchCursor(input_lines)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for comparison in comparison_rows:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; comparison_shape = row.getValue(shape_name)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #print comparison_shape&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if shape.overlaps(comparison_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; print "FOUND IT!!"&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; del comparison_rows&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;print "Done"&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;del rows&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 21 Jan 2011 09:43:46 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/can-t-get-geometry-overlaps-etc-to-work-with/m-p/703509#M54455</guid>
      <dc:creator>RobinWilson</dc:creator>
      <dc:date>2011-01-21T09:43:46Z</dc:date>
    </item>
    <item>
      <title>Re: Can't get geometry.overlaps etc to work with Polylines</title>
      <link>https://community.esri.com/t5/python-questions/can-t-get-geometry-overlaps-etc-to-work-with/m-p/703510#M54456</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;It seems that geometry objects are not being properly returned from the cursor. If you create a geometry object and populate a geometry list then the comparison can work. In my test of 4 lines, 2 and 3 cross and 1 and 4 have a shared end.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Only crosses() produced a True. A geometry list is not ideal because there are no attributes, but it should be a clue for your problem.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;# different method

import arcpy
g = arcpy.Geometry()
g1 = arcpy.Geometry()
g2 = arcpy.Geometry()
gList = arcpy.CopyFeatures_management("c:/data/sample.gdb/exlin", g)

g1 = gList
g2 = gList
n=0
for f1 in g1:
&amp;nbsp;&amp;nbsp;&amp;nbsp; n+=1
&amp;nbsp;&amp;nbsp;&amp;nbsp; m=0
&amp;nbsp;&amp;nbsp;&amp;nbsp; print
&amp;nbsp;&amp;nbsp;&amp;nbsp; for f2 in g2:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; m+=1
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print n,m,f1.overlaps(f2),f2.crosses(f1)&lt;/PRE&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;1 1 False False
1 2 False False
1 3 False False
1 4 False False

2 1 False False
2 2 False False
2 3 False True
2 4 False False

3 1 False False
3 2 False True
3 3 False False
3 4 False False

4 1 False False
4 2 False False
4 3 False False
4 4 False False&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I don't particularly like this idea, it seems to be reinventing GIS in Python scripts. Would it not be better to use topology if you have a large dataset?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 12 Dec 2021 05:35:08 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/can-t-get-geometry-overlaps-etc-to-work-with/m-p/703510#M54456</guid>
      <dc:creator>KimOllivier</dc:creator>
      <dc:date>2021-12-12T05:35:08Z</dc:date>
    </item>
  </channel>
</rss>

