Property setbacks - identify front

1827
2
11-15-2020 01:43 PM
Labels (1)
PollyDaugherty1
New Contributor

Is there a way to identify the "front" of a parcel based on the address and then offset that by a certain distance?   For example, the properties in the image in pink all have addresses for the main road (Center Street) but the properties circled in red have their addresses to the side street.  I want to be able to use a tool that will provide a polygon that will identify the area of the setback based on the address.  Any ideas?

 

PollyDaugherty1_0-1605476438275.png

 

0 Kudos
2 Replies
jcarlson
MVP Esteemed Contributor

There are probably a number of ways to do this, depending on the specifics of the data, how they're stored, &c.

The method that first comes to mind is a well-constructed query layer, but this assumes that your parcels and centerlines both reside in the same database. In a postgres DB, it might look something like this:

 

SELECT
    ST_ShortestLine(p.shape, c.shape) line,
    MIN(ST_Distance(p.shape, c.shape)) dist,
    p.parcel_number
FROM parcels p
JOIN centerlines c on p.streetname = c.streetname
GROUP BY p.parcel_number

 

You may have to do some tweaking if your attributes aren't exactly alike, and this will vary depending on the SQL database your data is in (if it is in a database, that is).

The output would look something like the image attached to this reply.

Also note that instead of ST_ShortestLine, you could also use ST_ClosestPoint, to get the point on the parcel boundary closest to the associated street, but I find the lines make it clearer. Of course, that only shows you the "front" portion.

As for setbacks, the earlier query already gave us a rough distance to centerline value, so we could adjust the query like so:

SELECT
    MIN(ST_Distance(p.shape, c.shape)) dist,
    ST_Intersection(p.shape, ST_Buffer(c.shape, ST_Distance(p.shape, c.shape) + p.setback)) setback,
    p.parcel_number
FROM parcels p
JOIN centerlines c on p.streetname = c.streetname
GROUP BY p.parcel_number

Doing this, we take the closest centerline, buffer it out by the distance to the parcel, plus the setback distance for that parcel, and return only that portion which intersects with the parcel itself. You can even at an ST_Area() to the query to include the area as an attribute if you like.

The result of this second query is also attached as an image.

I really like using query layers whenever possible for things like this, because the resulting layer is dynamic. You can continue to edit and modify the parcel and centerline layers, and the query layer output will always be based on the current features.

- Josh Carlson
Kendall County GIS
Tags (1)
0 Kudos
wisbenoit01
New Contributor

Thank you for posting on this! I am trying to accomplish virtually the same this as the OP, but am an intermediate beginner and trying to see if I can do something like this. My goal is to calculate setbacks on parcels lots in a neighborhood I'm trying to analyze to begin to see if they have enough space for an accessory dwelling unit/mother in-law suite. 

Do you think this same approach would more or less work?

 

Thank you for your time!

0 Kudos