Intersection Question : Combine multiple points to a single point with multiple fields

3835
4
Jump to solution
09-02-2014 12:52 PM
BrianO_keefe
Occasional Contributor III

I'm wondering if anyone else has already dealt with something like this and maybe has a simple walkthrough or workaround.

 

I have an Intersection MXD.

It has a Streets file where all the streets were dissolved (to combine the street names).

I created the Intersection points and now at each intersection I have multiple points.

 

For instance, at the Intersection of Admiral and Main I have 2 points.

Point 1 : StreetName = Admiral

Point 2 : StreetName = Main

 

I need to get these multiple points into a single point for each intersection.

For each point I need to have both street names as separate fields.

Point 1 : Field1 = Admiral

Point 1 : Field2 = Main

 

I have been playing with Spatial Join and coming up blank...

Anyone done anything like this before?

 

I feel like the answer is probably very simple and I'm just overlooking the obvious... but I'm unable to think outside of this box.

Tags (1)
0 Kudos
1 Solution

Accepted Solutions
BrianO_keefe
Occasional Contributor III

Darren Wiens wrote:

Hmmm it works for me.

Imagine I have only two points A and B that are coincident.

Run Spatial Join using the points as both Target and Join features, and JOIN_ONE_TO_MANY as the join operation.

You now have 4 points, with all of the columns from the Target feature (including a column for street name) and all of the columns from the Join features (including its street name). The four features are: A joined to A, A joined to B, B joined to A, and B joined to B. Only one of these will have a Target_FID greater than Join_FID. This is the only point you want to keep (i.e. select all of the points with Target_FID < Join_FID, and delete them). You now have one feature with two fields, each with a street name.

Apparently 'branching' doesn't copy a post to a new thread but instead MOVES it.

I'm copying-and-pasting this post so I can set it as the CORRECT ANSWER to my original question... again!

View solution in original post

0 Kudos
4 Replies
DarrenWiens2
MVP Honored Contributor

Not sure if this works in all cases, but using your intersection points as both the target and join features (Spatial Join) should result in all combinations of coincident points, including self-intersections, plus all attributes of both (including the original FID of each).

So, for each pair of intersecting points (A and B), you have:

A | A

A | B

B | A

B | B

You are interested in either A | B or B | A, so either select all points where A(FID) > B{FID) or B(FID) > A(FID), and delete the rest.

BrianO_keefe
Occasional Contributor III

I was actually doing that and getting very odd results.

I would create a new field... map it to the street name field from the input dataset...

I would create another new field... also map it to the street name field... same data set...

But I would set the type of connection as a JOIN and I set the delimiter to ' and '...

and I would do this about a total of 4 times...

and I would get...

A

A and B

A and A and B

A and A and A and B

I need it to return 1 feature with 2 fields...

A

B

frustrated.

0 Kudos
BrianO_keefe
Occasional Contributor III

I thought that by branching your reply that had the answer I would start a new thread with a COPY of your answer as the beginning of that thread. INSTEAD it MOVED your reply here as it's own thread...

So frustrating.

0 Kudos
BrianO_keefe
Occasional Contributor III

Darren Wiens wrote:

Hmmm it works for me.

Imagine I have only two points A and B that are coincident.

Run Spatial Join using the points as both Target and Join features, and JOIN_ONE_TO_MANY as the join operation.

You now have 4 points, with all of the columns from the Target feature (including a column for street name) and all of the columns from the Join features (including its street name). The four features are: A joined to A, A joined to B, B joined to A, and B joined to B. Only one of these will have a Target_FID greater than Join_FID. This is the only point you want to keep (i.e. select all of the points with Target_FID < Join_FID, and delete them). You now have one feature with two fields, each with a street name.

Apparently 'branching' doesn't copy a post to a new thread but instead MOVES it.

I'm copying-and-pasting this post so I can set it as the CORRECT ANSWER to my original question... again!

0 Kudos