<?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 Separate overlapping polygons into regions (Watersheds) in Python Questions</title>
    <link>https://community.esri.com/t5/python-questions/separate-overlapping-polygons-into-regions/m-p/28667#M2198</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;@I'm trying to assign my Watersheds polygon into regions of non overlapping polygons.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm currently using the ESRI Spatial Analyst Supplemental Tools&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://blogs.esri.com/esri/arcgis/2013/11/26/new-spatial-analyst-supplemental-tools-v1-3/" title="http://blogs.esri.com/esri/arcgis/2013/11/26/new-spatial-analyst-supplemental-tools-v1-3/" rel="nofollow noopener noreferrer" target="_blank"&gt;New Spatial Analyst Supplemental tools, v1.3 | ArcGIS Blog&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The Zonal Statistics Tool 2 implements the grouping of the overlapping polygons to generate non overlapping polygons to run the Zonal Statistics, but I'm unable to following the logic that that's being used as I'm still new to Python.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I've also found the following link on the Stack Overflow website and download the sample code:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://gis.stackexchange.com/questions/32217/exploding-overlapping-to-new-non-overlapping-polygons" title="http://gis.stackexchange.com/questions/32217/exploding-overlapping-to-new-non-overlapping-polygons" rel="nofollow noopener noreferrer" target="_blank"&gt;arcgis desktop - Exploding overlapping to new non-overlapping polygons? - Geographic Information Systems Stack Exchange&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;IMG __jive_id="72328" alt="Grouping1.JPG" class="image-1 jive-image" src="https://community.esri.com/legacyfs/online/72328_Grouping1.JPG" style="height: auto;" /&gt; &lt;IMG __jive_id="72437" alt="Grouping2.JPG" class="image-2 jive-image" src="https://community.esri.com/legacyfs/online/72437_Grouping2.JPG" style="height: auto;" /&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I've made amendments to the source code from the Stack Overflow website:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;import os
import arcpy
from arcpy import GetParameterAsText

fc = GetParameterAsText(0)
idName = GetParameterAsText(1)

dirname = os.path.dirname(arcpy.Describe(fc).catalogPath)
desc = arcpy.Describe(dirname)
if hasattr(desc, "datasetType") and desc.datasetType=='FeatureClass':
&amp;nbsp;&amp;nbsp;&amp;nbsp; dirname = os.path.dirname(dirname)
arcpy.env.workspace = dirname

def countOverlaps(fc,idName):
&amp;nbsp;&amp;nbsp;&amp;nbsp; intersect = arcpy.Intersect_analysis(fc,'intersect')
&amp;nbsp;&amp;nbsp;&amp;nbsp; findID = arcpy.FindIdentical_management(intersect,"explFindID","Shape")
&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.MakeFeatureLayer_management(intersect,"intlyr")
&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.AddJoin_management("intlyr",arcpy.Describe("intlyr").OIDfieldName,findID,"IN_FID","KEEP_ALL")
&amp;nbsp;&amp;nbsp;&amp;nbsp; segIDs = {}
&amp;nbsp;&amp;nbsp;&amp;nbsp; featseqName = "explFindID.FEAT_SEQ"
&amp;nbsp;&amp;nbsp;&amp;nbsp; idNewName = "intersect."+idName
&amp;nbsp;&amp;nbsp;&amp;nbsp; for row in arcpy.SearchCursor("intlyr"):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; idVal = row.getValue(idNewName)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; featseqVal = row.getValue(featseqName)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; segIDs[featseqVal] = []
&amp;nbsp;&amp;nbsp;&amp;nbsp; for row in arcpy.SearchCursor("intlyr"):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; idVal = row.getValue(idNewName)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; featseqVal = row.getValue(featseqName)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; segIDs[featseqVal].append(idVal)
&amp;nbsp;&amp;nbsp;&amp;nbsp; segIDs2 = {}
&amp;nbsp;&amp;nbsp;&amp;nbsp; for row in arcpy.SearchCursor("intlyr"):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; idVal = row.getValue(idNewName)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; segIDs2[idVal] = []
&amp;nbsp;&amp;nbsp;&amp;nbsp; for x,y in segIDs.iteritems():
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for segID in y:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; segIDs2[segID].extend([k for k in y if k != segID])
&amp;nbsp;&amp;nbsp;&amp;nbsp; for x,y in segIDs2.iteritems():
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; segIDs2&lt;X&gt; = list(set(y))&lt;/X&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.RemoveJoin_management("intlyr",arcpy.Describe(findID).name)
&amp;nbsp;&amp;nbsp;&amp;nbsp; if 'overlaps' not in [k.name for k in arcpy.ListFields(fc)]:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.AddField_management(fc,'overlaps',"TEXT")
&amp;nbsp;&amp;nbsp;&amp;nbsp; if 'ovlpCount' not in [k.name for k in arcpy.ListFields(fc)]:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.AddField_management(fc,'ovlpCount',"SHORT")
&amp;nbsp;&amp;nbsp;&amp;nbsp; urows = arcpy.UpdateCursor(fc)
&amp;nbsp;&amp;nbsp;&amp;nbsp; for urow in urows:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; idVal = urow.getValue(idName)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if segIDs2.get(idVal):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; urow.overlaps = str(segIDs2[idVal]).strip('[]')
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; urow.ovlpCount = len(segIDs2[idVal])
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; urows.updateRow(urow)
countOverlaps(fc,idName)

