I have a parcel layer (blue polygons) and a road centerline layer (black lines).

I want to generate polygons that represent the portion of the road right-of-way that is adjacent to each parcel (orange polygons).

enter image description here


Is it possible to generate road-adjacency polygons via ArcGIS Desktop 10.7.1?


  1. Convert the parcels polygons to lines.
  2. Eliminate the part of the parcel lines that are adjacent to the road right-of-way.
  3. Use the remaining parcel lines to project-out to the road centerline.
  4. Use those projected lines to cut out the parcel-adjacency polygons.

Would something like that work?

Note: I also have a road-right-of-way polygon layer that might be useful.

2 Answers 2


Your solutin is pretty close to what I would do. Here is the detailed workflow (I assume that you have an advanced lince because you suggest to use feature to line)

1) convert parcel polygon to lines

2) create a buffer on the road axes (buffer size to adjust based on the size of the roads, I would take half the width of the road + half the width of the thinnest parcel)

3) erase the parcel lines based on the road buffer

4) merge the road lines and the erased parcel lines

5) extent the lines of the resulting group of lines

6) use feature to polygon based on the extended lines and the parcel polygons

On my small example (using the above workflow), erased parcel countours are in red, line extension in orange and roads in black

enter image description hereHere is a relatively easy workflow, but you need an advanced licence. As you suggest polygon to line, I assume you have it.


Workflow below works very well, except some minor glitches, see one in the middle: enter image description here

PolygonToLine(in_features="parcels", out_feature_class="C:/SCRATCH/p_edges.shp", neighbor_option="IDENTIFY_NEIGHBORS")
SelectLayerByAttribute(in_layer_or_view="p_edges", selection_type="NEW_SELECTION", where_clause='"LEFT_FID" <>-1')
FeatureVerticesToPoints(in_features="p_edges", out_feature_class="C:/SCRATCH/ends.shp", point_location="BOTH_ENDS")
DeleteIdentical(in_dataset="ends", fields="Shape", xy_tolerance="0.01 Meters", z_tolerance="0")
AddGeometryAttributes(Input_Features="ends", Geometry_Properties="POINT_X_Y_Z_M", Length_Unit="", Area_Unit="", Coordinate_System="")
Near(in_features="ends", near_features="road_line", search_radius="", location="LOCATION", angle="NO_ANGLE", method="PLANAR")
XYToLine(in_table="ends", out_featureclass="C:/SCRATCH/to_road.shp", startx_field="POINT_X", starty_field="POINT_Y", endx_field="NEAR_X", endy_field="NEAR_Y", line_type="GEODESIC", id_field="", spatial_reference="PROJCS['NZGD_2000_New_Zealand_Transverse_Mercator',GEOGCS['GCS_NZGD_2000',DATUM['D_NZGD_2000',SPHEROID['GRS_1980',6378137.0,298.257222101]],PRIMEM['Greenwich',0.0],UNIT['Degree',0.0174532925199433]],PROJECTION['Transverse_Mercator'],PARAMETER['False_Easting',1600000.0],PARAMETER['False_Northing',10000000.0],PARAMETER['Central_Meridian',173.0],PARAMETER['Scale_Factor',0.9996],PARAMETER['Latitude_Of_Origin',0.0],UNIT['Meter',1.0]];-4020900 1900 450445547.391054;-100000 10000;-100000 10000;0.001;0.001;0.001;IsHighPrecision")
FeatureToPolygon(in_features="road_line;p_edges;to_road", out_feature_class="C:/SCRATCH/to_join.shp", cluster_tolerance="", attributes="ATTRIBUTES", label_features="")
SelectLayerByLocation(in_layer="to_join", overlap_type="SHARE_A_LINE_SEGMENT_WITH", select_features="road_line", search_distance="", selection_type="NEW_SELECTION", invert_spatial_relationship="INVERT")

You might need to check if road centreline will form large polygons and delete them. You'll need to spatially join output to transfer parcel attributes: enter image description here

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.