Inspiration

With CO2 emissions on the rise, the UN agrees that we need to lower our carbon footprint by 43% by 2030. Also, the number 1 carbon emitter in a household is a household’s family vehicle. Not only this, but cities nowadays are becoming less and less accessible. Problems like pollution, congestion, and reduced parking space make it harder for people to live and visit cities. Public transportation, however, is one of the best solutions to all of these problems. Not only does it reduce an individual’s carbon footprint by up to 30%, but it also makes cities more liveable by increasing walking space, reducing pollution, freeing up roads, and interconnecting cities. It also helps bring together different parts of the city, be it restaurants, entertainment, facilities, or other small businesses. Despite this, public transportation is often hard to implement by local governments and a large factor for this is the actual city planning needed to optimize a subway system. Because of all these issues, we wanted to design a software that would create an optimized subway network.

What it does

The goal of this software is to design an optimized subway network. The user first inputs desired waypoints and important locations for the subway to be built around in an existing city. This can include restaurants, entertainment facilities, or other small businesses. Our simulation uses an Ant Colony Optimization algorithm to create a subway network. The ants move around between chosen homes within densely populated areas and move to waypoints and other homes and food sources on the map. Then, when the simulation runs, it also creates a visualization of the ants moving, the pheromones they leave behind, and a map of the population density. Eventually, they coalesce into a network connecting the waypoints and the homes. The factors regarding the ant’s expansion can also be tweaked, allowing for reiteration and different designs. In the end, the coalesced network will represent an ideal subway network in a city.

How we built it

We used React, NextJS, TypeScript, and Tailwind to create our website and algorithm. In order to get our map data, we used the Leaflet JavaScript library to get map data and locations. Then, in order to get population density, we used the Population Density Data - CAMARA - Orange Labs API to get population density.

Challenges we ran into

One of our biggest challenges was finding a good dataset of population density to use. Many of the APIs we looked at were paywalled, but we were able to find the CAMARA API after a while of searching. Creating the visualization of the ants was also a little difficult, as their paths would be very cloudy and spread out, but we eventually managed to thin their paths down into a more accessible and easy to read network.

Accomplishments that we're proud of

We are all really proud of getting down the ant colony optimization algorithm working. It was pretty difficult, especially the visualization part too. Making everything look nice took a long time and we were all pretty worn out.

What we learned

We were able to learn how to not only use the CAMARA API, but also Leaflet and other languages, things that we may not have gotten the opportunity to use if we were making a different project. I think it was fun to work with a team and our collaboration and teamwork skills improved significantly during the competition, in addition to time management skills. We also learned how to use an ant colony simulation and create a nice looking website.

What's next for trANTsit

One of our main limitations is that the free version of the population density API is limited only to the lower parts of Paris. In an earlier prototype of this Hack we did not consider population density, and were able to travel across the entire world as well as use a search for location and teleport too. Unfortunately, due to the limitations of the API, we are confined to the lower areas of Paris, but with a better dataset, we would be able to expand our project to the rest of the world.

Built With

Share this project:

Updates