Inspiration

We wanted to find a link between gaming and data visualization. While we were looking for data sets we came across NASA's NEO API

What it does

Uses NASA's NEO API provide an intractable 3D interface to learn about the Near Earth Object's (NEO)'s from the past and future. Are they hazardous? Heading directly for Earth and bound to end it all? Are they just cruising past on their orbit around Mars or Jupiter? How big is it? How fast is it going?

How we built it

The interface and visualization is made using C# Unity, built into WebGL. We used Google Cloud Functions and Job Scheduler to harvest the data from NASA overnight, populating a DataStore.

Challenges we ran into

We didn't forsee that the Google Cloud API package for C# would be incompatible with Unity. We worked all night to get the cloud solution to data harvesting and storage working, only to realize that our 20,000+ datapoints could not be accessed from our Unity client. We instead just made requests directly to the NASA REST API from the Client, which is not ideal, since NASA has strict throttling policies. Under heavy traffic, the site would not be able to adequately fetch data. However, using our Cloud solution, we would have been fine.

Our backup plan was to export the Datastore to json and host on Cloud Storage, but we then found that the export from Datastore was in binary, and ran out of time trying to convert to son format.

Accomplishments that I'm proud of

What we learned

How C# and Unity package manager work. Visual effects with Unity How to use C# to make REST API requests. How to use Python on Cloud Functions (with Datastore) to harvest data on a chron job.

Research your solution all the way through before implementing.

What's next for conuhacks-2019

Get the site deployed and hooked up to a solid database. Harvest orbital data to accurately map asteroid NEO trajectories.

Built With

Share this project:

Updates