I believe there are gaps in how we are utilizing today's technology to enhance our lives. One ubiquitous multi-tool there are plenty of is the modern smartphone. Thanks to the progression into the digital age, a lot of us have these devices in our pockets that are capable of 1,000,000x the processing power compared to the computers that landed us on the Moon. With the ever-increasing number crunching abilities of modern SoCs (System on a chip) packed into everyones small favorite devices, why not devise a method to put them to work for us?
Packed with different sensors such as gyroscope, linear accelerometer, GPS, barometer, light sensor, magnetometers, today's smartphones could double as mobile data labs. As a decentralized source of information, many devices could contribute real-world information that can be analyzed, interpreted, and merged into one conclusive dataset. One project already taking advantage of a crowdsourced network of smartphones is WeatherSignal.
Working just with the GPS location and the linear accelerometer of my Pixel 2XL, I was able to put together preliminary geospatial data showing two layers of information. If one patch of road is driven over daily, I'd expect that multiple datasets from varying sources could be collected and merged analytically to standard metrics. With this method, near real-time road data analytics would be at the fingertips and available for bodies like Departments of Transportation and maintainers of road construction projects.
In the below image comparison feature, speed over the ground is denoted with gradient-colored markers. On the other side are algorithm filtered coordinates where higher values of the accelerometer (in the vertical Z-axis) were found. Move the image divider below to compare the two data layers.
A subset of React, a JavaScript library aimed at building user interfaces, designed to be rendered in multiple device platforms with support for native APIs. The cross platform capability of working with React Native would allow development of one codebase to build apps for Android and iOS devices.
A powerful higher-order programming language that has a wide range of versatility. For some use cases, Python can be used for large scale data processing or for running a backend web server framework to serve data from an endpoint.
Pandas is an open source Python package known for its strength and capability in handling large amounts of data. Functions included in the module can greatly enhance statistical analysis of vast datasets.
Google Earth is a program that allows for geographically accurate exploration of the Earth. Multiple layers of GIS (Geographic Information Systems) such as satellite imagery, photos, elevation, road maps are able to be superimposed on top of a 3D globe with the Web Mercator coordinate system. Additionally, KML (Keyhole Markup Language) files are able to be used to express geographic annotation and visualization of modeling information.
Matplotlib is an essential tool with Python for creating visual data plots, charts, or graphs.
Git is a piece of software commonly used during the software development process for version control. Capabilities include tracking changes in files, easy collaboration in a team development setting, and support for non-linear workflows.
What do I expect for a completed project?
How I currently plan to complete the project?
What do I hope to gain from this project?
What more could be added to the completed project?
What to expect from this webpage in the future?