Inspiration

Our inspiration came from trying to get users to engage with spaces designed for public use and provide a scenic view that users can appreciate.

What it does

Our app utilizes datasets of points of interest from NYC to find and display routes to users that allow them to smell the roses and take the road less taken.

How we built it

We fetched to datasets from NYC Open Data using Flask and transformed the response into GeoJSON format. We used Leaflet to display an interactive map and then overlayed a heat map on top of it based on the points we fetched. We then used Graphhopper to implement the routing functionality and calculate alternative routes that would take users near points of interests.

Challenges we ran into

Figuring out how to parse the large amounts of data properly and how to format it best for simpler use on the front end. The Graphhopper library we used also contained outdated dependencies which meant we had to rewrite parts of the library ourselves, since otherwise routing sometimes led to the route appearing out of bounds of the map.

Accomplishments that we're proud of

Our app is functional and generates accurate routes from any two inputted points and also displays a heat map of points of interest that correspond to the ones given by NYC Open Data. We were also able to fix the out of bounds routing issue by rewriting parts of the library.

What we learned

We learned how to use REST APIs to fetch and retrieve online data. We learned how to use a Flask backend to parse JSON responses and turn them into GeoJSON formats. We were exposed to various mapping and routing libraries such as Leaflet, Graphhopper, and OpenStreetMap.

What's next for Odyssey NYC

Continued development in customizations (such and optimizing for possible bike paths, depending on the reliability and number of bike lane data).

Share this project:

Updates