Redlands, CA is home to our beloved Esri and its community. But it is also home to some of the worst air quality in the country:
“The Inland Empire has long had notoriously poor air quality because natural air currents bring gaseous pollutants and particulate matter from the Los Angeles area while the warehousing and logistics boom has potentially increased emissions from diesel trucks and trains.”
UC Riverside scientists studying the area have found that declining air quality of the Inland Empire is affecting socioeconomic classes disproportionately, and even found a direct correlation between Covid-19 death percentages and the risk factor of Inland Empire’s most dangerous air quality levels.^1
Beyond the Inland Empire, it would be advantageous for everyone in California to be able to identify their own air quality situation. Our product aims to increase awareness about the particulate matter and ozone levels in the air at any current moment. This app will empower users to see what others can’t by gaining an understanding of the particles they are breathing in.
What it does
Our Android app was designed to display 3D visualizations of the pollutants through the user’s camera. The UI on the main page of the app shows the user their location's current AQI value in the bottom right, along with a slider that shows the key color to better identify their pollution level. It also shows buttons to each different page in the bottom left along with a refresh button. It also features a 2D Web Map & Web App combo that allows the user to check a detailed map of California to check pollution data around them. The web app allows the user to check more detailed information about specific pollution parameters. It also allows the user to refresh the 3D visualizations anywhere they would like to. The app also has a key that has definitions of each pollutant we display plus external links for more information. Lastly, the app features a one-week forecast menu which currently functions as a technical proof-of-concept and illustrates our team's vision for the future of this application.
How we built it
Development The first thing that we sought out to do was to enable AR features on our app. Our AR visualizations are created using Google's ARCore SDK, which more specifically has sceneform tools that allowed us to render 3D models. After we got that working, our next development challenge was to display the web map onto the app. To accomplish this, we used Esri's ArcGIS Runtime SDK for Android to allow the app to display ArcGIS made maps. We then took our custom map made by our GIS specialist and imported it into our app. After we had a web map, we linked our web app so users can find more specialized data. Our next challenge was handling the feature layers which housed our pollution data. We needed to import this data into our app so we can offer real time updates with the UI. We queried the feature layers using the ArcGIS Runtime SDK and processed that data into our application. With this data, we were able to link it to our UI features, such as the AQI number and slider in the bottom right. After that, our last challenge was the forecast model. Accounting for time constraints, the team decided upon creating a technical proof of concept for developing the forecast menu as a roadmap into the future of our application. By using reverse geocoding, the phone's current latitude and longitude can be converted to a physical address down to the county level, which can be mapped to the historical AQI data that is measured and stored at the county level in our second feature layer. Historical data from the current county of the user can be queried through the ArcGIS Runtime API, and a predictive analysis model can be made using the least squares method to create a linear regression model for predicting the AQI of the next 7 days based on data from the previous 30 days. With all those major challenges out of the way, the last strings to tie were linking up all of our pages and tidying up the UI code.
GIS We used AirNow databases for our data. We used database management to join multiple data tables together and query to our area of interest.
Air Aware features an interactive Web Map and Web App that quickly provides a diagnosis of the current air quality of over 300 stations throughout California. Instantly, this gives you a sense of California’s air health. This AQI data is updated hourly! The Web App comes with tools and widgets that lets the user explore the data as his/her own pace. One Air Aware map feature is the Time Slider, which allows the user to see AQI from previous weeks and months.
Design Utilizing Blender 3D modeling software, we created the different particles as .glb files for the AR experience. We wanted the different particles to accurately reflect the proportional sizing of the particulate matter, and thus a lot of research and thought went into their development. After that particles were ready we developed the logo, branding, and UI screens in Figma and Adobe Illustrator. We went for modern, gradient branding meant to be an abstraction of air flow. The logo itself is a model of Ozone. Usability was the driving forced for my work, and thus you navigate through the app using the buttons on the home screen.
Challenges we ran into
We had a hard time creating a time slider to display historic AQI data by county. We had to join few databases together and manage large amounts of data. We were running into issues every step of the way. It was also very difficult to convert the layer into a temporal layer so that a time slider would run.
Another challenge was that after we created a Web Map on ArcOnline using the WebMap Builder, we realized we cannot put this web map into our android app! So we changed our plans last minute to host that Web Map online and link out to it from the Android app.
In terms of development, there were issues with importing the initial feature layer we wanted to use for development because it referenced a feature service from Airnow which collected data from the entire continental United States and would crash our app due to the sheer size of trying to build a feature service table using that feature layer. Thus, our GIS specialist decided to host another feature layer which limited the data to California and allowed our developers to bring in/query the data.
Accomplishments that we're proud of
We created a gorgeous looking app in 1 weekend that checks the boxes on many great technologies such as Augmented Reality and ArcGIS Online. The app runs extremely smoothly and we have beautiful and informative maps that reference huge databases with accurate and clean data! SO PROUD!
What we learned
We learned a ton about Database Management and queries. This is something we did not have much experience with prior.
As software developers, this project has given us the opportunity to learn how to create meaningful Apps in Android in conjunction with the ArcGIS Runtime SDK. Learning about both the technical capabilities and limitations of Android have been insightful, and constructing a reality application using ARCore has been an amazing dive into the future of visual applications.
What's next for Air Aware: An AR Experience
Listen to our judge feedback and see where our strengths and weaknesses lie. With more time, we could have created a machine learning model to have more accurate forecasting.