31
1 | Page 3D Visualization Engine For Location Based Information Application Requirements Document Technical adviser: Yuri Magrisso, [email protected] Academic adviser: Prof' Ehud Gudes, [email protected] Project team: Adir Deri, [email protected] Guy Segev, [email protected] Itai Kornberg, [email protected] Shir Yerushalmi, [email protected] Project site URL: http://www.cs.bgu.ac.il/~seproj/2009-2010/mansours/ or http://www.cs.bgu.ac.il/~mansours

3D Visualization Engine For Location Based …seproj/2009-2010/mansours/ARD.pdfThe project, 3D-visualization engine for location based information, executed for ScanTask company, which

  • Upload
    others

  • View
    10

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 3D Visualization Engine For Location Based …seproj/2009-2010/mansours/ARD.pdfThe project, 3D-visualization engine for location based information, executed for ScanTask company, which

1 | P a g e

3D Visualization Engine For Location Based Information

Application Requirements Document

Technical adviser: Yuri Magrisso, [email protected]

Academic adviser:

Prof' Ehud Gudes, [email protected]

Project team: Adir Deri, [email protected]

Guy Segev, [email protected]

Itai Kornberg, [email protected]

Shir Yerushalmi, [email protected]

Project site URL: http://www.cs.bgu.ac.il/~seproj/2009-2010/mansours/ or http://www.cs.bgu.ac.il/~mansours

Page 2: 3D Visualization Engine For Location Based …seproj/2009-2010/mansours/ARD.pdfThe project, 3D-visualization engine for location based information, executed for ScanTask company, which

2 | P a g e

Table of contents

1. Introduction …………………………………………………………………………………. ………… 3 1.1 Vision ………………………………………………………………………………………………… 4 1.2 The Problem Domain ………………………………………………………………………… 5 1.3 Stakeholders ……………………………………………………………………………………… 7 1.4 Software Context ………………………………………………………………………………. 7

1.4.1 Major inputs and outputs ………………………...……………………………. 7 1.4.2 System functionality ………………………………………………………………. 7 1.4.3 System processes …………………………………………………………………… 8

1.5 System Interface ……………………………………………………………………….......... 8 1.5.1 Hardware Interfaces ………………………………………………………………. 8 1.5.2 Software Interfaces ……………………………………………………………..... 8 1.5.3 Events …………………………………………………………………………............ 9

2. Functional Requirements ………………………………………………………………………... 10 2.1 System Data ………………………………………………………………………………………. 10 2.2 System Functionality …………………………………………………………………………. 12

3. Non-functional Requirements ……………………………………………………………...... 15 3.1 Performance Constraints …………………………………………………………………… 15 3.2 Platform Constraints …………………………………………………………………......... 16 3.3 SE Project Constraints ……………………………………………………………….......... 16

4. Usage Scenarios ……………………………………………………………………………………… 17 4.1 User Profiles – The Actors …………………………………………………………………. 17 4.2 Use-cases ………………………………………………………………………………………….. 17 4.3 Special Usage Considerations ……………………………………………………………. 22

5. Appendices ……………………………………………………………………………………………… 23 5.1 System Scheme …………...……………………………………………………………………. 23 5.2 NASA World Wind …………………………………………………………………………..... 24 5.3 NASA World Wind Java ……………………………………………………………………… 25 5.4 Agricultural technology and machinery …………………………………………….. 27 5.5 Existing Situation ………………………………………………………………………………. 28 5.6 Shepard interpolation ……….………………………………………………………………. 29

Page 3: 3D Visualization Engine For Location Based …seproj/2009-2010/mansours/ARD.pdfThe project, 3D-visualization engine for location based information, executed for ScanTask company, which

3 | P a g e

1. Introduction Digital and computerized systems are more and more commonly used these days, in large companies as much as in small / medium sized companies. Managers and employees are often assisted by these systems as a common helpful tool in achieving continuous decisions.

In industrial companies, information gathering and its process (in real time, or after collecting all the data) are used to take an administrative decision. A vast mass of data in certain fields, may cause a difficulty in taking a decision, or a misjudged (or non optimal) call.

The information gathering and its computer process assists in many aspects, especially when the quantity of the data is too large to be processed by a human being. Computers may assist with taking the right decisions and that based on past information, or complicated calculations, lowering the number of mistakes made by man, shortening response time, better treatment in large quantity of parallel events and more.

One of the areas that can use advanced and computerized gathering and processing of data for more efficient process and response is the agricultural area.

The agricultural world is going through an advanced progress in the last few years that being expressed by increasing usage of computerized systems and gathering more accurate data faster.

The simple farmer is measuring and gathering data upon his crops condition, or about environmental variables, and by processing them he can get information about events that take place in his farm. The farmer may own many plots with many kinds of crops. The different crops may have many properties like different diseases, different growth cycles, differences in irrigation quantity and times, different growing conditions etc.

Many data items of that kind make it difficult to the common person to make the right decision fast enough, concerning the different crops. The technological innovations and computerized systems may assist a lot to the common farmer by arranging the data in a simple and understandable way.

The computerized systems will assist the farmer in the following:

