Feature caching in GeoTools and uDig

Presentation | Presented

  • Christophe Rousson, Centre for Research in Geomatics, Université Laval, Quebec QC
  • Ian TURTON, GeoVISTA center, Pennsylvania State University, University Park PA

GeoTools is a Java GIS library and is used to build GIS applications and as a foundation of other projects such as GeoServer and uDig. We present our work on developing new components to cache features in GeoTools.

More and more, data and users are distributed across the network and share resources. However, bandwidth and network access are limited
over space and time, depending on user location, technology or mobile context. Typical operational use cases require the ability to download only updates from data servers or to be able to disconnect from the network.

In this presentation, we first introduce the GeoTools data framework, which provides a high-level API to access consistently a number of
feature sources, and we show how we have built a caching framework on top of it.

We use spatial indexing to keep track of queries and features, and discuss the benefits and drawbacks of different approaches, with a focus on :
- methods to cache features
- type of index to use
- eviction strategy
- server-side or client-side index construction.

Finally we demonstrate how this framework is reusable and can be embedded in clients to achieve bandwidth-saving or disconnected mode. Updates may then be committed asynchronously, when possible, enhancing collaboration.

This framework could also be used to federate distributed data sources and provide locally cached WFS.

This project is sponsored by Google Summer of Code 2007.

Supporting Files