7

I am working with polylines (roads) in ArcGIS and I was wondering if there is a possibility to somehow show intersections as well as connecting parts of all the different road-segments.

Also, would it be possible to present these results visually (e.g. Points on each connection/intersection) as well as in table form (“which road has how many connections/intersections” or "which road intersects/connects with which road)?

I found a few similar questions, however the answers were not providing me with usable information. As I am quite new to ArcGIS and am starting to get frustrated finding a way to do this.

Could the Network Analyst tool be the solution for this?

2
  • do you have network analyst extension ?
    – radouxju
    Aug 26, 2015 at 10:05
  • Yes, I have the network analyst extension
    – user57256
    Aug 26, 2015 at 10:20

1 Answer 1

4

I would suggest two approaches:

1. You use Network Analyst to build a network dataset (ND) from your raw street feature class. Choosing the "Any Vertex" connectivity would create a junction point feature at each street intersection which you can export and use just like any other point feature class in ArcGIS.

Start with this tutorial, the best getting started guide ever imo and then go through the ND building part of the ArcTutor.

You can use the Network Identify Tool to click on the network edges (after adding the ND into the ArcMap session) and this will tell you what other network edges connect to the edge you clicked on (ie adjacent edges). However, there are no ways to build reports on number of connections in an automated fashion (building connectivity matrix in terms of graph theory). You would need to use arcpy for working with the geometries of street feature class for that; ND connectivity matrix is not exposed for the users though.

2. You use pure Python library for building the graph and finding the connectivity matrix yourself. networkx is the one I usually use; it's the best library I've used so far. This can import the shapefile directly and build the graph for you. You can do with this graph almost anything you could possibly need. An alternative would be to use arcpy to build the connectivity matrix / list with arcpy (using the lines' end/start vertices) and then feed this into the networkx.

Go for the alt.1 if you need a way to visualize your ND and interrogate it in ArcMap as a GIS analyst; go for the alt.2 if you feel that you will need to generate many reports processing the whole network (be aware that you would need to learn Python and networkx).

0

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.