a) Faster decision making – when the crops variety is wide there is a need for making many decisions and the time factor is critical. A delay in making decisions, concerning a disease treatment for example, may cause a lot of damage. The calculation speed by computer and its right treatment recommendation, according to the data and by previous information, may ease the process of getting a fast decision.

b) The ability to make more focused decisions – analyzing the surface can be done in a higher resolution, and in that way it is possible to give a different treatment for different parts of the same area, which have different needs. For example, further irrigation in a certain part of an orchard, because it has a different soil conditions.

c) Tracking treatment history – the user can see past data concerning his crops, treatment and production, and that way to deduce about future treatments.

Page 4: 3D Visualization Engine For Location Based …seproj/2009-2010/mansours/ARD.pdfThe project, 3D-visualization engine for location based information, executed for ScanTask company, which

4 | P a g e

The agriculture area includes several problems, concerning computerizing the area:

a) Many of the involved have financial constrains and are exposed to environmental influences that may effect the production and the profits. Therefore assistant products should not be expensive.

b) Many of the involved are not technologically oriented. Therefore assistant products must have a simple and comfortable interface.

c) One's farmer knowledge is often his success secret, because his knowledge is accumulated through many year. It will be hard to convince many of the farmers to agree to use a technological solution they are not familiar with and suppose to provide advices about their farm.

d) Many of the areas used for agriculture are distant areas, parts of them are 3'rd world countries and not always the infrastructure exist, for example, an internet connection.

The data collection can be done in several ways:

It is possible for example, to get geographic information about location using GPS. Also it is possible to use sensors which will provide data about sediments, chemicals, moisture, temperature etc. This information is transferred to a database used by the application. The data can be displayed in several common ways such as tables, graphs or over a map.

1.1. Vision The project, 3D-visualization engine for location based information, executed for ScanTask company, which deals with the simple management of mobile workers and tasks, reducing mistakes and improving production, using simple control and measure tools. The vision of the project is to bring the data from the farmer's field to the farmer in a unique way that will allow the farmer to get information about different subjects that was collected from the field. Displaying the information in a colorful way, 3-dimensional and above aerial photography of the agricultural field, will ease the farmer with understanding the situation and with orientation of the referred field. Adding the extra dimension will allow enlargement of the date scope that is displayed simultaneously in one diagram. The information will be displayed in a simple and convenient way, that will allow easy change of the display for quick understanding of the data. Let's think of an example for understanding the project goal. Farmer is the owner of several vineyards, the vineyards are spread on a vast area and there is a distance between the vineyards that can reach a few kilometers. The company made measurements of temperature and the light quantity in the different vineyards for the farmer. Now, the application is going to display cylinders in the areas of the different vineyards. The higher the quantity of light is, the cylinder will be higher. In addition, the higher the temperature is, the darker the color will be. All the data will be composite on the right location, in the aerial photographs. The goals of the project are:

a) Simple display of plenty of data that was collected from the agricultural area. When the display is simple, but also of much relevant data it allows quicker understanding of a given situation and a quick and right decision about the proper treatment.

Page 5: 3D Visualization Engine For Location Based …seproj/2009-2010/mansours/ARD.pdfThe project, 3D-visualization engine for location based information, executed for ScanTask company, which

5 | P a g e

b) Combining the displayed data and the aerial photographs of the area, for making the understanding of the area easier. This way, the farmer can have better understanding of the location of the given data.

c) Displaying the data in a 3-dimensional way to allow wider data scope on one diagram. This way, we can minimize the number of different diagrams and the traverse between them for understanding the general picture.

d) The ability to watch previous data will allow learning the changes that took place previously and therefore to conclude a proper present treatment.

e) Interpolations in areas in which no measurements took place for getting continuous information about all the area.

f) Creating XML format that will define the 3-dimensional shapes and will allow creating an XML document that will be the application input. Based on this document, the application will sketch the 3-dimensional graph on the aerial photography.

1.2. The Problem Domain The main problem that the project is going to deal with is the analysis, understanding and presentation of plenty of data that was collected from the field, for making quicker and wiser decisions. That kind of analysis may be very complicated when the data is displayed in large tables or when they are displayed in a large number of graphs. It can cause desperation among the actors that should use the data or make less accurate decisions. Therefore it is very important to try and improve the interface and the display of the collected data. The problems that the project deals with are:

a) Waste of time – analysis of plenty of data may take a lot of time when they are displayed in an inconvenient way. The wasted time may delay an important decision making, and also cause desperation among the person that should produce information from the data. Farmers are located in the field for most of the day, and the time that is left after a long day of work is short.

b) Wrong decisions – either there is no data collection at all or data is collected but not properly displayed, it can affect making the wrong or right decision.

c) Multiple data displays – the display of plenty of data of different subjects may be spread over a lot of graphs and tables that are spread on many pages. Therefore, there is an importance to bring more general picture that brings more data simultaneously.

d) Orientation in the field – when the data is displayed in graphs, or tables it makes the understanding and the matching between the data and the field itself more difficult. The solution is achieved by displaying the data over the aerial photographs of the field itself. A 3-dimensional picture also contributes the average person that is not skilled with reading a map.

e) Lack of data on parts of the area – using interpolation an approximation can be made about areas that measurements did not took place in.

