Como respuesta a un comentario voy a explicar a groso modo cómo crear una red de calles con Arcgis a partir de un shapefile de lineas de las calles de una ciudad.
Primero debes tener un shapefile de líneas con las calles de la ciudad y varios campos en su tabla de atributos como el nombre de las calles, la longitud de los tramos, y el campo "oneway", estos son los básicos para obtener la información que queremos después. Si lo que quieres calcular son rutas a pie, sin tener en cuenta las direcciones de las calles, el campo "oneway" no es necesario (Aunque también puedes crearlo y desactivarlo cuando vayas a crear una ruta), pero si por el contrario quieres calcular rutas en coche donde debes tener en cuenta las direcciones de las calles, debes crear este campo, por lo que debes ir tramo por tramo escribiendo en el campo "oneway" "ft" si la dirección de la linea coincide con la dirección de la calle, "tf" si la dirección de la línea es contraria a la dirección de la calle, dejarlo en blanco si es de doble sentido y "N" si no se puede circular por ese tramo (porque es peatonal y no pueden circular coches por ejemplo).
Una vez tengas todos los campos necesarios, en Arcgis debes ir a ArcCatalog y haciendo click derecho en el shapefile de las calles elegimos "New Network Dataset", lo primero es escribir el nombre de nuestra red y darle a "siguiente", en "Connectivity" hacemos click donde pone "End Point" y elegimos "Any Vertex" para que los puntos de conexión los hagan en todos los vértices, le damos a "OK" y "siguiente", si no tenemos campos de elevación lo dejamos en "NO" y "siguiente", en "global turns" dejamos en "YES" y "siguiente", aquí establecemos los atributos de la red, te aparecerá el atributo "oneway" por defecto ya creado porque lo hemos creado antes en la tabla, y aparece como atributo de restricción, creamos el atributo de distancia dando click en "add", en la ventana escribimos el nombre del atributo (distancia), en el tipo "cost", en unidades "metros" y en tipo de dato "double" y "OK", ahora lo configuramos, hacemos doble click en el nombre (distancia), en tipo elegimos "field" y en "value" elegimos el campo de longitud de los tramos de nuestra tabla de atributos, le damos a "OK", creamos otro atributo que es el tiempo a pie en "add", nombre "tiempo a pie", tipo "cost", unidades "minutos", y tipo de datos "double" y "OK", lo configuramos haciendo doble click en "tiempo a pie", ponemos en tipo "field" y para value le damos al icono de la derecha llamado "evaluator properties" y donde pone "Value =" escribimos la siguiente expresión ( [metros]*60)/4000 , con esta expresión determinamos que la velocidad a pie es de 4 Km/h, creamos por último el atributo de "tiempo en coche" en "Add", todo igual que para crear el atributo de "tiempo a pie" pero en el campo "Value =" escribimos la siguiente expresión ( [metros]*60)/50000 , teniendo en cuenta que en toda la ciudad la velocidad máxima del coche será de 50 Km/h, podemos añadir más atributos según nuestras necesidades.
Una vez tenemos todos los atributos aparece la ventana del nombre de las direcciones, elegimos "YES" y damos click a "Directions", en "name" hacemos click y elegimos el campo de nombre de nuestras calles para que aparezca la hoja de ruta en nuestros estudios con las direcciones a seguir, arriba podemos configurar cómo queremos que aparezcan nuestras unidades de distancia (metros), tiempo (minutos), entre otras cosas, entonces aceptamos y finalmente aparece un resumen de todos nuestros datos creados y damos a "Finish", nos pregunta a continuación si queremos construir la red, le damos a "Sí" y nos crea la red de las calles de la ciudad con la que podemos trabajar luego en Arcmap con la extensión "Network Analyst".