I am looking for help to develop a process to identify the sides and lengths of parcel polygons in relation to streets to determine the 'front' of the polygon, i.e. facing the street, so I can then determine which part of the polygon is the rear 35%. I am a planner working on detached ADU regulations in my city and while I have a decent amount of GIS knowledge and experience, this is stumping me and I feel a solution could benefit other planners who aren't GIS aces with similar projects.

I have two files available, a polygon file geodatabase for parcels, and a polyline file geodatabase for street centerlines. Both files have a field in their attribute tables that can match, the street name and street address of the parcel.

I am using ArcGIS Pro and do not currently have the knowledge or knowhow to implement any sort of PostGIS/PostgreSQL or other open source solution. I have seen a similar question posted here in 2013: Identifying FRONT LAND using ArcGIS ModelBuilder . I am really hoping to find a solution wholly within ArcGIS Pro if possible. I have not been able to implement the SQL route suggested by one of the commenters of the above link, and due to the way Feature To Line worked on a subset of test polygons I don't think it will work for many anyways, as the tool did not create each line as a unique feature but created some that while one feature contained multiple lines of the polygon (on a corner for example in the picture provided).

Parcel polygons after Feature to Line, with one feature selected encompassing multiple sides of a single parcel, in relation to adjacent street centerlines

The dataset I am using comprises over 116,000 parcel polygons, so I'm hoping for help to develop a process that can do this for all of my polygons.

Does anyone have some ideas for how I might accomplish this?

  • If you have road polygons with intersections as separate polygons then Polygon Neighbors makes this easy.
    – PolyGeo
    Apr 2, 2022 at 22:39

1 Answer 1


First create lines that are NOT a boundary between parcels:

arcpy.PolygonToLine_management("parcels", "in_memory/OUTLINES","IDENTIFY_NEIGHBORS")
arcpy.SelectLayerByAttribute_management("OUTLINES", "NEW_SELECTION",'"LEFT_FID" >=0')

enter image description here

and this is actually it, because their table contains OID of parent polygon:

enter image description here

which you can use as a case field to summarize length and transfer it to parcels.

To prove it I split outline at vertices and drawn the lines from their mid-point to nearest road:

enter image description here

The only complication are going to be footpaths between parcels. So you should check if connection shares segment with what remains of them after clipping by parcels.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.