An Extensible and Integrated Software Architecture for Data analysis ...

An Extensible and Integrated Software Architecture for Data analysis ... An Extensible and Integrated Software Architecture for Data analysis ...

users.tricity.wsu.edu
from users.tricity.wsu.edu More from this publisher
26.10.2014 Views

An Extensible and Integrated Software Architecture for Data analysis and Visualization in Precision Agriculture Li Tan 1,2 Ronald Haley 1 Riley Wortman 1 Qin Zhang 2 1 School of Electrical Engineering and Computer Science, WSU 2 Center for Precision and Automated Agricultural Systems, WSU

<strong>An</strong> <strong>Extensible</strong> <strong>and</strong> <strong>Integrated</strong> <strong>Software</strong> <strong>Architecture</strong> <strong>for</strong> <strong>Data</strong><br />

<strong>analysis</strong> <strong>and</strong> Visualization in Precision Agriculture<br />

Li Tan 1,2 Ronald Haley 1 Riley Wortman 1 Qin Zhang 2<br />

1<br />

School of Electrical Engineering <strong>and</strong> Computer Science, WSU<br />

2<br />

Center <strong>for</strong> Precision <strong>and</strong> Automated Agricultural Systems, WSU


Outline<br />

• Introduction <strong>and</strong> motivations<br />

• Research questions on in<strong>for</strong>mation retrieval <strong>and</strong> reuse in<br />

context of precision agriculture.<br />

• System overview<br />

• <strong>Data</strong> importation <strong>and</strong> integration.<br />

• <strong>Data</strong>-flow-driven design <strong>for</strong> data processing <strong>and</strong> visualization.<br />

• Client support <strong>for</strong> desktop <strong>and</strong> mobile applications.<br />

• Conclusions


IT in Precision Agriculture<br />

In<strong>for</strong>mation technology is crucial to all the three stages in precision<br />

agriculture:<br />

• Collect data from a variety of sources:<br />

• Sensor networks, vehicle-based data collection, <strong>and</strong> Aerial <strong>and</strong> satellite<br />

images.<br />

Research Question: how to import data from different sources with different<br />

<strong>for</strong>mat<br />

• <strong>An</strong>alyze <strong>and</strong> visualize the data.<br />

• <strong>An</strong>alysis flow varies depending on actual applications, e.g., operations<br />

characteristics.<br />

Research Question: How to build a reconfigurable <strong>analysis</strong> flow?<br />

• Visualize the data to support decision-making.<br />

Research Question: How to visualize the data so farmers can underst<strong>and</strong>?<br />

• Use the data to optimize field operations.<br />

Research Question: How to deliver the data <strong>and</strong> result to a variety of devices<br />

<strong>for</strong> on-the-fly mobile access?


Our solution<br />

Research Question I: how to import data from different sources<br />

with different <strong>for</strong>mat<br />

Solution:<br />

1. Maintain data importation as a separate <strong>and</strong> customizable module;<br />

2. A meta-data model in XSD <strong>for</strong> a user to define input data <strong>for</strong>mat.<br />

Research Question II: How to build a reconfigurable <strong>analysis</strong> flow?<br />

Solution: Build a data-flow driven <strong>and</strong> model-based <strong>analysis</strong> subsystem.<br />

1. User may define their own workflow;<br />

2. User may define their own operators.<br />

Research Question: How to visualize the data so farmers can underst<strong>and</strong>?<br />

Solution:<br />

Build a data-flow driven <strong>and</strong> model-based <strong>analysis</strong> subsystem.<br />

1. User may define their own workflow;<br />

2. User may define their own operators.


Our solution<br />

Research Question IV: How to visualize the data so farmers can<br />

underst<strong>and</strong>.<br />

Solution: Provide multi-feature 3-D plot <strong>for</strong> multi-dimension data sets. A<br />

plot may contain the following in<strong>for</strong>mation:<br />

1. Color map;<br />

2. Multiple layers;<br />

3. 3-D contour.<br />

Research Question V: How to deliver the data <strong>and</strong> result to a variety of<br />

devices <strong>for</strong> on-the-fly mobile access?<br />

Solution: Build a client-server architecture to support a variety of<br />

computing devices, including,<br />

1. Desktops;<br />

2. Ipad App.


<strong>Data</strong> Importation <strong>and</strong> Integration<br />

• <strong>Data</strong> processed in precision farming has large<br />

variation in <strong>for</strong>mat.<br />

