A tool to create ONE point at the point of intersection of lines,

7853
15
Jump to solution
07-22-2014 03:46 PM
JamalNUMAN
Legendary Contributor

A tool to create ONE point at the point of intersection of lines,

I’m wondering if there is a tool that can create ONE single point at the intersection of lines.

Clip_61.jpg

Thank you

Best

Jamal

----------------------------------------
Jamal Numan
Geomolg Geoportal for Spatial Information
Ramallah, West Bank, Palestine
0 Kudos
15 Replies
DanLee
by Esri Regular Contributor
Esri Regular Contributor

You can try this:

- Run Intersect tool on a polyline feature class itself; specify POINT as Output Type. This will give you duplicated points at intersections only (not dangles).

- Run Delete Identical tool on the points, specify SHAPE field. Now you should have ONE point at each intersection.

RichardFairhurst
MVP Honored Contributor

The methods that rely on intersect and delete duplicate processes do nothing to distinguish pseudo-nodes from true intersections based on a attribute.  In other words if two lines with the same street name connect there will be a point at that location, just like if two or more different street names connected at that location.  But from my perspective if only one street name exists where these points are created, then it is not an intersection, it is a pseudo node.  The intersect and delete identical process will leave pseudo node points mixed with true intersections and not provide any way to separate the two.

The script I have created deals with all line end points, and classifies them to distinguish the four main classes of points (true intersections, cul-de-sacs/stubs, pseudo-nodes, and branches). It retains all of the name attributes of the lines that made it up so that the cross-streets of each intersection can be searched.  True intersections are only useful to me if I can use them to search for the street names that connect at the intersection or evaluate the connectivity configuration at the intersection, since I use them primarily for search tools and street name/network topology clean up.  I rarely actually display them on a map.

On the other hand, the cul-de-sacs/stubs layers is very valuable for road network map display purposes.  I integrate my script into an additional script process that maintains a cul-de-sac/stub layer that has another field that further classifies these points to distinguish true cul-de-sacs from stubs/topological errors.  It also inherits a maintenance status from the line it terminates.  I use those points to display cul-de-sac bulb symbols on my maps.

An example of how the cul-de-sac layer can be displayed is on this page of the maintained road book‌ my jurisdiction maintains.  If a road line terminates with a black dot it is a maintained cul-de-sac.  If a road terminates with an open circle it is a public road cul-de-sac that is not maintained.  If a single road line terminates with nothing at the end it is a stub.  The extraction of cul-de-sacs/stubs is only possible when every end point of the network is analyzed, like my script does.  The additional script processes I have developed preserve the additional cul-de-sac/stub classification field and update the maintenance status of the points from the lines weekly so that I only have to examine and classify new points each week.

0 Kudos
JamalNUMAN
Legendary Contributor

Thank you very much Dan for the very useful input. I can live with this solution.

My thanks also extended to Richard and the issues he has highlighted.

Clip_721.jpg

----------------------------------------
Jamal Numan
Geomolg Geoportal for Spatial Information
Ramallah, West Bank, Palestine
0 Kudos
DanLee
by Esri Regular Contributor
Esri Regular Contributor

You are very welcome, Jamal. I am glad you can use the solution.

Best of luck with your project.

0 Kudos
DanLee
by Esri Regular Contributor
Esri Regular Contributor

I appreciate Richard's comprehensive solution and discussion. You are right the method I posted will produce a point at a pseudo node, which may or may not be useful. It may serve some simple purposes just fine. If necessary you can easily find the joining line counts at the points by Spatial Join tool.

0 Kudos
RichardFairhurst
MVP Honored Contributor

I agree that the tools suggested are potentially useful and can get unique points and counts, but the Delete Identical tool limits that method to only those users with an Advanced license.  My script works for all license levels.

I built a model with the tools suggested and ran it on my test data.  I had to additionally run the Delete Fields tool on the Intersect tool's point output name field to be able to use the Join Rule with a delimiter on the name field I wanted from the Centerlines in the Spatial Join tool.  The model took a minimum of 9 minutes and 20 seconds to run on my test data (3 minutes and 38 seconds for Intersect, 3 minutes and 27 seconds for Delete Identical, 15 seconds for the Delete Field tool, and 2 minute and 0 seconds for Spatial Join).

My script consistently takes 2 minutes and 15 seconds or less to get me the final product I want and provides me with the cul-de-sac/stubs I also want.  In that time it additionally creates X and Y coordinate fields and an XY concatenation join field that I find useful.

Spatial Join can produce a joined name list, but it does not make the name list unique or sorted or tell me how many of each name there are at the point without a specialized script that would do further manipulation.  My script does it up front.  My script output allows me to find every "True Intersection with Branching" if I want to validate the locations that have three or more lines with the same name, but that also intersect with other names.  I also do not want intersections formed at Interchanges, so I do not intersect those lines in my network.  The model will place intersections where the ramps cross whether I like it or not, but my script won't unless I create the line splits.

0 Kudos