f) Multiple display layers – sometimes we wants to display different kinds of data in several layers, but higher layers may hide lower layers. If for example we want to display two different z parameters, they may hide each other. In the 3-dimensional method it is possible to give parameter the height dimension and the other will be displayed by difference of color.

Page 6: 3D Visualization Engine For Location Based …seproj/2009-2010/mansours/ARD.pdfThe project, 3D-visualization engine for location based information, executed for ScanTask company, which

6 | P a g e

g) Marketing difficulties – it is difficult to market sophisticated systems to farmers. Interesting, simple and 3-dimensional display may contribute to a higher success of the software.

The developed system will get the input from a database that will contain the collected data from the field. The system will use a unique XML document, built upon an assigned protocol and upon data from the database. The XML document will contain the needed data for the shapes, colors, location and the rest of the information for the 3-dimensional display on the aerial photographs. The XML document is going to be analyzed by the application which will pull the correct maps from the NASA world-wind project and combine the objects with the maps. Below is a diagram that describes the main components of the system.

Collecting data from the field

Transfer the data into the database

Manipulate the data to XML based protocol

Parsing the XML to 3D shapes

Assimilate the shapes to NASA wwj

Page 7: 3D Visualization Engine For Location Based …seproj/2009-2010/mansours/ARD.pdfThe project, 3D-visualization engine for location based information, executed for ScanTask company, which

7 | P a g e

1.3. Stakeholders The main actors relevant to the project are:

a) The people of the ScanTask company, which mark their way and vision about the product. These people express the idea and provide help, in the theoretical aspect and the professional-technological aspect.

b) Experts in the agriculture area, which will help to better understand the area and its needs. The farmers will be asked about their needs and wishes from advanced products in general, and from the developed products in particular.

The customers which may be interested in the product are:

a) Farmers - The product is appointed to the agriculture area. Therefore, the area's special needs will be considered favorably. The farmers may use the product after experiencing it and understand the ways it can help them to be more efficient.

b) Customers from other areas - After a while, it will be possible to expand the circle of areas that use the application. The product can be relevant to building contractors, cities and countries municipalities that search for a convenient tool for polls in several areas in their territory and want to display the data.

The product designers are:

a) ScanTask staff.

b) The project development team.

1.4. Software Context

1.4.1. Major inputs And Outputs The main input of the application is XML files, generated from raw information collected from the surface. The XML will be generated according to a special protocol (creating and designing of the protocol is a part of the project). The protocol will define the 3D shapes that can be displayed, and will consider attributes such as location, size, color, height etc.

The outputs of the system are mostly 3D graphs, based on the data gathered from the field. Also, additional outputs are values the user may ask. If, for example, the user watches certain data displays, and want to know the values that were originally measured, he will be able to do that.

1.4.2. System functionality The system's functionality is:

a) Displaying the collected data on the aerial photograph.

b) Logging in / Logging out of users option.

c) Fast access to previous data measurement.

d) Possibility of adding coordinates on the map (for easy access to these points in the future).

Page 8: 3D Visualization Engine For Location Based …seproj/2009-2010/mansours/ARD.pdfThe project, 3D-visualization engine for location based information, executed for ScanTask company, which

8 | P a g e

e) Revaluation of information in points that have no information from the field. That will be made by interpolation based on the collected data.

1.4.3. System processes

Process of the data will be in advance (before displaying the data) and during viewing, because of actions the user performs. The data processed in advance is the raw data collected from the field - the data is processed according to the protocol explained above (that creates an XML format file). The XML file is an input to the Java application, which converts the data and draws the desired shapes with the desired attributes and locates them in the desired location on the map.

When the client uses the application, further processing is executed - for example, when the user asks to evaluate information about an area that has no measured values from the field, the system takes data from the closest points and calculates from the new evaluated data, using a chosen algorithm for interpolation. Additional requests from the user that demands further data processing may be loading previous information, changing shape colors etc.

1.5. System Interfaces

The main interface the system will contact is the interface of the NASA World Wind project. NASA's project is an open source project, which enables use of its libraries and addition of Java code (for the purpose of writing an application that uses, or expands, NASA's application). In our case, it is possible, for example, to add code that reaches a certain coordinate on the aerial photography / map, and add there 3D objects.

1.5.1 Hardware Interfaces

The system does not come in a direct connection with hardware components. The data is measured and collected by these components (such as thermometers, moisture and sediments meters, insect traps etc.), but that is taking place in the field, and then the data is being uploaded to the database. Then, the data is converted to an XML format, but without any special hardware component.

1.5.2 Software Interfaces As we explained above, the main interface between our system and a different software is the interface to the NASA World Wind project, which is an open source project, a bit similar to the Google Earth, holding a globe with aerial photographs, meteorological data, light / shadow and more, and also pictures from different planets, such as the moon and Mars.

The use in NASA's system will help display the objects that represent the field measurements, on the globe. The system provides a relatively easy access to coordinates on the surface, and enables adding shapes to create the desired

Page 9: 3D Visualization Engine For Location Based …seproj/2009-2010/mansours/ARD.pdfThe project, 3D-visualization engine for location based information, executed for ScanTask company, which

9 | P a g e

graphs. That, in addition to a graphic user interface for the user, with further options.