• <strong>Data</strong> comes from various sources: remote sensor<br />

array, vehicle based data collector, etc.<br />

• <strong>Data</strong> <strong>for</strong>mat is often decided by manufacturer of<br />

devices.<br />

• Our solution: create a flexible data importation<br />

module supporting user defined <strong>for</strong>mat in XML<br />

• The allowed XML <strong>for</strong>mats are defined as a metadata-model<br />

in XSD.


Meta-data model in XSD<br />

XSD enables the data importation module to recognize<br />

<strong>and</strong> validate data definition file in XML


? xml version =”1.0” encoding=”ISO− 8859− 1”?><br />

<br />

< DATAFILE fi l e n a m e =” d a t a par .csv”><br />

< uid /><br />

< sensor array><br />

< sensor id=”1” X=”mm” Y=”mm” device=”PAR” / ><br />

...<br />

< sensor id=”8” X=”mm” Y=”mm” device=”PAR” / ><br />

< / sensor array><br />

< time><br />

< date time><br />

< full date <strong>for</strong>mat=”YYYY/MM/DD” / ><br />

< full t i m e f o r m a t =”HH:MM:SS . SS” / ><br />

< /datetime><br />

< /time><br />

< other data /><br />

< / DATAFILE ><br />

< DATAFILE filename=”data gps . csv”><br />

< uid /><br />

< movement><br />

...<br />

< / movement><br />

< coordinate><br />

< coordinate lon lat><br />

< longtitude unit=”degree”/ ><br />

< latitude unit=”degree”/><br />

< / coordinate lon lat><br />

< / coordinate><br />

< / DATAFILE ><br />

< /DATA><br />

Sample data definition<br />

file in XML


<strong>Data</strong>-flow-driven design<br />

<strong>for</strong> <strong>Data</strong> Processing <strong>and</strong> Visualization<br />

• The workflow of data processing <strong>and</strong> visualization largely<br />

depends on actual application <strong>and</strong> operational characteristics.<br />

• <strong>Data</strong> processing <strong>and</strong> visualization supports the customization<br />

through,<br />

• <strong>Data</strong>-flow-driven design supporting graphical manipulation<br />

of workflow by re-arranging the data flow <strong>and</strong> operators.<br />

• Custom-defined data operators.<br />

• User may implement his own data operator.<br />

• Each operator has to have a well-defined interface<br />

specifying input <strong>and</strong> output data <strong>for</strong>mat.


<strong>Data</strong>-flow-driven design


<strong>Data</strong> visualization<br />

• A flexible data visualization module supports the<br />

render of multi-dimension data sets.<br />

• Multi-dimension data sets may be rendered,<br />

• On the additional dimension (Z-axis);<br />

• As multiple layers of images;<br />

• Using customized color map.<br />

• <strong>Data</strong> may be overlaid on a terrain map to provide<br />

geological-referencing.


Geo-referenced data visualization


3-D visualization<br />

3-D visualization of Photosynthetically Active Radiation (PAR) data.


Client-Server <strong>Architecture</strong> Design<br />

• Supported clients include desktops <strong>and</strong> iPad;<br />

• Enable the on-the-fly access on mobile devices (iPad).


Implementation<br />

• Server built on the open-source data-mining tool<br />

rapidMiner.<br />

• Implemented in Java.<br />

• Desktop client to communicate with the server <strong>and</strong><br />

h<strong>and</strong>le user-computer interaction.<br />

• <strong>Data</strong> visualization is implemented using jzy3D, an<br />

openGL java library.<br />

• A Ipad client is developed using iOS development<br />

kit.


Conclusion<br />

A software architecture <strong>for</strong> data <strong>analysis</strong> <strong>and</strong> visualization in<br />

precision agriculture with the following features:<br />

• A data-importation module supporting custom-defined data<br />

input <strong>for</strong>mat through meta-data-model in XSD;<br />

• A data-flow-driven design <strong>for</strong> reconfigurable data processing.<br />

• <strong>Data</strong>flow may be re-arranged;<br />

• Support custom-defined data processing operators.<br />

• A visualization module supporting:<br />

• Geo-referenced data visualization;<br />

• Visualizing multi-dimension data set.<br />

• A client-server architecture supporting:<br />

• Mobile devices <strong>for</strong> on-the-fly data access <strong>and</strong> visualization


Thank You!<br />

Questions <strong>and</strong> Comments?

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!