Environment Explorer

From Gcube Wiki
Jump to: navigation, search


The Environment Explorer is a library for investigating on the physical and chemical characteristics associated to a couple of coordinates. It is able to retrieve a set of features, that is a n-dimensional vector of real numbers, from a bi-dimensional point referring to a place on the earth.

Overview

The need for investigating on the physical and chemical characteristics of the sea or of the land is crucial in many applications of biology. On the other side gCube services and user interfaces can need to enrich data associated to some points, in order to let users better understand the characteristics which can influence the behavior of some species. Geo-Spatial data management can be difficult, as it is not obvious to retrieve which data are stored at the required resolution. In many cases data are not yet present on the infrastructure.

We could describe the situation as made up of:

  • Stored datasets: some physical or chemical features layer, containing information at a certain resolution, for a certain time period;
  • Remote datasets: some physical or chemical features layer, stored on a remote site, to be discovered by means of searching techniques. They will refer to certain time and resolution;
  • Potential datasets: some physical or chemical features which are not available for some points, but that can be produced by means of geospatial functions like kriging or resampling.

The Environment Explorer Library tries to address the first case as it is able to retrieve information from a repository of data endowed with geospatial information at a fixed resolution.

Implementation

The Environment Explorer is a java library currently allowing to:

  • Interrogate a Geo Network installation for asking information about a certain layer of features
  • Interrogate a Geo Server installation containing such layer
  • Sequentially obtain the features from the GeoServer by means of WFS calls
  • Interrogate a THREDDS installation containing those features in the form of netCDF files
  • Retrieve information from those files by means of OpenDAP requests

The following picture reports the interaction diagram towards external systems:

Environment Explorer Interaction For Information Retrieval

The input parameters of the functions are:

  • layer : the name of the layer
  • workspace : the name of a workspace on a geoserver containing the layer
  • x : the longitude coordinate of the point
  • y : the latitude coordinate of the point

Example

With the following input:

String layer = "enviroments";
String workspace = "wsenvironment";
float x = 0.1f;
float y = 0.1f;

we can interrogate the system in order to obtain a Map containing the key-value pairs for the layer contents:

HashMap<String, String> map = EnvDataExplorer.retrieveEnvInfoGeoNetwork(workspace,layer,x,y);

or we could simply obtain the names of the features:

List<String> list = EnvDataExplorer.getLayerFeaturesGeoNetwork(workspace,layer,x,y);

It is possible to directly obtain a GeoServer containing such information:

String geoserverURL = EnvDataExplorer.getGeoServer(workspace,layer);

and then to directly interrogate it:

HashMap<String, String> map2 = EnvDataExplorer.retrieveEnvInfoGeoServer(geoserverURL ,workspace,layer,x,y);

By default, the library uses some fixed parameters, referring to D4Science, in order to retrieve the GeoNetwork URL. These can be passed explicitly from outside if needed:

HashMap<String, String> map3 = EnvDataExplorer.retrieveEnvInfoGeoNetwork("http://geoserver.d4science-ii.research-infrastructures.eu/geonetwork/","username","password",workspace,layer,x,y);

Context

The Environment Explorer is used by the Environmental Service and is part of the Geospatial Data Discovery facility of D4Science.