GeoTools Layer

This page was last edited by FrankM on Wed, 27/02/2013 - 13:37

Summary - GeoTools Layer
Maintainer:

Pieter De Graef

Plug-in Type:Layer implementation
Status:Graduated  Code Style rating Provenance review rating Documentation rating Test coverage rating
Compatibility: back-end
Support Type:Official Geomajas plug-in

Community & Documentation

Plug-in description

This plug-in introduces a vector layer based on the GeoTools DataStore. This means that any type of datastore supported by GeoTools, can be accessed using this layer.

GeoTools is an open source (LGPL) Java code library which provides standards compliant methods for the manipulation of geospatial data, for example to implement Geographic Information Systems (GIS). The GeoTools library implements Open Geospatial Consortium (OGC) specifications as they are developed, in close collaboration with the GeoAPI project.

Currently GeoTools 2.7.5 is used, through which Geomajas supports amongst others the following formats:

  • Shape files
  • Databases: PostGIS, Oracle, SQL Server, JDBC, ...
  • ArcSDE
  • WFS
Note that only vectorial formats are supported through the GeoTools layer model! 

 

GeoTools is a well known Java library which is at the heart of many open source GIS packages (e.g. GeoServer). While GeoTools has done an excellent job in creating a generic datastore interface, sometimes a Hibernate Spatial model is recommended, especially when complex domain modelling is involved. On the other hand, GeoTools currently offers support for data services like WFS or ArcSDE and complex feature modelling seems to be on their roadmap.

One thing to be aware of when using GeoTools is the fact that its features have to implement a common Feature interface, which means that general POJO objects are not allowed. This means that, unlike with the Hibernate model, one cannot use domain objects that were made in a different context. Geomajas transparently handles both types of features (GeoTools and Hibernate Spatial) by delegating feature access to a specific implementation of the FeatureModel interface for each case.

Using this plug-in in Maven

In order to use this plug-in in your Maven-project, add the following dependency to the pom.xml:

	<dependency>
		<groupId></groupId>
		<artifactId></artifactId>
	</dependency>