def explodeOverlaps(fc,idName):
&amp;nbsp;&amp;nbsp;&amp;nbsp; countOverlaps(fc,idName)
&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.AddField_management(fc,'expl',"SHORT")
&amp;nbsp;&amp;nbsp;&amp;nbsp; urows = arcpy.UpdateCursor(fc,'"overlaps" IS NULL')
&amp;nbsp;&amp;nbsp;&amp;nbsp; for urow in urows:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; urow.expl = 1
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; urows.updateRow(urow)
&amp;nbsp;&amp;nbsp;&amp;nbsp; i=1
&amp;nbsp;&amp;nbsp;&amp;nbsp; lyr = arcpy.MakeFeatureLayer_management(fc)
&amp;nbsp;&amp;nbsp;&amp;nbsp; while int(arcpy.GetCount_management(arcpy.SelectLayerByAttribute_management(lyr,"NEW_SELECTION",'"expl" IS NULL')).getOutput(0)) &amp;gt; 0:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ovList=[]
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; urows = arcpy.UpdateCursor(fc,'"expl" IS NULL','','','ovlpCount D')
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for urow in urows:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ovVal = urow.overlaps
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; idVal = urow.getValue(idName)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; intList = ovVal.replace(' ','').split(',')
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for x in intList:
&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; intList[intList.index(x)] = int(x)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if idVal not in ovList:
&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; urow.expl = i
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; urows.updateRow(urow)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ovList.extend(intList)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; i+=1
explodeOverlaps(fc,idName)&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;but I'm receiving the following error message and I'm unable to resolve it. I'd really appreciate assistance in resolving the following as I'm still new&amp;nbsp; to python.&lt;/P&gt;&lt;P&gt;&lt;IMG __jive_id="72439" alt="ErrorMessage.JPG" class="image-3 jive-image" src="https://community.esri.com/legacyfs/online/72439_ErrorMessage.JPG" /&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Peter Wilson&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 10 Dec 2021 21:09:20 GMT</pubDate>
    <dc:creator>PeterWilson</dc:creator>
    <dc:date>2021-12-10T21:09:20Z</dc:date>
    <item>
      <title>Separate overlapping polygons into regions (Watersheds)</title>
      <link>https://community.esri.com/t5/python-questions/separate-overlapping-polygons-into-regions/m-p/28667#M2198</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;@I'm trying to assign my Watersheds polygon into regions of non overlapping polygons.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm currently using the ESRI Spatial Analyst Supplemental Tools&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://blogs.esri.com/esri/arcgis/2013/11/26/new-spatial-analyst-supplemental-tools-v1-3/" title="http://blogs.esri.com/esri/arcgis/2013/11/26/new-spatial-analyst-supplemental-tools-v1-3/" rel="nofollow noopener noreferrer" target="_blank"&gt;New Spatial Analyst Supplemental tools, v1.3 | ArcGIS Blog&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The Zonal Statistics Tool 2 implements the grouping of the overlapping polygons to generate non overlapping polygons to run the Zonal Statistics, but I'm unable to following the logic that that's being used as I'm still new to Python.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I've also found the following link on the Stack Overflow website and download the sample code:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://gis.stackexchange.com/questions/32217/exploding-overlapping-to-new-non-overlapping-polygons" title="http://gis.stackexchange.com/questions/32217/exploding-overlapping-to-new-non-overlapping-polygons" rel="nofollow noopener noreferrer" target="_blank"&gt;arcgis desktop - Exploding overlapping to new non-overlapping polygons? - Geographic Information Systems Stack Exchange&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;IMG __jive_id="72328" alt="Grouping1.JPG" class="image-1 jive-image" src="https://community.esri.com/legacyfs/online/72328_Grouping1.JPG" style="height: auto;" /&gt; &lt;IMG __jive_id="72437" alt="Grouping2.JPG" class="image-2 jive-image" src="https://community.esri.com/legacyfs/online/72437_Grouping2.JPG" style="height: auto;" /&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I've made amendments to the source code from the Stack Overflow website:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;import os
