/** fix the resolution to something compatible with the resolutions available in tilecache. */ private Transformer fixTiledTransformer(Transformer transformer) { double resolution; // if clientResolution is passed from client use it explicitly if available otherwise calculate // nearest resolution if (this.context.getCurrentPageParams().has("clientResolution")) { float clientResolution = this.context.getCurrentPageParams().getFloat("clientResolution"); boolean hasServerResolution = false; for (double serverResolution : this.tileCacheLayerInfo.getResolutions()) { if (serverResolution == clientResolution) { hasServerResolution = true; } } if (!hasServerResolution) { return null; } else { resolution = clientResolution; } } else { double targetResolution = (transformer.getGeoW() / transformer.getStraightBitmapW()); TileCacheLayerInfo.ResolutionInfo resolutionInfo = tileCacheLayerInfo.getNearestResolution(targetResolution); resolution = resolutionInfo.value; } // TODO Gucken was mit diesem Transformer gemacht wird!!! transformer = transformer.clone(); transformer.setResolution(resolution); return transformer; }