Difference between revisions of "Environment Explorer"

From Gcube Wiki
Jump to: navigation, search
(Implementation)
(Implementation)
Line 21: Line 21:
 
*Interrogate a Thredds installation containing those features in the form of netCDF files
 
*Interrogate a Thredds installation containing those features in the form of netCDF files
 
*Retrieve information from those files by OpenDAP requests
 
*Retrieve information from those files by OpenDAP requests
 +
 +
 +
Input parameters of the functions are:
 +
 +
String layer (the name of the layer)
 +
String workspace (the name of a workspace on a geoserver containing the layer);
 +
float x : the longitude coordinate of the point
 +
float 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);

Revision as of 10:38, 23 May 2012

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 2-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 land is crucial in many applications of biology Gcube Services and user interfaces can need to enrich data associated to some points in order to better understand the characteristics of the sea or of the land which can influence the behavior of some species. Geo-Spatial data management can be difficult to retrieve, as it is not obvious that data are stored at the required resolution. In many cases data are not yet present on the infrastructure. We can distinguish such data in

  • 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 above cases.

Implementation

The Environment Explorer is a java library currently allowing to:

  • Interrogate a GeoNetwork installation for asking information about a certain features layer
  • Interrogate a GeoServer installation containing such feature 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 OpenDAP requests


Input parameters of the functions are:

String layer (the name of the layer) String workspace (the name of a workspace on a geoserver containing the layer); float x : the longitude coordinate of the point float 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);