import arcpy
from arcpy import GetParameterAsText

fc = GetParameterAsText(0)
idName = GetParameterAsText(1)

dirname = os.path.dirname(arcpy.Describe(fc).catalogPath)
desc = arcpy.Describe(dirname)
if hasattr(desc, "datasetType") and desc.datasetType=='FeatureClass':
&amp;nbsp;&amp;nbsp;&amp;nbsp; dirname = os.path.dirname(dirname)
arcpy.env.workspace = dirname

def countOverlaps(fc,idName):
&amp;nbsp;&amp;nbsp;&amp;nbsp; intersect = arcpy.Intersect_analysis(fc,'intersect')
&amp;nbsp;&amp;nbsp;&amp;nbsp; findID = arcpy.FindIdentical_management(intersect,"explFindID","Shape")
&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.MakeFeatureLayer_management(intersect,"intlyr")
&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.AddJoin_management("intlyr",arcpy.Describe("intlyr").OIDfieldName,findID,"IN_FID","KEEP_ALL")
&amp;nbsp;&amp;nbsp;&amp;nbsp; segIDs = {}
&amp;nbsp;&amp;nbsp;&amp;nbsp; featseqName = "explFindID.FEAT_SEQ"
&amp;nbsp;&amp;nbsp;&amp;nbsp; idNewName = "intersect."+idName
&amp;nbsp;&amp;nbsp;&amp;nbsp; for row in arcpy.SearchCursor("intlyr"):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; idVal = row.getValue(idNewName)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; featseqVal = row.getValue(featseqName)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; segIDs[featseqVal] = []
&amp;nbsp;&amp;nbsp;&amp;nbsp; for row in arcpy.SearchCursor("intlyr"):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; idVal = row.getValue(idNewName)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; featseqVal = row.getValue(featseqName)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; segIDs[featseqVal].append(idVal)
&amp;nbsp;&amp;nbsp;&amp;nbsp; segIDs2 = {}
&amp;nbsp;&amp;nbsp;&amp;nbsp; for row in arcpy.SearchCursor("intlyr"):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; idVal = row.getValue(idNewName)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; segIDs2[idVal] = []
&amp;nbsp;&amp;nbsp;&amp;nbsp; for x,y in segIDs.iteritems():
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for segID in y:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; segIDs2[segID].extend([k for k in y if k != segID])
&amp;nbsp;&amp;nbsp;&amp;nbsp; for x,y in segIDs2.iteritems():
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; segIDs2&lt;X&gt; = list(set(y))&lt;/X&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.RemoveJoin_management("intlyr",arcpy.Describe(findID).name)
&amp;nbsp;&amp;nbsp;&amp;nbsp; if 'overlaps' not in [k.name for k in arcpy.ListFields(fc)]:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.AddField_management(fc,'overlaps',"TEXT")
&amp;nbsp;&amp;nbsp;&amp;nbsp; if 'ovlpCount' not in [k.name for k in arcpy.ListFields(fc)]:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.AddField_management(fc,'ovlpCount',"SHORT")
&amp;nbsp;&amp;nbsp;&amp;nbsp; urows = arcpy.UpdateCursor(fc)
&amp;nbsp;&amp;nbsp;&amp;nbsp; for urow in urows:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; idVal = urow.getValue(idName)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if segIDs2.get(idVal):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; urow.overlaps = str(segIDs2[idVal]).strip('[]')
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; urow.ovlpCount = len(segIDs2[idVal])
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; urows.updateRow(urow)
countOverlaps(fc,idName)