NASA's system doesn't require from the developed system a special interface (because the use is taking place in the opposite direction - our system uses NASA's libraries).

1.5.3 Events All the following events are keyboard / mouse events:

Zooming - Zoom In / Out will re-evaluate which object will be shown on the map, according to current zoom level. This events occurs upon scrolling the mouse's middle button.

Panning - Changing view objects according to the new area shown. Occurs upon drag & drop (left button mouse + moving its position).

Tooltip Information - Standing on the polygon and pressing it with the right button will show the value which he represents.

Benchmark - Defining a new coordinate to be saved to benchmark pool. Occurs upon choosing appropriate option and clicking mouse's left button.

Page 10: 3D Visualization Engine For Location Based …seproj/2009-2010/mansours/ARD.pdfThe project, 3D-visualization engine for location based information, executed for ScanTask company, which

10 | P a g e

2. Functional Requirements

2.1 System data

The data types can be divided into two groups that drive the system: Raw data. Standard data.

2.1.1 Raw data: The raw data are the measurements that were taken in the agricultural field by workers and different sensors. The raw data that is measured in the agricultural field will be divided into distinguished layers:

Measurements of different pests. Measurements of temperature. Measurements of moisture.

The raw data that is created by the measurements contains details such as: Measurement type. Measurement values. The position of the appropriate measurement, by saving datum points

that define the measurement location. (Not obligation because we insert the DB the location of the measurement by name of the ‘Area’ / ‘Meteorological station’ according to measurement type)

Date. 2.1.2 Standard data:

The standard data can be divided into three categories: Translated data from raw data. (Measurements data) Synthetic data. (Static data like a shed or a water-tower that is located in

the agriculture area). Informative data. (Data that was created by mathematical calculation, in

order to improve the decision abilities by predicting data in some points without measurements)

The necessity of standard data is resulting from the use of different measurements in different formats, while our system supports unique and deterministic format that is determined by the development team. Case-1 : Translated data from raw data:

In that case the standard data will be a structure that contains the raw data information data in a standard form, and additional details that influence the presentation of the measurement on the map. The structure will contain the following details:

Data type. (Pest / Temperature / Moisture) Measurement type. (In case of pest that spread of many types) Measurement value.

Page 11: 3D Visualization Engine For Location Based …seproj/2009-2010/mansours/ARD.pdfThe project, 3D-visualization engine for location based information, executed for ScanTask company, which

11 | P a g e

Name of site that defines the location in the globe which the measurement will locate.

Date. (include week and year)

Case-2 : Synthetic data: In that case, there will be a “bank” of synthetic object in the system, with a purpose to give more clearly indication about the agricultural area, in order to improve the orientation. The structure will contain the following details:

Object type. (Such as a shed / Water-tower / Warehouse etc.) Datum point that define the location of the object. Size.

Case-3 : Informative data:

Informative data represent the same as ‘Translated data from raw data’ structure, with additional flag that inform that it is interpolated data.

Comment:

The additional information regarding how to present the above object on the globe (Such as the shape / color that define measurement or the way to create synthetic object, etc…) will define on XML protocol in order to create generic and flexible system that easy to change and enlarge.

Page 12: 3D Visualization Engine For Location Based …seproj/2009-2010/mansours/ARD.pdfThe project, 3D-visualization engine for location based information, executed for ScanTask company, which

12 | P a g e

2.2 System Functionality

The system use can be divided to three agents, each agent contributes to the system in a different section. The agents that influence \ use the system are:

The field worker. The farm manager. System administrator.

2.2.1 The field worker:

The role of the field worker (The functionality that he performs), is collecting data (raw data) that eventually will be translated into visual information on the maps of the system. The worker is equipped with appropriate instrumentation and list of datum points in order to perform the measurements at specific time, and specific locations. The worker will perform the measurements. The measurements details will define the raw data. After the worker finishes the measurements, the raw data will be sent to the server data base in order to translate it into standard data, that will be used by the system.

2.2.2 The farm manager:

The farm manager is the main user of the system. By the functionality of the system, the manager can investigate and understand the agricultural area more efficiently.

The main functionality, which the manager can use: 2.2.2.1 Login:

The system enables to login into it, from anywhere by any computer that has the system installed and Internet network.

The login operation will be performed by: Launching the system. Enter legal user name and password in the appropriate fields.

The login user can see its’ data objects only. When login operation is completed, the system presents the last measurements of the user and the globe is centralize to the user main area.

2.2.2.2 Logout: The system enables to logout from it always.

The logout operation will be performed by clicking on a “Logout” button. 2.2.2.3 3D visualization scan:

The system enables the manager to look at his agricultural area in a visual mode, and look at 3D objects that are located in his agricultural area and represent measurements / synthetic objects (that help to orient) and approximate data that are created by interpolation. Each 3D object can represent one measurement type.

Page 13: 3D Visualization Engine For Location Based …seproj/2009-2010/mansours/ARD.pdfThe project, 3D-visualization engine for location based information, executed for ScanTask company, which

13 | P a g e

The navigation on the map is performed by the mouse and enables Pan and Zoom operations

2.2.2.4 ToolTip information: The system presents information about the visual objects. (For example – numerical information about the measurement value of specific object). The information will appear as tooltip when the user passes over the object by the mouse.

2.2.2.5 Move to a coordinate: In order to improve the simplicity and fast orientation in the agricultural area, the farmer can move to a coordinate

The “move” operation will be performed by: Press on ‘Navigate’ menu. Select the option ‘move to a coordinate’. Enter the appropriate coordinate.

The globe will turn to a new location accordingly. 2.2.2.6 Add a benchmark:

In order to improve the simplicity and fast orientation in the agricultural area, the farmer can add benchmarks of major locations. In order to add benchmark the user must label the point by a unique name.

Adding of a benchmark operation will be performed by: Press on ‘Navigate’ menu. Move to the appropriate location on the globe. Select the option ‘add benchmark'. Enter a unique name.

2.2.2.7 Move to a stored benchmark: In order to improve the simplicity and fast orientation in the agricultural area, the farmer can move to a stored benchmark.

The move operation will be performed by: Select a stored benchmark from a pool.

The globe will turn to a new location accordingly. 2.2.2.8 View by time (week) interval:

The user can select a time (week) interval, and the system will display the 3D objects that represent measurements at the defined time interval. The user can select the time interval by entering the appropriate year and week (We assume that measurements are performed in a weekly cycle). When the appropriate time interval is chosen, the 3D objects that represent the measurements will be updated accordingly.

2.2.2.9 Show / Hide object type: The user can choose between ‘Show’ / ‘Hide’ different items, in order to improve the diagnostic of specific data in the agricultural area. The user can ‘Show’ / ‘Hide’ objects that represent the following:

Any measurement objects (All together / individual). Synthetic data (Like warehouse / Water-tower).

‘Show’ / ‘Hide’ of objects will be performed by select types to move from ‘Show’ / ‘Hide to ‘Hide’ / ‘Show’. Main use of the ‘Show’ / ‘Hide’ object types is to focus on one pest measurement in order to investigate specific pest values.

Page 14: 3D Visualization Engine For Location Based …seproj/2009-2010/mansours/ARD.pdfThe project, 3D-visualization engine for location based information, executed for ScanTask company, which

14 | P a g e

In order to improve the diagnose, when only one pest object present, in addition to the 3D representation of the measurement value we will change the color of the 3-D object according to it’s value (High – Red, Medium – Yellow, Low – Green).

2.2.2.10 Data interpolation: The user can add the system measurements of pests without value. In that case, the system will perform interpolation process that will predict the value of the specific measurement in the appropriate area. The interpolation process depends on:

There is no measurement of the same type in the area in this week.

There are measurements of the same type in close areas. 2.2.3 System administrator: The system administrator performs two main tasks:

Add users – add permitted users. Configure appropriate system while offline. This role includes the

following options: Add new areas to users into the database. Add meteorological stations into the database. Add measurement objects that were already performed into the

database. Add synthetic object into system database. Add additional measurement type objects. Add additional synthetic objects to the “bank” of objects.

Page 15: 3D Visualization Engine For Location Based …seproj/2009-2010/mansours/ARD.pdfThe project, 3D-visualization engine for location based information, executed for ScanTask company, which

15 | P a g e

3. Non - Functional Requirements 3.1 Performance constraints

3.1.1 Speed, Capacity & throughput The server will be able to deal with 50 users simultaneously. That means up

to 100 requests per minute. Every request from the server will be answered within less than 5 seconds.

The communication with the NASA server (regarding downloading maps and aerial photographs) will take time when using the map for the first time (the World Wind SDK caches the map tiles on the client).

3.1.2 Reliability Network failure: When the network fails (after logging in) our user will be

able to work offline with the local data (no update of maps in zoom in/out, graphs which are local in his computer). The user will not be able to get further data from the company's server.

Database housekeeping and backup – The Database will be located in the company server, and will contain the data.

Inconsistent data monitoring – if the system receives during its runtime an inconsistent data - then a proper message and a log entry will be displayed to the initiator of the input. Note that the system will alert about the problem and will not allow the user to continue with the inconsistent process.

3.1.3 Safety & Security Logging In to the application will be verified with a username and a

password. This information will be encrypted (MD5), to achieve certain confidentiality to a farmer's data (so no farmer will be able to see his friend's data without his permission).

