Respected Sir,
Thank you for your reply to my email and clarifying the various aspects of the application "Application to measure sensor data and various parameters - elevation, noise and sound, distance, magnetic field and seismic waves".
In response to you queries regarding sensing and visualizations, which are the main aspects of the application, I propose the following methodologies.
1. SENSING THE REQUIRED PARAMETERS
· ELEVATION : Using the Google Elevation API Service, we can supply the current GPS co-ordinates (latitude and longitude) of the current location of the user and query the API to return a result of elevation in meters. The Elevation API returns elevation data for locations on the earth. You specify location data in one of two ways:
a. A set of one or more locations
b. A series of connected points across a path.
The visualized data may look like this (Elevation(in m) plotted across a path):
· NOISE AND SOUND : This can be implemented using the MediaRecorder Class of the Android API, which has associated methods that return the maximum amplitude of the sound/noise that was last sampled from the surroundings. This can be converted to sound level in decibel (dB) by applying the appropriate mathematical/logarithmic formula for conversion from amplitude to deciBel.
The visualized data may look like this:
· MAGNETIC FIELD: Using the Geo-Magnetic Field sensor available on phones and query them in our application using the Android Sensor API we can retrieve values in μT , of magnetic field strength along X, Y and Z axis.
Data visualization of Magnetic Field strength measured at a location over time and current value being displayed in real-time:
· SEISMIC ACTIVITY : The two main sensors required for this would be the Accelerometer and the Magnetometer, which can be queried by using the Android Sensors API to retrieve information regarding Surface Movement/Vibration along X,Y and Z directions and the relative orientation of the phone with respect to the epicenter of the seismic activity. This way we can detect, indirectly the motion or movement of tectonic plates. In fact this concept has been ratified by researchers at the University of California, Berkeley. Also even if no live seismic activity is present at the user’s current location , the history of the average seismic activity in that region can be presented as information to the user. This data can be queried from several online REST service providers including Open Earthquake Data and the United States Geological Survey (USGS).
Visualization example is shown below is of acceleration(m/s^2) v/s time along all three axis and real time values are also shown.
2.) HOW TO VISUALIZE THIS DATA IN THE APPLICATION
There are several libraries available for android to visualize real-time data and almost all of them are open source and easy to leverage. To name a few:
1. a.) achartengine
2. b.) Chart-View
3. c.) Android GraphView
The features that they offer is sufficient for our requirements:
· Support for different graph types
· line chart
· area chart
· scatter chart
· time chart
· bar chart
· pie chart
· bubble chart
· doughnut chart
· range (high-low) bar chart
· dial chart / gauge
· combined (any combination of line, cubic line, scatter, bar, range bar, bubble) chart
· cubic line chart
·
Draw
multiple series of data
Let the diagram show more that one series in a graph. You can set a color and a
description for every series.
·
Show
legend
A legend can be displayed inline the chart. You can set the width and the
vertical align (top, middle, bottom).
·
Custom
labels
The labels for the x- and y-axis are generated automatically. But you can set
your own labels, Strings are possible.
·
Handle
incomplete data
It's possible to give the data in different frequency.
·
Viewport
You can limit the viewport so that only a part of the data will be displayed.
·
Scrolling
You can scroll with a finger touch move gesture.
·
Scaling
/ Zooming
Since Android 2.3! With two-fingers touch scale gesture (Multi-touch), the
viewport can be changed.
·
Background
(line graph)
Optionally draws a light background under the diagram stroke.
·
Custom
Style
change the color and thickness, label font size/color and more
·
Realtime
/ Live
append new data live or reset the whole data
The above shown visualizations are all generated by using one or more of these graphing/charting libraries.
To ensure optimal usage and minimal drain of the phone’s resources the user can be provided with an interface that allows him to choose which parameter he would like to measure and visualize and only that corresponding sensor maybe tapped for the same, thus specific events are called rather than continuously monitoring and querying all sensors that impacts battery life.
Looking forward to your reply.
Regards
Chiraag Sumanth
·
The visualizations, as I have mentioned in the post can be plotted in real-time as well as measured and plotted later.
Regards
Chiraag Sumanth
Respected sir,
In addition to the proposal made above I would like to add a few more ideas to the application.
I would like to this application is the facility to measure the average inclination of one surface with respect to the other because geometry and inclination angles play a very important role in daily physics.
1.) The sensors used for this purpose would be a combination of Accelerometer and/or Gravity Sensor. The user must place the phone on the surface intended for measurement and the application returns a value of Angle of Inclination w.r.t the horizontal in degrees or radians. We again use trigonometric formula and basic division to filter out an angle of inclination from the linear acceleration returned accelerometer and gravitational acceleration returned by the gravity sensor.
The visualized product would be as simple and intuitive as shown below depicting clearly the intended angle of inclination of the surface with respect to the horizontal.
2.) Another value addition may include providing information about seismically active zones and altitude elevation maps around the world in a graphical or pictorial presentation, which enables more inquisitive and curious users to learn more about what’s happening around them and increase their situational and regional awareness about the very parameters that the application is used to measure.
Examples representations are:
Country specific represenatations
(ELEVATION MAP OF INDIA)
Please reply regarding whether these proposals are fit to be included into the application.
Regards
Chiraag Sumanth
The visualized product would be as simple and intuitive as shown below depicting clearly the intended angle of inclination of the surface with respect to the horizontal.
2.) Another value addition may include providing information about seismically active zones and altitude elevation maps around the world in a graphical or pictorial presentation, which enables more inquisitive and curious users to learn more about what’s happening around them and increase their situational and regional awareness about the very parameters that the application is used to measure.