def explodeOverlaps(fc,idName):
&amp;nbsp;&amp;nbsp;&amp;nbsp; countOverlaps(fc,idName)
&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.AddField_management(fc,'expl',"SHORT")
&amp;nbsp;&amp;nbsp;&amp;nbsp; urows = arcpy.UpdateCursor(fc,'"overlaps" IS NULL')
&amp;nbsp;&amp;nbsp;&amp;nbsp; for urow in urows:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; urow.expl = 1
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; urows.updateRow(urow)
&amp;nbsp;&amp;nbsp;&amp;nbsp; i=1
&amp;nbsp;&amp;nbsp;&amp;nbsp; lyr = arcpy.MakeFeatureLayer_management(fc)
&amp;nbsp;&amp;nbsp;&amp;nbsp; while int(arcpy.GetCount_management(arcpy.SelectLayerByAttribute_management(lyr,"NEW_SELECTION",'"expl" IS NULL')).getOutput(0)) &amp;gt; 0:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ovList=[]
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; urows = arcpy.UpdateCursor(fc,'"expl" IS NULL','','','ovlpCount D')
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for urow in urows:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ovVal = urow.overlaps
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; idVal = urow.getValue(idName)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; intList = ovVal.replace(' ','').split(',')
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for x in intList:
&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; intList[intList.index(x)] = int(x)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if idVal not in ovList:
&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; urow.expl = i
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; urows.updateRow(urow)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ovList.extend(intList)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; i+=1
explodeOverlaps(fc,idName)&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;but I'm receiving the following error message and I'm unable to resolve it. I'd really appreciate assistance in resolving the following as I'm still new&amp;nbsp; to python.&lt;/P&gt;&lt;P&gt;&lt;IMG __jive_id="72439" alt="ErrorMessage.JPG" class="image-3 jive-image" src="https://community.esri.com/legacyfs/online/72439_ErrorMessage.JPG" /&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Peter Wilson&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 10 Dec 2021 21:09:20 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/separate-overlapping-polygons-into-regions/m-p/28667#M2198</guid>
      <dc:creator>PeterWilson</dc:creator>
      <dc:date>2021-12-10T21:09:20Z</dc:date>
    </item>
    <item>
      <title>Re: Separate overlapping polygons into regions (Watersheds)</title>
      <link>https://community.esri.com/t5/python-questions/separate-overlapping-polygons-into-regions/m-p/28668#M2199</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;To anyone that might be interested in using the following. Tony Desilva answered my question on the Stack Overflow website. The problem was that my ID's were to long, they started at 10000 and were being inserted into the Overlaps field to indicate the Watersheds that were being overlapped. I reduced my ID's to thousands and the script ran successfully.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Peter Wilson&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 12 Mar 2015 09:47:40 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/separate-overlapping-polygons-into-regions/m-p/28668#M2199</guid>
      <dc:creator>PeterWilson</dc:creator>
      <dc:date>2015-03-12T09:47:40Z</dc:date>
    </item>
  </channel>
</rss>