3.1.4 Portability The server and the client applications are based on JRE 6.0. They can be run

on OS that supports a JRE 6.0 runtime.

3.1.5 Usability The System is supposed, eventually, to serve clients such as farmers, agronomists etc. Therefore, its interface must be friendly to the members of that community (which are, probably, not necessarily experienced much with the latest technology), and be as simple as possible. Up until now, the nature of their work didn't require operating a sophisticated supervision system, so the system should be accessible and clear as much as it can be, so that its operation will be considered helpful and not as a burden.

These matters will be achieved by the following:

Page 16: 3D Visualization Engine For Location Based …seproj/2009-2010/mansours/ARD.pdfThe project, 3D-visualization engine for location based information, executed for ScanTask company, which

16 | P a g e

The ideal application will be "one-click application", with short and understandable menus. In case that a further functionality will be required, it will be under an "Advanced" / "Advanced Properties" menu (or button).

The access to the data will be easy and clear (because that is the main purpose of the application) - Queries, Data charts, 2D/3D Graphs and Location Maps will be easy and emphasized.

When the data is shown, the client will be able to choose what data he wishes to see and what data is not relevant to him at the moment. That is required in order to match the needs of the client when he wants to investigate one area of the data, without the interference of irrelevant graphs / charts. On the other hand, when the clients eventually want to see a data that isn't currently shown, the application must provide him a quick access to that data. Therefore, the system should enable this setting quickly and simply.

