This project is no longer maintained!
provides a simple API to access http://www.opengeospatial.org/ OGC
WebMapServices (WMS). The API is tested within different projects and was originally developed within the Balance Project (see 02-Ostlaender.pdf
for some background information) as a basis for a browser enabled Web Client using Jakarta Struts, and the WMSAdapter of the OX-Framework
. The API includes the following functionalities:
- Accessing WMS supporting version 1.0.0, 1.1.0, 1.1.1
- Overlaying of different layers of different WMS.
- Some common functionality for panning and zooming
- Support of GetFeatureInfo
- Support of WebMap context documents
- Support of caching of requested images and capabilities
- Support of a special overview map for providing some orientation in a WMSClient
- Generated maps and context documents will be accessed through servlets.
- Support of a multi-thread model to retrieve maps of different services simultaniously
Download the source code in the following archives:
To compile the original sources you will need the libraries contained in the lib folder of the module.
Also you need following external libraries:
Place the compiled sources into the
of your Tomcat webapplication.
In the basic configuration the core uses the file
. This file can be edited according to the current Web Map Context Document specification (http://www.opengeospatial.org/specs/?page=specs click here to get the specification
). If you want to use a seperate context document you can specifiy one in the
. Please look at the sample web.xml posted here:
: Sample web.xml to get the wmsclientcore running with a seperate map context file
Building lib using Ant
Ant is a open source make tool provided by the Apache Software Foundation. For further information please visit the ANT website
Building a library out of the WMSClientCore is also an easy task. Just use the
which is placed in the root of the project. Some extra properties must be set:
destPath - the location you want to place the jar at. (e.g
log4JLocation - the location you want to write logging to.(e.g
resourceExcluded - enable flag if you want to (disable?) the
wmsclientCore.properties (this is very experimental and should only be used, if the classes folder of your WEB-INF contains a
The WmsClientCore can be configured through a properties file which is placed in
. There are several parameters which can be edited:
imageCacheSize - the cache size for images
imageCaching - if image caching is enabled [true/false]
errorImageNoLayer - location of the image, which will be rendered if no layer is enabled
errorImageBlank - location of the image, which will be rendered if an error occured
capabilitiesCacheSize - the number of capability documents which will be stored in cache
capabilitiesCaching - if capabilities caching is enabled [true/false]
errorImageNoWms - location of the image, which will be rendered if no WMS is added to the WMSClientCore
imageFormat - the supported image format (will not be used actually)
generalMapCollectionUrl - a URL which points to a context collection document, which itself points to different overview maps.
initialCtxID - the ID of the context, which will be rendered in the overview at startup.
To get used to the WMSClientCore you have to explore the code starting at the
. This is the central class.
In the case of a web application the
should be a session object which should be changed through user interaction. The
has to be set as a session object under the name "controller". If you choose a different name for it in the session you cannot use the servlets because the servlets (e.g.
) access the
instance in the session via the name controller.
Please generate the JavaDoc Documentation by your own, which is a simple task using Eclipse or ANT.
Originally written by Theodor Foerster, updated by Main.DanielNuest.