Tras la generación del escenario basado en la cuadrícula manhattan, el siguiente paso es recrear un mapa de carreteras real, basado en una zona urbana, con diversidad de intersecciones, rotondas, giros, curvas y demás componentes que podemos encontrar al circular por cualquier ciudad con nuestro vehículo.
Para ello, nos aproximaremos, a vista de satélite, hasta el campus externo de la Universidad de Alcalá, para fijarnos en sus calles, y barrios anexos.
De nuevo, como comentamos a la hora de realizar la definición del archivo de red para la rejilla manhattan, podríamos, armados de tiempo y paciencia, realizar la descripción de la red nodo a nodo, conectándolos entre sí, definiendo cada uno de los carriles, curvas y rotondas.
Y, de nuevo, volvemos a recurrir a una serie de herramientas que nos facilitan este proceso.
Para ello, lo primero que debemos hacer es localizar el escenario que deseamos describir en el navegador de mapas open source por excelencia, Open Street Map.
Open Street Map, (también conocido como OSM), es un proyecto colaborativo para crear mapas libres y editables, un concepto muy próximo a Wikipedia.
Una de las ventajas de Open Street Map es que, libre de derechos, podemos extraer los metadatos asociados a una zona geográfica y trabajar libremente con ellos. Así pues, una vez en el navegador openstreetmap (http://www.openstreetmap.org), en la sección “exportar”, basta con seleccionar la opción “Datos formato OpenStreetMap XML”, “seleccionar a mano otro área” (si no deseamos exportar toda la ventana) y confirmar. Inmediatamente comenzará la descarga del archivo .xml que contiene la descripción de dicha zona.
El siguiente paso es convertir dicho archivo a un archivo de red (*.net.xml) válido para SUMO. Para ello, utilizaremos de nuevo la herramienta NETCONVERT, de la siguiente forma:
netconvert --osm-files alcala.osm.xml -o alcala.net.xml
El resultado es el archivo de red que utilizaremos para trabajar con SUMO.
En este punto volvemos a encontrarnos con una descripción de vías compleja, con multitud de intersecciones y carriles, pero sin un archivo de rutas que defina el comportamiento de cada vehículo. Basta con volver unas líneas atrás y comprobar que debemos proceder de la misma forma que con el archivo de red de manhattan.
Definimos un archivo de flujo que defina el número de vehículos que pondremos en escena, y desde un punto de partida (“alcala.flows.xml”):
<flowdefs>
<flow id="flow0" from="-50170608#0" begin="0" end="100" no="25" />
</flowdefs>
Y un archivo de configuración para la herramienta JTRROUTER (“alcala.jtr.cfg”):
<configuration>
<input
net-file="alcala.net.xml"
flow-definition="alcala.flows.xml"
/>
<output
output-file="alcala.rou.xml"
/>
<processing
continue-on-unbuild="true"
turn-defaults="25,25,25,25"
sinks="-50170573"
/>
</configuration>
Finalmente, utilizando JTRROUTER, obtendremos el archivo de rutas que necesitamos para generar la simulación sobre este escenario:
jtrrouter -c alcala.jtr.cfg