Modularity - The application should be modular so future changes or add-ons will be possible. In case there will be a demand to certain functionality from clients, this attribute will be possible as an addition. The ideal situation of that kind of system is to be adapted per client, so every farmer / agricultural manager will be able to choose the features to a "custom" application which is adapted to his own needs.

3.1.6 Availability The system will always be available through the web.

* The website user is in fact, a desktop application user. The desktop application uses communication over http protocols with both the World-Wind project website and the BGU3D server application.

3.2 Platform constraints

The web server should have an internet connection.

The client should have an Installed JRE and an internet connection.

3.3 SE project constraints No constraints.

Page 17: 3D Visualization Engine For Location Based …seproj/2009-2010/mansours/ARD.pdfThe project, 3D-visualization engine for location based information, executed for ScanTask company, which

17 | P a g e

4. Usage Scenarios 4.1 User Profiles - The Actors

4.1.1 Website User Website user – the user of this system is likely to be a farmer, we assume that his knowledge about computers or any web-based technology is poor. The user would like to use the application's features easily and quickly. This is the main user of the system, and the GUI of the system will be designed especially for him. The user will not provide any online agricultural data, but will be able to view 3D location-based visualization according to the existing data and to do other operations with the data (for example, browse for history). * The website user is in fact, a desktop application user. The desktop application uses communication over http protocols with both the World-Wind project website and the BGU3D server application.

4.2 Use Cases

Use Case 1 Actor Website user Name Login Description The website user enters his valid identification (username &

password) and being identified by the system. Trigger Choosing the Log in option in the 'Welcome' page. Pre-condition The site is online, as well as the data base. Post-condition The user has entered the website and has permissions to use the

website and can view only his data (iff the user enters a valid identification).

Flow Of Events 1. The user enters the website. 2. The user inserts his valid username and password. 3. Choosing the 'Log in' option. 4. The system addresses the server in order to validate user. 5. The server returns appropriate user data objects. 6. The user can use the website.

Alternative Flows

Case: Data base communication is disabled. Action: The site will reject log in queries, and will show appropriate error message. Case: User name doesn't exists in data base. Action: The system will not provide access, and will show appropriate error message. Case: Invalid password. Action: The system will not provide access, and will show appropriate error message.

Page 18: 3D Visualization Engine For Location Based …seproj/2009-2010/mansours/ARD.pdfThe project, 3D-visualization engine for location based information, executed for ScanTask company, which

18 | P a g e

Use Case 2 Actor Website user Name Log out Description The website user requests to log out from the system. Trigger The user chooses the log out option. Pre-condition The user is logged in. Post-condition User is logged out from the system. Flow Of Events 1. The user chooses the "log out" option.

2. Information about the user is vanished. Alternative Flows

None.

Use Case 3 Actor Website user Name View Map Description The system shows the map for the first time after logging in. Trigger Finishing the log in process. Pre-condition The user is logged in Post-condition The user sees his 3D location-based information, shown on the

aerial photography, according to current zoom level. Flow Of Events 1. The Logging in process is finished.

2. Request the relevant coordinates of the specific user area (the center of his fields) from the server. 3. Request the relevant aerial photographs from NASA according to last step's coordinates. 4. Request user's 3D objects from the server - The server generates the requested data and returns its XML representation. 5. The 3D engine displays the data upon aerial photographs in the given coordinates. 6. The user inspects the data.

Alternative Flows

None.

Page 19: 3D Visualization Engine For Location Based …seproj/2009-2010/mansours/ARD.pdfThe project, 3D-visualization engine for location based information, executed for ScanTask company, which

19 | P a g e

Use Case 4 Actor Website user Name Zooming Description The system shows the map and 3D objects according to the

current zoom level (each object has properties, which determines in which zoom level he is shown).

Trigger Zooming in / out, by scrolling the mouse's scroller. Pre-condition The user is logged in and the mouse is located on the globe. Post-condition The map is updated according to chosen zoom level and area.

The user sees his 3D objects on the aerial photography, according to new zoom level (objects are always displayed at a suitable size).

Flow Of Events 1. The user locates the mouse on the globe. 2. The user scrolls the mouse up. 3. NASA server is sending updated higher resolution tiles for the current area. 4. The application checks what the new height is after the zoom. 5. The application displays 3D object in the appropriate size.

Alternative Flows

Case: The mouse is not on the globe. Action: Nothing happens. Case: The user scrolls the mouse down. Action: The same flow, only for zoom-out instead of zoom-in.

Use Case 5 Actor Website user Name Panning Description The system shows the map and 3D objects according to the

current location. Trigger Drag & Drop on the mouse's left button. Pre-condition The user is logged in and the mouse is located on the globe. Post-condition The map is updated according to the new location. The user sees

his 3D objects on the aerial photography, according to new location.

Flow Of Events 1. The user locates the mouse on the globe. 2. The user drags & drops the mouse. 3. NASA server is sending updated tiles to the new area. 4. The application displays 3D object that should be presented on current location.

