This work is mainly based on the seismic activity across world which widely varies in characteristic and patterns. It is notable and worthy to distinguish patterns among the seismic activities and present them in an insightful manner.
Analysis of data without proper presentation to the end user does not make much sense. To make our work effective to the end user we provide intuitive yet powerful visual representation of the data and the patterns we discover.
- Quake Analysis
- Demo here
- Exploration & Analysis
Exploration & Analysis
All earthquake events from 1990-2015 (till November) has been aggregated. Here we have created seismic events data warehousing system to process events and support our interactive visualization for initial analysis.
Questions "Exploration" can answer:
- Search of earthquake events based on
- How long does a high richter scale earthquake affect its surrounding with small tremors?
- Find earthquake tremors zone over a defined time.
Module 1: Parsing
More than 10GB of XML files is parsed to extract meaningful information and stored into database.
Module 2: Cubing Server
To support online query on earthquake events a cubing server has been built. It supports online queries like
* Slicing * Dicing * Aggregation
README of cubing server can be found here
Default address: http://localhost:5050
Module 3: Web UI Server
This is interactive visualization created with:
Default address: http://localhost:8000
Details of Exploration Phase and its implementation is available here.
The aim of this module is to analyze the effect of selected earthquakes over its neighboring region. We are using contour map to visualize the effect.
Module 1: Local Earthquake Magnitude Calculator
This main idea behind this module is to gather the magnitudes of the neighboring regions of a particular earthquake. This is done by aggregating the list of neighboring seismic recording stations for US IRIS networks. The neighbours are defined to be within certain miles of the quake event. Firstly we obtain the time series data of each of the neighboring stations. After obtaining the time series data, we clean it by removing instrument response for the corresponding seismic station and also prevent amplifying noise by applying filter bands on the waveform data.
From this cleaned time series data, we then calculate the maximum amplitude of the wave by taking maximum over the absolute values of the North, East or Azimuthal components of the wave. With the station coordinates and event coordinates, we find out the azimuthal distance of the station of the quake epicenter. With the azimuthal distance and amplitude of the waveform we calculate the local magnitude of the staion using the formula below:
Local_magnitude = log10( amplitude * 1000) + a * azimuthal_distance + b
The parameters a and b are set according to the distance of the seismic station from the event center. If azimuthal distance is greater than 60 km then a=0.0037 and b = 3.02. Otherwise, a = 0.018 and b = 2.17.
Module 2: Spark Server
The spark server is used to request for contour map for a given list of events separated by '|'. For the given list of events, it fetches the neighboring station data from the local magnitude calculator module. With the station data in hand for the given list of events, it calls the contour map module and displays the contour map as an image.
Module 3: Contour Map
This module uses the matplotlib griddata to plot the contour map for a given list of events. It takes the latitude, longitude and magnitude values of the event centre and the neighboring stations.
Details of Analysis Phase and its implementation is available here.