Finding parcel polygon features with frontage on multiple streets using ArcGIS Desktop?

  1. If your road network is divided by segments, dissolve the buffers based on road name or some common attribute so that individual segments of roads do not count as two separate roads in the next step.

  2. Buffer your street centerlines by a standard amount - more than half the typical ROW width, but no so large that it would overlap parcels that do not front on it. You may want to choose different buffers for different classes of roads. When you buffer, don't merge the polygons.

  3. Spatially join the parcels to the road buffers, choosing "one to many". The "count" field on the results should allow you to identify all parcels with two frontages.

Now you have a table with rows for every overlap between a parcel and a road. You could easily summarize this to find all parcels overlapping two or more roads using either GIS or a database. But eliminating corner lots will be more tricky. Here's one broad method:

  1. Set up topology for the buffer layer with a rule "must not intersect".

  2. Export all errors to a new feature class of intersections.

  3. Spatial join the intersections to the buffer layer, choosing "one to many".

At this point you have two tables: one with all frontages and one with all intersections between roads. It won't be easy, but you can write a SQL query that selects finds all parcels that have two frontages where those frontages do not intersect. The results would be the set of all parcels that have multiple frontages that do not intersect.

One advantage of this method is that it avoids choosing parcels with edges that are not on roads, such as where a parcel is adjacent to an alley, a water features, a railroad ROW, etc. A disadvantage is that the buffering won't be perfect, and you'll still have to visually check it for errors.

I'm not sure how to write the SQL - perhaps someone else can chime in on that.

Edit Thoughts on the SQL:

It would be fairly simple to solve for parcels with two frontages as below. Then you might need to manually look at parcels with more than two frontages, but hopefully there would be few, and most would be corner lots anyway.

This might work for selecting only non-corner parcels with two frontages:

select ParcelID from parcels
where parcelID not in (
    ((select Parcels1.parcelID, intersections.intersectionID from
     intersections left join
        (Select first(RoadID) as Road1, last(RoadID) as Road2, count(*) as frontages, ParcelID
        from Parcels
        where count(*) = 2
        group by ParcelID) as Parcels1
    on intersections.RoadID = Parcels1.Road1) as int1
inner join
    (select Parcels2.parcelID, intersections.intersectionID from
    intersections left join
        (Select first(RoadID) as Road1, last(RoadID) as Road2, count(*) as frontages, ParcelID
        from Parcels
        where count(*) = 2
        group by ParcelID) as Parcels2
    on intersections.RoadID = Parcels2.Road2) as int2
on int1.intersectionID on int2.intersectionID))

I was able to deliver results to Public Works so the staff can review it according to their criteria. Here is an outline of my final procedure.

  1. Separate street centerlines by road class into new feature classes (US & State Highway, Major City Street/City Street, Private Drive/Driveway, ignore Interstate, Ramp, Path, Cemetery)

  2. Create buffer around each road class feature class: End type FLAT, Dissolve type LIST on street name id field, buffer size depends on road class

  3. Merge the buffer feature classes

  4. Intersect the merged buffer feature class with parcel polygons

  5. Run Frequency tool on Intersect feature class with frequency field = parcel id field

  6. Export selections from Frequency table based on frequency field (ignore frequency = 1, select frequency = 2, frequency = 3, frequency = 4, frequency = 5+)

  7. Join each frequency table to parcel polygons on parcel id field -keep matching records only & export joined feature class

  8. Review each exported feature class - watch for areas where buffer didn’t cover parcels such as cul-de-sacs

frequency 5+ includes corner lots with additional back frontage or odd shapes, large lots (golf course) or corner lots with buffer artifacts, corner lots which include two corners, parcels with roads running through

frequency 4 will be corner lots

frequency 3 includes parcels abutting corner lots, large multipart parcels split by road, artifacts from cross street buffer, parcel with 3 entrance roads

frequency 2 includes parcels with frontage on two roads, but watch for corner parcels where corner parcel boundary is too far from buffer to intersect, road within a parcel, 2 entrances to parcel on same road, road changes name in front of a parcel, interstate parcels