Spatial Join - One to Many - Need all duplicate records as individual line segments

1855
6
04-09-2010 03:31 PM
sarahbergquist
New Contributor
I am trying to spatially join address point to tiger line files.  I have tried using the spatial join tool with the setting of 'closest' to 50 feet of the road segment and the 'one to many' join operation.  My result is all of the roads that are within a distance of the points but only one record for each road is created. Basically I need to have multiple road segments on top of each other containing all of the original attribute data of the address layer.

If anyone has any ideas, I would really appreciate it.

Thanks,
Sarah
0 Kudos
6 Replies
EduardoLópez_Gómez
New Contributor II
Hi,

Make query table tool is able to perform this operation.

Regards,
0 Kudos
NobbirAhmed
Esri Regular Contributor
... setting of 'closest' to 50 feet of the road .... but only one record for each road is created.


Closest always returns the closest, that is one, record. You can try using INTERSECT with a search radius.
0 Kudos
BinodAdhikari
New Contributor
If Closest always returns the closest then what's the point of One to Many relationship?
0 Kudos
NobbirAhmed
Esri Regular Contributor
No purpose - even one to many is specified the tool will produce 1 record per match.
0 Kudos
RichardFairhurst
MVP Honored Contributor
Closest always returns the closest, that is one, record. You can try using INTERSECT with a search radius.


This is what I do most often with Spatial Join and it works correctly to produce as many records as necessary to account for all matches within the specified radius.
0 Kudos
RichardFairhurst
MVP Honored Contributor
If Closest always returns the closest then what's the point of One to Many relationship?


Its purpose is for Intersect primarily, where multiple records are created.  Even with one-to-one and Intersect summaries of multiple records are produced rather than choosing a single record from the possible matches.  The tool works with groups the way you would expect.  If you had a group of individuals of different heights and I asked you for the height of the tallest you would report only one height value even if multiple people were that same height and at least one person in the group actually had to be that height.  If I asked for the average height of the group you would give me one value regardless of the number of individuals in the group and whether that height matched any specific individual or not (intersect-one-to-one) and if I asked for the list of heights you would give me a list (intersect-one-to-many).  The fact that one tool can be configured to answer each of these questions is actually very elegant.

If I asked you for the list of the tallest in a group (closest-one-to-many) and did not specify a range of tallness you would normally produce a list of the tallest person in each group.  Technically you should list all individuals of a group that had the exact same height and were the tallest in the group, but it rarely happens in small groups (especially if the precision of the height measurements was extremely high).
0 Kudos