Use zoning of bigger portion

311
7
Jump to solution
05-09-2019 04:50 AM
Nicole_Ueberschär
Esri Regular Contributor

I wonder if there is a tool (or a couple of tools in a model) I can use to accomplish this or if I need to write a python script...

this is what I need to do: I have parcels and I have zones from a masterplan. The parcels are sometimes not completely in one zone but has for example a small share in A1 and a bigger share in Z2. I want to write Z2 (the zone of the bigger share) into my parcel layer. With Tabulate Intersection I managed to write the area per share into a table together with the UPI for example. From this table I would like to remove duplicates on the UPI while keeping the bigger area and then I could join the zone back to the parcel. But how could I identify the bigger area to be kept (automatically)?

Thanks for your thoughts!

Tags (3)
0 Kudos
1 Solution

Accepted Solutions
RichardFairhurst
MVP Honored Contributor

Using a Parcel centroid to determine the largest area is unreliable.  For example, in a Parcel that had Zoning in shapes that resembled an Archery Target of concentric rings, the zone with the largest area is not in the bulls eye in the center, but in the outer most ring.

I normally do this by using the Summary Statistics tool in the Analysis Tools->Statistics toolset.

1. I would use the Summary Statistics tool to Sum the Area field in the Statistics Fields section and add both the Parcel and Zoning fields in the Case Fields section.  This gives you the true amount of total area for each zone when the same zone occurs on separate portions of the same parcel.

2.  Then I run the Summary Statistics tool again on the output of the previous summary, and this time I get the MAX of the SUM_Shape_Area field in the Statistics Fields section and only add the Parcel field to the Case Fields section.

3.  Then you can do a join of the first summary table as the target and the second summary table as the join table on the PARCEL field.  In Model Builder you would first have to use the Make Table View tool in the Data Management Tools->Layers and Table Views toolset on the first summary table, then use the Add Join tool in the Data Management Tools->Joins toolset.

4.  Select the records where the SUM_Shape_Area field is equal to or greater than the MAX_SUM_Shape_Area field using the Select Layer By Attribute tool in the Data Management Tools->Layers and Table Views toolset.

5. Use the Remove Join tool Data Management Tools->Joins toolset to break the Join you created in step 3.

6. Export those records to a new table so it only contains the one record with Zoning that had the greatest area for each Parcel.  You could use the Copy Rows tool in the Data Management Tools->Tables toolset.

7.  Join the original parcel and zoning layer (or just your parcel layer if it had a Zoning field you could calculate) as the target and the exported table as the join table on the Parcel field.  In Model Builder you would first have to use the Make Feature Layer tool in the Data Management Tools->Layers and Table Views toolset on the feature class with the intersected parcels and zoning and then use the Add Join tool in the Data Management Tools->Joins toolset.

8.  Use the Calculate Field tool in the Data Management Tools->Fields toolset to calculate the Zoning in your layer from the exported table.

9.  Use the Remove Join tool Data Management Tools->Joins toolset to break the Join you created in step 7.

10.  If you used the layer with parcels and zoning intersected as the target in step 7, you should use the Dissolve tool in the Data Management Tools->Generalization toolset on that layer with the Parcel and Zoning fields checked in the Dissolve Fields section to create a single shape for each Parcel that will have the Zoning that covered the largest area in that parcel.

View solution in original post

7 Replies
JimCousins
MVP Regular Contributor

Perhaps using the spatial join tool will provide you with what you need? You could use the "centroid within" option, and it should return the larger portion for you. I don't know how to implement in model builder, as I use arcpy for my geoprocessing, but there should be a way.

Regards,

Jim

0 Kudos
RichardFairhurst
MVP Honored Contributor

Using a Parcel centroid to determine the largest area is unreliable.  For example, in a Parcel that had Zoning in shapes that resembled an Archery Target of concentric rings, the zone with the largest area is not in the bulls eye in the center, but in the outer most ring.

I normally do this by using the Summary Statistics tool in the Analysis Tools->Statistics toolset.

1. I would use the Summary Statistics tool to Sum the Area field in the Statistics Fields section and add both the Parcel and Zoning fields in the Case Fields section.  This gives you the true amount of total area for each zone when the same zone occurs on separate portions of the same parcel.

2.  Then I run the Summary Statistics tool again on the output of the previous summary, and this time I get the MAX of the SUM_Shape_Area field in the Statistics Fields section and only add the Parcel field to the Case Fields section.

3.  Then you can do a join of the first summary table as the target and the second summary table as the join table on the PARCEL field.  In Model Builder you would first have to use the Make Table View tool in the Data Management Tools->Layers and Table Views toolset on the first summary table, then use the Add Join tool in the Data Management Tools->Joins toolset.

4.  Select the records where the SUM_Shape_Area field is equal to or greater than the MAX_SUM_Shape_Area field using the Select Layer By Attribute tool in the Data Management Tools->Layers and Table Views toolset.

5. Use the Remove Join tool Data Management Tools->Joins toolset to break the Join you created in step 3.

6. Export those records to a new table so it only contains the one record with Zoning that had the greatest area for each Parcel.  You could use the Copy Rows tool in the Data Management Tools->Tables toolset.

7.  Join the original parcel and zoning layer (or just your parcel layer if it had a Zoning field you could calculate) as the target and the exported table as the join table on the Parcel field.  In Model Builder you would first have to use the Make Feature Layer tool in the Data Management Tools->Layers and Table Views toolset on the feature class with the intersected parcels and zoning and then use the Add Join tool in the Data Management Tools->Joins toolset.

8.  Use the Calculate Field tool in the Data Management Tools->Fields toolset to calculate the Zoning in your layer from the exported table.

9.  Use the Remove Join tool Data Management Tools->Joins toolset to break the Join you created in step 7.

10.  If you used the layer with parcels and zoning intersected as the target in step 7, you should use the Dissolve tool in the Data Management Tools->Generalization toolset on that layer with the Parcel and Zoning fields checked in the Dissolve Fields section to create a single shape for each Parcel that will have the Zoning that covered the largest area in that parcel.

Nicole_Ueberschär
Esri Regular Contributor

Thank you so much Richard! I used the Join Field tool instead of the Add join that saves me from "unjoining" and calculating the field. You made my day 🙂

0 Kudos
JimCousins
MVP Regular Contributor

Interesting Richard, as I had not considered that. However, I doubt that parcels or zoning delineations are concentric rings.

Regards,

Jim

0 Kudos
RichardFairhurst
MVP Honored Contributor

There are a lot more real world zoning configurations where the largest zone is not in the center than you may realize, such as with natural feature zoning where a thin band of a water course zone happens to go through the exact center of a parcel, but overall that zone covers just a small portion of the parcel.  Or in oddly shaped parcels like flag lots where the centroid does not fall in the parcel itself and the label point may be in the driveway, not in the heart of the parcel.  The archery target example was just easy to describe and visualize as a situation where the centroid is not the best place to find the largest area.  In any case, my method works regardless of how the zones are laid out in the parcel.

MichaelVolz
Esteemed Contributor

What happens if you have a parcel where you have computed the zone of the largest area and then the parcel gets subdivided so the largest zone changes?  Is this computed field supposed to be a snapshot of the zone on a defined date or is this field supposed to be live (maybe updated monthly or annually for example)?

0 Kudos
Nicole_Ueberschär
Esri Regular Contributor

The zoning is persistend, Parcels could change but then the tool would be run again - that's why I want to have it as a model. 

0 Kudos