Skip to content
Cholgrrr edited this page Aug 3, 2017 · 8 revisions

Welcome to the nasaproject wiki!

Pollen distribution Map with NASA World Wind

Smart Pollen Monitoring is an application that illustrates the real-time and past behavior of pollen dispersion at a specific location from each tree directly. It analyzes the area of high pollen dispersion dynamically according to the tree location, tree type and wind information by the period of time. Additionally, it is possible for users to enter the new tree data which has not yet existed in the application. Overall, it aims to help the people with tree pollen allergies to make a right decision about all their activities for example to select the right place for living or to plan the route to travel which has low level of pollen dispersion.

Data

Tree Data

We used open source data set of trees in the city of Frankfurt. (Baumkataster Frankfurt am Main) Although, this data set only includes the public trees which causes the blind spot in the private area. This problem is solved by allowing users to add new tree data to the application’s database. Frankfurt am Main Tree data from Grünflächenamt der Stadt Frankfurt am Main displays on esri light gray canvas basemap Current Wind Data

The wind data is collected from OpenWeatherMap by an API request every 5 minutes and then it is inserted into the database over time.

The important wind data parameters from OpenWeatherMap are the following parameters.

[wind.speed] Wind speed. Unit: meter/sec [wind.deg] Wind direction, Unit: degrees (meteorological)

Historical Wind Data

The historical wind data is based on a statistical analysis of historical hourly weather reports and model reconstructions from January 1, 1980 to December 31, 2016 taken from the open source online website (Weatherspark.com [May, 2017]).

Tree Blooming data

Another important base information for this project is the blooming behavior of trees taken from from Allegopharma. Around the major blooming season, the chance of blooming is even higher and in the middle of the season the tree will definitely bloom. For pollen dispersal calculation purpose, this data can be expressed as the floating numbers from 0 to 1 where the 1 indicates the highest possibility of blooming.

System Architecture

Application Server

To deliver a fast and multiple user access a node.js server technology is implemented as the heart of the systems. It is in use as the application server and brings all components together. The system is controlled through famous node packages like express.js, require.js and pg–promise.

Express The express module is used to set up the http(s) communications ways from the server to the client.

Require Require loads the plain JavaScript files and the asynchronous module API for the node server.

PG–promise This module is used to connect the node application server with the PostgreSQL database. It promises, to suppress the asynchronous processing until the database response for a request.

AJAX–request The requests from the server to the clients is managed with the node module AJAX-request. It enables to make asynchronous server requests.

Others As well there are some other smaller modules used for developing and handling data on the server site like body–parser, url-join, pg-format, d3 and nodemon.

Client Side

The client site and the corresponding visualization consists of a combination of the following three technologies.

3D NASA WORLD WIND The 3-dimensional and open source NASA WORLD WIND globe is the fundamental for the spatial visualization. Its JavaScript API delivers a lot of useful functionalities for visualization and calculations in dependence to the NASA globe. Especially the functions for spatial calculations and operations are used to bring the visualization in the coordinate reference system of the globe.

D3.js (data driven document) Through the open source charting library D3.js, data driven charts are generated to support the visualization of the NASA globe. That charts make it easy to analysis historical data.

Twitter bootstrap To implement the control elements like buttons and select lists, the open source CSS library bootstrap is used.

Database

The data fundamental is set up through a PostgreSQL database with PostGIS as its spatial extension. This extension enables the database to perform spatial operations and calculations. The data organization is distributed into four main branches:

Geodesic entities and functions (delivered by PostGIS). Blooming data Tree data Wind data Real-time Historical The blooming and tree data build a data set which is always combined with either a historical or real-time wind dataset. That combination defines a final dataset for the visualization of the pollen distribution.

The real-time data are updated in a sequence of 5 minutes and can be used to update the historical data.

data logic SMART POLLEN MONITORING – Database Structure The blooming and tree data build a data set which is always combined with either a historical or real-time wind dataset. That combination defines a final dataset for the visualization of the pollen distribution.

The real-time data are updated in a sequence of 5 minutes and can be used to update the historical data.

Web Feature Service

For the source of real-time wind data, the API of OpenWeatherMap is used. Through that API all 5 minutes, the wind data will be updated and used for new analysis and calculation of the pollen distribution zones.

Usage

If the application should be run from a local device, a few steps have to be followed. Open a command promt and navigate to the Location of the Server.js. Then start the node.js Server by entering the 'nodemon Server.js'. This can only be done if you previously installed node (and the nodemon Extension). Then you can connect via your browser and 'localhost:8080' to the local running Server.