Inspiration

When I first arrived in Ingolstadt I had to take the bus to get from one spot to the other. This turned out to be a big challenge since I first had to decrypt the bus map, find my street, download the app and do a whole lot of other mental gymnastics to find where I needed to go. Due to frustration, I decided to buy a bike and just ride my bike to where I need to go to instead of figuring out the bus routes. I believe this dilemma could be solved a lot easier because people look for places and directions and not bus stops.

What it does

Essentially, bus lines and train lines are static information. We know when a bus arrives and where, when it's late and where the bus stops are. We can take this data and display it on a Map by tracking - or computing - the estimate positions of the buses. By adding the bus routes on the map, our location and the destination we want to go to, it is self-explanatory which bus one has to take and when. Just like using a GPS system in the car. Mapping this information onto maps, instead of on a generic "Fahrtplan" enables anyone to find out the route themselves without cross referencing multiple sources of information (time tables, location of bus stops, the maps, etc.). The added benefit of having a living map is that we can add a whole lot of other time-sensitive information, like special offers, current events and other things that again, are reachable by bus which favors the visibility of local businesses and events.

How I built it

I parsed the bus stations informations and the bus time tables and stored the information into a PostGIS database (Postgres + GIS plugin) and computed the real routes and not the "Fluglinien". This is then exposed as a read only API that I can query from the frontend to get the bus positions at any time. Obviously, this is not yet a pub/sub architecture due to the time constraints of the hackathon but it does the job. Then, I mapped this information on the leaflet.js page and added special markers and events to show how this "live digital twin" of Ingolstadt can be at the same time useful and monetizable. I also played around with Blender to get some of the 3D models like I wanted them but this was more just exploring around.

Challenges I ran into

It was complicated to parse the bus stations since there is no open api to get that information. Second, I had to work with Javascript (i'm a backend dude) which is not always straightforward for me. As a single person team it was also difficult to do all the things at once. It felt like juggling back and forth and losing my focus at some point in the process. So all in all I managed to implement one bus route with live updates. Since the demo is Sunday, I had to display just one bus and one line.

Accomplishments that I'm proud of

Well the map is live and I can say that now I would know how to get from A to B and even C using the bus network. I didn't get it yet with cute visuals and low-poly models (which I really wasted hours to do) but it's functional. Definitely not proud of the code, it's such noodle salad...

What I learned

Working with 3D and mapping information in the browser, lat long interpolation is a difficult wild beast :$

What's next for A live map of Ingolstadt

Well the interesting fact ist that the system is pretty generic. It can be used in other cities as well: plug in your bus stations, the routes in standardized GeoJSON format and bam you have a live map. You can then add custom markers (like geolocalised advertisements and events) to see things in geographical context. E.g: Ouh there is currently an event in Gaimersheim and another one in Friedrichshofen, how could I attend both using the bus system? Using a map and this sort of mapping you don't search for things ("google search: current events in ingolstadt") but you find things ("oh there's a cool thing in this spot, let's have a look"). This is especially helpful if you are new to the city and you are not yet in every fancy telegram, whatsapp or facebook group :)

Share this project:

Updates

Submission history