Difference between revisions of "GIS Interface"
(→Read GeoNetwork metadata) |
(→Read GeoNetwork metadata) |
||
Line 39: | Line 39: | ||
ScopeProvider.instance.set(...); | ScopeProvider.instance.set(...); | ||
GeoNetworkReader gn=GeoNetwork.get(); | GeoNetworkReader gn=GeoNetwork.get(); | ||
+ | </source> | ||
+ | |||
+ | ==== Query for metadata ==== | ||
+ | <source lang="java"> | ||
+ | // Form query object | ||
+ | GNSearchRequest req=new GNSearchRequest(); | ||
+ | req.addParam(GNSearchRequest.Param.any, "aquamaps"); | ||
+ | |||
+ | // Get Response Object | ||
+ | GNSearchResponse resp=gn.query(req); | ||
+ | |||
+ | if(resp.getCount()!=0) // Some metadata found | ||
+ | for(GNSearchResponse.GNMetadata metadata:resp){ | ||
+ | long id=metadata.getId(); // id to the actual metadata | ||
+ | Metadata meta=gn.getById(metadata.getUUID()); | ||
+ | System.out.println(meta); | ||
+ | } | ||
</source> | </source> | ||
Revision as of 17:37, 18 March 2013
The GIS-Interface is a java library which exposes methods to access / modify spatial data and related metadata. The library is designed to rely on GeoNetwork and GeoServer registered in the infrastructure.
The implementation is based on functionalities exposed by geoserver-manager and geonetwork-manager. These libraries are both developped by GeoSolutions under MIT License.
Contents
Modules
The library is distributed in 2 separate modules :
- org.gcube.spatial-data.geonetwork
- exposes functionalities to access / write metadata on GeoNetwork. Most applications which need basic functionalities like search and access to metadata should rely only on this component.
- org.gcube.spatial-data.gis-interface
- used to manage spatial data to/from GeoServer instances. Applications which generate/publish spatial data in the infrastructure should exploit its functionalities.
GeoNetwork module
In order to use org.gcube.spatial-data.geonetwork in your Maven project, you need to add this dependecy in your pom.xml file
<dependency> <groupId>org.gcube.spatial.data</groupId> <artifactId>geonetwork</artifactId> <version>1.0.0-SNAPSHOT</version> </dependency>
please, remind to follow guidelines declared in Developing gCube Maven Components.
ISO 19115:2003 metadata compliance
Metadata objects used by the libraries implement GeoAPI interfaces, which are fully compliant to ISO 19115:2003/19139. Current implementation is based on GeoToolkit Metadata module.
Read GeoNetwork metadata
Read Methods exposed by the library are the ones declared by the interface org.gcube.spatial.data.geonetwork.GeoNetworkReader.
Here are some snippets
Get Instance
Please note that the library uses the current scope in order to determine which geonetwork it should rely on.
ScopeProvider.instance.set(...); GeoNetworkReader gn=GeoNetwork.get();
Query for metadata
// Form query object GNSearchRequest req=new GNSearchRequest(); req.addParam(GNSearchRequest.Param.any, "aquamaps"); // Get Response Object GNSearchResponse resp=gn.query(req); if(resp.getCount()!=0) // Some metadata found for(GNSearchResponse.GNMetadata metadata:resp){ long id=metadata.getId(); // id to the actual metadata Metadata meta=gn.getById(metadata.getUUID()); System.out.println(meta); }