Alternative Flows

Case: The mouse is not on the globe. Action: Nothing happens.

Page 20: 3D Visualization Engine For Location Based …seproj/2009-2010/mansours/ARD.pdfThe project, 3D-visualization engine for location based information, executed for ScanTask company, which

20 | P a g e

Use Case 6 Actor Website user Name View Project's history Description The user can reload data from previous week. Trigger The user chooses the history option, according to a given week &

year. Pre-condition The user is logged in and the project information regarding the

requested week is exist. Post-condition The user views his 3D objects relevant to a specific requested

week, shown on the area map. Flow Of Events 1. The user selects from a combo box requested year & week.

The combo box contains only valid weeks (weeks we have data on). 2. The application asks the relevant information from the server. 3. The server returns appropriate user data objects. 4. The user can view the new data.

Alternative Flows

None.

Use Case 7 Actor Website user Name Move to coordinates. Description The user can center the map according to an input coordinate. Trigger The user insert X & Y coordinates and confirms. Pre-condition The user is logged in, valid X & Y values inserted. Post-condition The user sees his 3D objects, shown on the area map which is

centralized according to his given input in the same zoom level. Flow Of Events 1. The user chooses the "Move to coordinates" option.

2. The user inputs the X and Y coordinates of the desired location 3. The application requests relevant maps from NASA according to the new X & Y coordinates. 4. The system displays the new location with the relevant data.

Alternative Flows

Case: Invalid coordinates are inserted. Action: An error message will be displayed.

Page 21: 3D Visualization Engine For Location Based …seproj/2009-2010/mansours/ARD.pdfThe project, 3D-visualization engine for location based information, executed for ScanTask company, which

21 | P a g e

Use Case 8 Actor Website user Name Move to a stored benchmark. Description The user can center the map according to an existing known

point. Trigger The user chooses the stored benchmark from the pool. Pre-condition The user is logged in. Post-condition The user sees his 3D objects, shown on the area map which is

centralized according to the benchmark in the same zoom level. Flow Of Events 1. The user chooses the " benchmark " option.

2. The user chooses the benchmark of the desired location 3. The application requests relevant maps from NASA according to the benchmark's X & Y coordinates. 4. The system displays the new location with the relevant data.

Alternative Flows

None.

Use Case 9 Actor Website user Name Add benchmark Description The user can set new benchmark to a specific location. Trigger The user will choose the 'add benchmark' option and will choose

the location. Pre-condition The user is logged in, the mouse is on the globe, benchmark

name is unique. Post-condition The new benchmark is saved and added to pool. Flow Of Events 1. The user locates the map on the desired area.

2. The user chooses "add benchmark". 3. The user clicks mouse's left button to the desired point. 4. The application will ask the user to name the new benchmark and will add it to the pool.

Alternative Flows

Case: Name already exists. Action: Error message will be displayed. Case: The user will choose an invalid location. Action: Error message will be displayed.

Page 22: 3D Visualization Engine For Location Based …seproj/2009-2010/mansours/ARD.pdfThe project, 3D-visualization engine for location based information, executed for ScanTask company, which

22 | P a g e

Use Case 10 Actor Website user Name Tooltip information. Description The user can see the numeric value of each measurement, or

name of synthetic data. Trigger The user holds the mouse on the 3D object. Pre-condition The mouse is on the 3D object. Post-condition None. Flow Of Events 1. The user locates the mouse on the measurement object.

2. The system asks the numeric value of the object. 3. The system displays the object with the numeric value.

Alternative Flows

Case: The user holds the mouse on a synthetic object. Action: The system will display the name of the object.

Use Case 11 Actor Website user Name Show / Hide Objects Description The user can select which object types will be displayed. Trigger The user will select / deselect specific object type. Pre-condition The type exists. Post-condition The chosen type objects are displayed / hidden. Flow Of Events 1. The user will choose to remove a specific type of data.

2. All the data from that type disappears from the map. Alternative Flows

Case: The user chooses to display a specific type of data. Action: The system will display the data from that type on the map.

4.3 Special usage considerations

None.

Page 23: 3D Visualization Engine For Location Based …seproj/2009-2010/mansours/ARD.pdfThe project, 3D-visualization engine for location based information, executed for ScanTask company, which

23 | P a g e

5 Appendices

System Scheme

Page 24: 3D Visualization Engine For Location Based …seproj/2009-2010/mansours/ARD.pdfThe project, 3D-visualization engine for location based information, executed for ScanTask company, which

24 | P a g e

NASA World Wind World Wind is an open source 3D interactive world viewer that was created by NASA. World Wind was released for the first time in 2004. World Wind allows any user to zoom from outer space into any place on Earth. World Wind uses satellite imagery and elevation data to allow users to experience Earth terrain in visually rich 3D. World Wind can display thousands of places names all over the world, from country capitals to villages, and also country borders. Users can interact with the selected planet by rotating it, tilting the view, and zooming in and out. Not only are the satellite images available, but also information such as the height of the object you are looking at. World Wind can create a 3-D model of the area of interest. Apart from the Earth there are several worlds in World Wind: Moon, Mars, Venus and Jupiter (with its four moons). Many people using the applications are adding their own data. Key chart:

