I need to move a large number of points (street addresses) into the largest polygon (a building, usually a house) within another polygon (taxlot). The idea here is to put an address point into a house, not a garage or other outbuilding. Its easy enough to use snap to put it into a building but it needs to be the right one and size seems to be the only option. Shape_area has been calculated for each building.

How would I go about doing this? The solutions I've tried wind up putting some points into smaller buildings.

License type = Advanced

  • Can you edit your question to include a sample map image illustrating your data? Do the three feature classes (points, buildings, parcels) have any key fields in common?
    – Andy
    Aug 29, 2018 at 18:22

1 Answer 1


I had this question before and I found a great solution to solve it. In your case I would first filter your building polygons so you are only dealing with the largest building on a parcel.

To filter out the largest building on a parcel:

  1. Do a spatial join between the parcels and the buildings in order to get the parcel number associated with each building (buildings_parcels_JOIN). Save this new layer in a Personal Geodatabase.
  2. With your new building layer (building_parcels_JOIN) apply the following definition query to get a subset of only the largest building on a parcel:

Shape_Area in (select max(Shape_Area) from building_parcels_JOIN group by APN)
Replace APN with whatever your parcel number field is named

Now you can go ahead and join your address points to the buildings_parcels_JOIN layer by creating building centroids and spatially joining them to your existing address points.

Check this link out for more explanation: https://community.esri.com/thread/16118

  • Thank you so much for all of this! I actually read that thread before but thought it didn't apply to me because it was so old. I should know better! The problem I'm having now is that apparently you are very serious about using a personal geodatabase, not a file geodatabase. Both my building and parcel sets are over half a million records so performance is horrific and I'm not even sure if it worked frankly. Would you happen to know of a way to work around this? Again, thanks!
    – Tom M.
    Aug 31, 2018 at 16:24
  • Answering my own question, with the definition query in place export it to a file geodatabase. Perhaps it will be done by the time I come back on Tuesday!
    – Tom M.
    Aug 31, 2018 at 19:49
  • The definition query will only run in a Personal Geodatabase, no way around this. 500k records should still run fine depending on your system. And yes once you've applied the query on your buildings you can export it to whatever file type you want. The Personal Geodatabase only needs to be used for the definition query to filter out the largest building on the parcel.
    – cbunn
    Sep 4, 2018 at 15:51
  • If this worked please mark it as the answer for people trying to solve the same problem in the future.
    – cbunn
    Sep 5, 2018 at 13:22
  • Finally been able to finish this up. The only difference I had was that I did a non-spatial join between the buildings/taxlot layer and the building centroids using the addresses. Thanks again!
    – Tom M.
    Sep 5, 2018 at 22:50

Your Answer

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

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