GIS Viewer
GisViewer is a web application system that allows you to interactive explore, manipulate and analyze geographic data.
Overview
The goal is to provide a standalone interactive analysis tools for information that has one or more spatial characteristics, such as environment maps, geospatial areas, points of occurrence, and so on, all in a web app that must have a simple and intuitive interface that is also the most general possible.
Design
Philosophy
GisViewer is based on Exploratory Data Analysis (EDA) approach, using synergistically computer capabilities to do complex calculations and the man's ability to identify cognitive patterns.
The web-app uses the layer concept: a layer is a minimal visual form of spatial data, it can be a region map, a vector (such as a points set), a variables distribution, and so on. The GisViewer can show one or more layers in an interactive map, allowing users to dissect both information of a layer, and the relationships between more layers. It's possible to examinate more overlapped layers, by setting their transparencies, formats and filters. Tabular geospatial data can be extract by interactive selectiion of geographical area. Finally, geospatial data can be exported using several output formats.
Architecture
The subsystem comprises the following components:
- GisViewer Central Controller: manage all the internal components and their interactions;
- Layers Managers: a set of internal objects and widgets that represent a layer info;
- Openlayers Map: a set of internal objects and widgets that manage the map, taking advantage of Openlayers Framework;
- Data Features: a set of internal object and widgets that show and represent tabular geospatial data;
- Utils: a set of utilities, it include a cql filter manager and a WMS/WFS request url maker;
- Geonetwork: an external network of spatial objects, used for highly scalable storing of geospatial resources;
- GCubeGisViewer: an external wrapper which interact with some GCube components (such ASL, Workspace Light Tree, and so on).
A diagram of the relationships between these components is reported in the following figure:
Deployment
All the components of the widget must be deployed together in a single node. This subsystem can be replicated on multiple hosts and scopes, this does not guarantee a performance improvement because it is a management system for a single input dataset.