Difference between revisions of "Environment Explorer"

From Gcube Wiki
Jump to: navigation, search
m
 
(10 intermediate revisions by 2 users not shown)
Line 1: Line 1:
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.
+
<!-- CATEGORIES -->
 +
[[Category:Developer's Guide]][[Category: gCube Spatial Data Infrastructure]]
 +
 
 +
<!-- END CATEGORIES -->
 +
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 ==
 
== Overview ==
The need for investigating on the physical and chemical characteristics of the sea or of land is crucial in many applications of biology
+
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.
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, 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.
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
+
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;
 
*Stored datasets: some physical or chemical features layer, containing information at a certain resolution, for a certain time period;
Line 11: Line 15:
 
*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.
 
*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.
+
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 ==
 
== Implementation ==
 
The Environment Explorer is a java library currently allowing to:
 
The Environment Explorer is a java library currently allowing to:
  
*Interrogate a GeoNetwork installation for asking information about a certain features layer
+
*Interrogate a [http://geonetwork-opensource.org/ Geo Network] installation for asking information about a certain layer of features
*Interrogate a GeoServer installation containing such feature layer
+
*Interrogate a [http://geoserver.org/display/GEOS/Welcome Geo Server] installation containing such layer
 
*Sequentially obtain the features from the GeoServer by means of WFS calls
 
*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
+
*Interrogate a [http://www.unidata.ucar.edu/projects/THREDDS/ 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 means of OpenDAP requests
  
 +
The following picture reports the interaction diagram towards external systems:
  
Input parameters of the functions are:
+
[[Image:environmentexplorer.png|frame|center|Environment Explorer Interaction For Information Retrieval]]
  
String layer (the name of the layer)
+
The input parameters of the functions are:
String workspace (the name of a workspace on a geoserver containing the layer);
+
 
float x : the longitude coordinate of the point
+
* layer : the name of the layer
float y : the latitude coordinate of the point
+
* 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 ==
 
== Example ==
  
 
With the following input:
 
With the following input:
 
+
<source lang="java5" highlight="4">
''String layer = "enviroments";''
+
String layer = "enviroments";
 
+
String workspace = "wsenvironment";
''String workspace = "wsenvironment";''
+
float x = 0.1f;
 
+
float y = 0.1f;
''float x = 0.1f;''
+
</source>
 
+
''float y = 0.1f;''
+
  
 
we can interrogate the system in order to obtain a Map containing the key-value pairs for the layer contents:
 
we can interrogate the system in order to obtain a Map containing the key-value pairs for the layer contents:
 
+
<source lang="java5" highlight="4">
''HashMap<String, String> map = EnvDataExplorer.retrieveEnvInfoGeoNetwork(workspace,layer,x,y);''
+
HashMap<String, String> map = EnvDataExplorer.retrieveEnvInfoGeoNetwork(workspace,layer,x,y);
 +
</source>
  
 
or we could simply obtain the names of the features:
 
or we could simply obtain the names of the features:
 
+
<source lang="java5" highlight="4">
''List<String> list = EnvDataExplorer.getLayerFeaturesGeoNetwork(workspace,layer,x,y);''
+
List<String> list = EnvDataExplorer.getLayerFeaturesGeoNetwork(workspace,layer,x,y);
 
+
</source>
 
It is possible to directly obtain a GeoServer containing such information:
 
It is possible to directly obtain a GeoServer containing such information:
 +
<source lang="java5" highlight="4">
 +
String geoserverURL = EnvDataExplorer.getGeoServer(workspace,layer);
 +
</source>
 +
and then to directly interrogate it:
 +
<source lang="java5" highlight="4">
 +
HashMap<String, String> map2 = EnvDataExplorer.retrieveEnvInfoGeoServer(geoserverURL ,workspace,layer,x,y);
 +
</source>
  
''String geoserverURL = EnvDataExplorer.getGeoServer(workspace,layer);''
+
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:
 
+
and then to directly interrogate it:
+
  
''HashMap<String, String> map2 = EnvDataExplorer.retrieveEnvInfoGeoServer(geoserverURL ,workspace,layer,x,y);''
+
<source lang="java5" highlight="4">
 +
HashMap<String, String> map3 = EnvDataExplorer.retrieveEnvInfoGeoNetwork("http://geoserver.d4science-ii.research-infrastructures.eu/geonetwork/","username","password",workspace,layer,x,y);
 +
</source>
  
 
== Context ==
 
== Context ==
 
The Environment Explorer is used by the [[Environmental Service]] and is part of the [[Geospatial Data Discovery]] facility of D4Science.
 
The Environment Explorer is used by the [[Environmental Service]] and is part of the [[Geospatial Data Discovery]] facility of D4Science.

Latest revision as of 14:19, 6 July 2016


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.