<?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: Python - Create duplicate polygons based on number of intersects with points fc in Geoprocessing Questions</title>
    <link>https://community.esri.com/t5/geoprocessing-questions/python-create-duplicate-polygons-based-on-number/m-p/586515#M19423</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Thanks for that - that does solve the problem - however I am still keen to crack with python.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Les Smith from ESRI UK kindly pointed out an error in my code i.e.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;"I think this bit of code:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; point = points.next()&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; while points:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;should be &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; point = points.next()&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; while point:"&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I have modified the code below but I still seem to be having an issue.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The code seems to be working up to the first selection - however then I want to take this selected feature and add the value of the field from the point layer to this polygon feature class. perhaps I need to do a join on this selected feature and the point in the feature class????&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;import arcgisscripting&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;gp = arcgisscripting.create(9.3)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;# Load required toolboxes...&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;gp.AddToolbox(r"C:\Program Files\ArcGIS\ArcToolbox\Toolboxes\Data Management Tools.tbx")&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Output_Layer_Name = "Polygons_Layer"&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Polygons_shp = r"C:\Temp\ES106506\Polygons.shp"&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Polygons_Layer = "Polygons_Layer"&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Output_Feature_Class = r"C:\Temp\ES106506\Polygons_CopyFeatures.shp"&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;gp.Workspace = r"C:\Temp\ES106506\output.gdb"&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;gp.OverWriteOutput = 1&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;try:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; #Define the points layer&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; gp.MakeFeatureLayer(r"C:\Temp\ES106506\Points.shp", "Points_Layer")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; #Define the polygons layer&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; gp.MakeFeatureLayer(Polygons_shp, Polygons_Layer)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; #create search cursor to loop through points&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; points = gp.searchCursor("Points_Layer")&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; #For each point select the polygon intersecting it&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; point = points.next()&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; while point:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; gp.selectLayerByLocation(Polygons_Layer, "INTERSECT", point.shape)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; #Create a new Polygon feature class based on the original Point&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; #feature class and named based on a field within the the polygon field&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; name = Polygons_Layer.TempID&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; gp.CopyFeatures(Polygons_Layer, Polygons_Layer.name)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; #move on to next point &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; point = points.next()&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; print "Finished" &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; del gp, points, point&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;except:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; print gp.getmessages()&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; print "Errored"&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; del gp&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 05 Aug 2010 18:50:24 GMT</pubDate>
    <dc:creator>KevinCressy</dc:creator>
    <dc:date>2010-08-05T18:50:24Z</dc:date>
    <item>
      <title>Python - Create duplicate polygons based on number of intersects with points fc</title>
      <link>https://community.esri.com/t5/geoprocessing-questions/python-create-duplicate-polygons-based-on-number/m-p/586513#M19421</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hello all,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Does anyone know &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I have been trying to write a script that will create duplicate polygons based on the number of points that intersect each polygon.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;The catch is that I want the output polygon feature class to include the "name" of the point layer intersecting it.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;So if I have three points: ID1, ID1 and ID3 intersecting polygon A I would like a polygon feature class with an attribute table showing:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;FID, PolygonName, PointName&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;0, A, ID1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;1, A, ID2&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;2, A, ID3&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;3, B, etc, etc, etc&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Is this possible in python? I have been struggling with getting this to work with the following code....&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Any help would be appreciated!&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Regards,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Kevin&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;import arcgisscripting&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;gp = arcgisscripting.create(9.3)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;print "Step1"&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;# Load required toolboxes...&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;gp.AddToolbox(r"C:\Program Files\ArcGIS\ArcToolbox\Toolboxes\Data Management Tools.tbx")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Output_Layer_Name = "Polygons_Layer"&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Polygons_shp = r"C:\Temp\ES106506\Polygons.shp"&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Polygons_Layer = "Polygons_Layer"&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Output_Feature_Class = "C:\\Temp\\ES106506\\Polygons_CopyFeatures.shp"&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;gp.Workspace = r"C:\Temp\ES106506\output.gdb"&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;gp.OverWriteOutput = 1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;try:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; #Define the points layer&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; gp.MakeFeatureLayer(r"C:\Temp\ES106506\Points.shp", "Points_Layer")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; #Define the polygons layer&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; gp.MakeFeatureLayer(Polygons_shp, Polygons_Layer)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; print "Step5"&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; #create search cursor to loop through points&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; points = gp.searchCursor("Points_Layer")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; print "Step6"&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; #For each point select the polygon intersecting it&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; point = points.next()&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; while points:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; gp.selectLayerByLocation(Polygons_Layer, "INTERSECT", point.shape)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; #Create a new Polygon feature class based on the original Point&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; #feature class and named based on a field within the the polygon field&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; name = Polygons_Layer.TempID&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; gp.CopyFeatures(Polygons_Layer, Polygons_Layer.name)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; #move on to next point &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; point = points.next()&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; print "Finished" &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; del gp, points, point&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;except:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; print gp.getmessages()&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; print "Errored"&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; del gp&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 02 Aug 2010 15:05:20 GMT</pubDate>
      <guid>https://community.esri.com/t5/geoprocessing-questions/python-create-duplicate-polygons-based-on-number/m-p/586513#M19421</guid>
      <dc:creator>KevinCressy</dc:creator>
      <dc:date>2010-08-02T15:05:20Z</dc:date>
    </item>
    <item>
      <title>Re: Python - Create duplicate polygons based on number of intersects with points fc</title>
      <link>https://community.esri.com/t5/geoprocessing-questions/python-create-duplicate-polygons-based-on-number/m-p/586514#M19422</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Check out the SpatialJoin tool. This should do exatly what you want.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Make the TargetFeatures your polygons, the JoinFeatures your points. Be sure to specify the join operation as a 'JOIN_ONE_TO_MANY'.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 02 Aug 2010 17:17:49 GMT</pubDate>
      <guid>https://community.esri.com/t5/geoprocessing-questions/python-create-duplicate-polygons-based-on-number/m-p/586514#M19422</guid>
      <dc:creator>ChrisSnyder</dc:creator>
      <dc:date>2010-08-02T17:17:49Z</dc:date>
    </item>
    <item>
      <title>Re: Python - Create duplicate polygons based on number of intersects with points fc</title>
      <link>https://community.esri.com/t5/geoprocessing-questions/python-create-duplicate-polygons-based-on-number/m-p/586515#M19423</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Thanks for that - that does solve the problem - however I am still keen to crack with python.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Les Smith from ESRI UK kindly pointed out an error in my code i.e.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;"I think this bit of code:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; point = points.next()&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; while points:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;should be &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; point = points.next()&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; while point:"&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I have modified the code below but I still seem to be having an issue.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The code seems to be working up to the first selection - however then I want to take this selected feature and add the value of the field from the point layer to this polygon feature class. perhaps I need to do a join on this selected feature and the point in the feature class????&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;import arcgisscripting&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;gp = arcgisscripting.create(9.3)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;# Load required toolboxes...&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;gp.AddToolbox(r"C:\Program Files\ArcGIS\ArcToolbox\Toolboxes\Data Management Tools.tbx")&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Output_Layer_Name = "Polygons_Layer"&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Polygons_shp = r"C:\Temp\ES106506\Polygons.shp"&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Polygons_Layer = "Polygons_Layer"&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Output_Feature_Class = r"C:\Temp\ES106506\Polygons_CopyFeatures.shp"&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;gp.Workspace = r"C:\Temp\ES106506\output.gdb"&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;gp.OverWriteOutput = 1&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;try:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; #Define the points layer&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; gp.MakeFeatureLayer(r"C:\Temp\ES106506\Points.shp", "Points_Layer")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; #Define the polygons layer&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; gp.MakeFeatureLayer(Polygons_shp, Polygons_Layer)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; #create search cursor to loop through points&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; points = gp.searchCursor("Points_Layer")&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; #For each point select the polygon intersecting it&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; point = points.next()&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; while point:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; gp.selectLayerByLocation(Polygons_Layer, "INTERSECT", point.shape)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; #Create a new Polygon feature class based on the original Point&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; #feature class and named based on a field within the the polygon field&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; name = Polygons_Layer.TempID&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; gp.CopyFeatures(Polygons_Layer, Polygons_Layer.name)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; #move on to next point &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; point = points.next()&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; print "Finished" &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; del gp, points, point&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;except:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; print gp.getmessages()&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; print "Errored"&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; del gp&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 05 Aug 2010 18:50:24 GMT</pubDate>
      <guid>https://community.esri.com/t5/geoprocessing-questions/python-create-duplicate-polygons-based-on-number/m-p/586515#M19423</guid>
      <dc:creator>KevinCressy</dc:creator>
      <dc:date>2010-08-05T18:50:24Z</dc:date>
    </item>
  </channel>
</rss>

