Augmented Reality iOS App to Show Real Time Satellites in the Sky Above You
Satellites have a huge impact on our day to day lives- from google maps, to telecommunications, and weather. However, aside from these couple obvious uses, there are 2,218 satellites (as of December 16, 2019) above us doing incredible things, and most people have no idea!
This app is targeted primarily at education- both for adults and children. Satellites have a significant role to play in scientific development, and it is important to educate the public to encourage broad support for government investment in space technology and innovation. For example, global warming is an existential threat facing the world today, yet a large proportion of the global population is not convinced about the scale of the problem. Funding scientific research to track the rate of global warming, in addition to early warning and tracking of natural disasters like forest fires is essential. Getting people of all ages excited about science and technology is an excellent way to promote critical thinking, encourage more people to move into STEM, and instil trust in why scientific process works.
Some cool things satellites are doing right now:
- Chandra X-Ray Observatory (CXO), owned by the USA, doing x-ray astronomy.
- Eu:CROPIS (Euglena and Combined Regenerative Organic-Food Production in Space), owned by Germany, two greenhouses for experimental growth of food in space, or Mars/Moon.
- Greenhouse Gases Observing Satellite (Ibuki, GoSAT), owned by Japan, observes the concentration and distribution of greenhouse gases across most of the Earth's surface.
We used Swift and ARKit to work with Augmented Reality in iOS.
We also created a backend server to handle fetching, cleaning, and calculations with the satellite data. The server with built in Node.js with Express, and we used a Postgres database.
We used several open source datasets to retrieve the real time satellite information. NASA has a publicly available API to fetch location, trajectory, and other data about satellites, which can be found at NasaGov.
Working with ARKit and Swift was incredibly difficult, because none of the team members had worked with either of these technologies before this hackathon. Figuring out how to correctly place the satellite images on the screen was the biggest technological hurdle to overcome. The satellite has coordinate information of latitude, longitude, and altitude, which needed to be translated to an x, y, z coordinate view for a screen. The satellites change as you view different compass directions, so they are actually placed in an approximate real world location, with a modal of a dome hemisphere above the user so lay out the points.