I have two polygon datasets: electoral districts and postal code areas. I'm performing a spatial join to see which postal code areas are completely within a district (the area can touch the borders, but doesn't cross them; i.e. not situated in 2+ districts).

The way I see it I can do it two ways:

(1) Districts as target features, postal code areas as join features with a Contains Clementini match option

(2) Postal code areas as target features, districts as join features with a Within Clementini match option

I assume these are the same thing. Yet I have ran both and they yield different results.

Theoretically: why am I getting different results? And which way is deemed "more correct"? Thanks for your input in advance!

  • Just to confirm - Are both features polygons? – Radar Apr 8 '13 at 20:47
  • Yes, they are both polygons. For the most part, the districts are larger in area than the postal code areas (if it matters). – sidewalkballet Apr 8 '13 at 20:53
  • Also, to add: above option (1) yields 370 observations, and option (2) yields 420 (this includes all of the observations form the 370). – sidewalkballet Apr 8 '13 at 20:56

Option 2 will be more accurate. The reason you are getting different results is because you probably have a 1-to-many join in some situations.

For instance, it is possible that multiple postal code areas are completely contained within a single district.

When you join the districts to the postal code areas, you are probably getting one district joined to multiple postal code areas. On the other hand, if you join the postal code areas to the districts, you would only get the first postal code area that is found completely within the district.

  • Thanks for your answer -- there are only 312 districts. When I perform the spatial join I have Join One to Many as my spatial operation each time. Is the 1-to-many join still the issue? – sidewalkballet Apr 8 '13 at 22:12

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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