Environment Explorer
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.
Contents
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:
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.