Bibliography: NASA World Wind Wikipedia

Page 25: 3D Visualization Engine For Location Based …seproj/2009-2010/mansours/ARD.pdfThe project, 3D-visualization engine for location based information, executed for ScanTask company, which

25 | P a g e

NASA World Wind Java The original recipe for World Wind was restricted to Windows, relying on the .NET libraries and DirectX. A new SDK version of World Wind has been developed in Java with JOGL referred to as World Wind Java (WWJ). This new version has an API. There are many applications developed by NASA and other users like satellite tracker, GIS platforms, photo editor, F-16 simulator, mission planning software and more. WWJ is a component that can be included in any application or applet that needs access to NASA's world data and imagery. In addition, NASA has partnered with several organizations that also provide valuable data that you can use. World Wind is not a copy of Google Earth, nor is it in competition with that software. Google Earth is great for looking up any location on earth, and viewing earth data in different ways, but with World Wind, you can incorporate the component into your application to bring together your own data with data from other companies, or to use NASA data in new and innovative ways. Class diagram:

Bibliography: NASA World Wind Wikipedia www.theage.com java.sun.com

Page 26: 3D Visualization Engine For Location Based …seproj/2009-2010/mansours/ARD.pdfThe project, 3D-visualization engine for location based information, executed for ScanTask company, which

26 | P a g e

NASA World Wind Images:

Page 27: 3D Visualization Engine For Location Based …seproj/2009-2010/mansours/ARD.pdfThe project, 3D-visualization engine for location based information, executed for ScanTask company, which

27 | P a g e

Agricultural technology and machinery Since the Industrial Revolution, and the development and complication of machine manufacture and planning, farming methods have changed - Instead of manual harvesting and threshing; today machines do most of the work. Agriculture vehicles, such as Tractors and Combines, allow the farmer to seed and work on a much larger land and with much less manpower. Today, planting and seeding a field is operated by a machine, which automatically spaces the seeds equally in long rows and columns. Another machine can be used to fertilize the field. A further area which has developed a lot is the Irrigation area. Modern irrigation uses engines, pumps, pipe lines and other specialized gear to provide water or spread fertilizer. Due to all that, modern harvesters and farmers will do a much better job than their predecessors, the combine of today still cuts, threshes, and separates grain in essentially the same way it has always been done. However, technology is changing the way that humans operate the machines, as computer monitoring systems, GPS locators, and self-steer programs allow the most advanced tractors and implements to be more precise and less wasteful in the use of fuel, seed, or fertilizer. In the foreseeable future, some agricultural machines will be capable of driving themselves, using GPS maps and electronic sensors.

Bibliography: ScienceDirect.com Wikipedia.org

Page 28: 3D Visualization Engine For Location Based …seproj/2009-2010/mansours/ARD.pdfThe project, 3D-visualization engine for location based information, executed for ScanTask company, which

28 | P a g e

Existing Situation There are a few programs / programs suites that can serve similar needs as our application. These programs are usually more general, in a sense that they can serve multiple needs and not perusing only agriculture needs - but also areas as Architecture, Security (mainly armies), Municipalities of states and cities, etc. Two of the lead programs are ArcGIS & MapInfo. We'll focus on ArcGIS for example: ArcGIS is a suite consisting of a group of geographic information system (GIS) software products. The suite includes:

ArcReader - allows one to view and query maps created with the other Arc products.

ArcView - allows one to view spatial data, create layered maps, and perform basic spatial analysis.

ArcEditor - which, in addition to the functionality of ArcView, includes more advanced tools for manipulation of shape files and geodatabases.

ArcInfo - includes capabilities for data manipulation, editing, and analysis. There are also server-based ArcGIS products, as well as ArcGIS products for PDAs. Extensions can be purchased separately to increase the functionality of ArcGIS. The main problems with these existing products are:

Price - these are very expensive products and designed for big companies (as municipalities and armies).

Complexity - their interface is usually not simple and won't suit the simple farmer, who is not necessarily familiar with latest technology. The organization who uses these products are usually train their staff (or a part of it) so they will have the knowledge to operate the system properly.

These are both resources that the simple farmer doesn't own. The main difference between the applications above will be the cost of product and the staff training There are free application that can generate Kriging algorithm (or some other specific functionality), but usually they will not be used together and it will be difficult to integrate between them. As for the NASA World Wind platform - There is a big and successful competitor, The Google Earth. The decision to build our application on NASA's platform is its definition as an open source project - the main concern in building such an application on Google's platform, is that Google will start, some day, to collect money for the Google Earth service.

Bibliography:

Wikipedia.org

Page 29: 3D Visualization Engine For Location Based …seproj/2009-2010/mansours/ARD.pdfThe project, 3D-visualization engine for location based information, executed for ScanTask company, which

29 | P a g e

Shepard Interpolation

Page 30: 3D Visualization Engine For Location Based …seproj/2009-2010/mansours/ARD.pdfThe project, 3D-visualization engine for location based information, executed for ScanTask company, which

30 | P a g e

Page 31: 3D Visualization Engine For Location Based …seproj/2009-2010/mansours/ARD.pdfThe project, 3D-visualization engine for location based information, executed for ScanTask company, which

31 | P a g e