I want to perform shortest-path analysis on a network whose edges represent real-world roads and whose nodes are buildings or other locations.
I have the shapefile for the area I'm interested in.
How can I represent the shapefile data as a network? I have the NetworkX package for performing analysis in Python, but I don't actually know how to create the network in the first place.
I'm using Grass GIS and don't have access to ArcGIS.
EDIT: I should add that this is my first experience with anything GIS-related whatsoever.