GeoTools : Map, Layer, Data and Rendering Architecture

Currently GeoTools and uDig use different frameworks for defining maps and map layers, and they have different concepts for rendering and access to the data. In general, GeoTools is more straightforward and intuitive, whereas uDig introduces some interesting ideas that make the framework more abstract, but allow faster rendering or f.e. better management of remote data sources.

For the GeoWidgets project (which tries to create reusable GIS UI widgets) to be successful, it is required:

  • that there exists a good map/layer/rendering/data access framework within Geotools and
  • that the uDig developers find this architecture (and the widgets themselves) acceptable in order to use GeoWidgets as a basis for their (SWT-based) UI widgets.

This document shall contain ideas collected from GeoTools/GeoWidgets/Udig and other developers, on how such map/layer/rendering/data access API could look.

In order to structure this document following sub pages currently exist:

General design guidelines and goals

Describes why this effort is done and which general ideas have emerged.

Prior art - An evaluation of what exists in GeoTools, GeoAPI and Udig

Describes what is specific to the interfaces used in the mentioned libraries and applications and tries to find strengths and weaknesses.

Specific proposed concepts

Ideas and issues for the technical realization. Everybody is invided to share his/her thoughts on this.

A picture emerges - Visual progress

UML diagrams, code snippets and images that show how things could work.