Shotest path between any two nodes in the graph

1 view (last 30 days)
Hello everyone, I'm new to matlab. My doubt is that I have data which consists of nodes(road network data) that i created in the Arcmap. Now my question is that will I be able to import that data and find the distance(shortest distance) between any two nodes by using any of the algorithms like(kruskal,dijkstra's,prim's.....) If it can be done can anyone please help me to sort out the same.

Answers (3)

Steven Lord
Steven Lord on 22 Feb 2019
See the graph and network algorithms functionality included in MATLAB. The shortestpath, shortestpathtree, and/or distances functions may be of use to you.

Christine Tobler
Christine Tobler on 22 Feb 2019
To read data from Arcmap, you would probably need to use the Mapping Toolbox (for example shaperead). To use the shortest path algorithm provided by the graph class, you would need to construct a graph object from this data, with each edge containing the length of the path between two nodes.
  1 Comment
Rama Sidhardha Yeleti
Rama Sidhardha Yeleti on 25 Feb 2019
Edited: Rama Sidhardha Yeleti on 26 Feb 2019
Thanks Christine Tobler for your answer and will I be able to import arc files(.mxd files)into matlab?(means can you please tell the command for the importing the .mxd files)

Sign in to comment.


Keegan Carvalho
Keegan Carvalho on 2 Mar 2019
Edited: Keegan Carvalho on 2 Mar 2019
If I may, I have worked with ArcGIS and I don't think you can import .mxd files in Matlab. To the best of my knowledge, you can import geotiffs and shapefiles.
Regarding the shortest path objective, if you can get your data as matrices, then you could create digraphs and carry out your analysis. Some links:
You may try exporting your shapefile attribute into a csv file and then import in Matllab.
Hope this helps!

Categories

Find more on Networks in Help Center and File Exchange

Products


Release

R2018a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!