Proceed densified geometry result as geometry

484
2
10-12-2021 12:17 AM
natatashi
New Contributor

Hello,

I am very new in Python , not familiar with arcpy

still need to make Python-script that can be run from ArcGIS Pro toolbox. The idea is to find the intersected polygons , but not touched, with selected polygons. My approach is first to buffer selected with negative distance to exclude touches and then use the SelectLayerByLocation to find intersected. Because selected polygons have curves or arcs, they are not buffered correctly, so first I make them densify. Densify returns result, but not geometries. So how the result can be proceed as geometries

here is the code

#pick up the selected polygons

for row in arcpy.da.SearchCursor(lyr.longName,fieldname_list):   

     #polygons are usually multygeometry
    for part in row[1]:
        poly=arcpy.Polygon(part)
        poly_densify=arcpy.edit.Densify(poly,"OFFSET", "0.1 Meters", "0.1 Meters", 10, 10)
        # print(poly_densify[0])  returns string class 'in_memory\fA087F071_E3E9_48D2_86FB_34F6394169D1'
        # here I need to buffer densified polygons, but how?

Or is there any other approaches to get only intersected not touched polygons

thanks in advance

Tags (3)
0 Kudos
2 Replies
DanPatterson
MVP Esteemed Contributor

Densify (Editing)—ArcGIS Pro | Documentation

simplifies arcs and buffering those will carry forward the simplification

with

Select By Location graphic examples—ArcGIS Pro | Documentation

however you can select the features that share a line segment.  If you switch that selection you should get disjoint features, which is what I think you want


... sort of retired...
0 Kudos
natatashi
New Contributor

hi Dan, thanks for reply.

I don't have lines, only polygons . from this documentations https://pro.arcgis.com/en/pro-app/latest/tool-reference/data-management/select-by-location-graphical... (Select polygon using  polygon part), I need to exclude results I,J,L.   

on curves as part of polygon, buffer does not work correctly, it first make straight line from curve part and after then buffer this line. that is why I use densify, to replace curves

0 Kudos