Home

Awesome

mod_fillin AHTSE

An AHTSE module that uses lower resolution tiles from the source to generate output tiles which are not in the source. The source should be a sparse tile service. Missing tiles are recognized either by the HTTP Not Available (404) error, or by matching the source ETag.

Limitatons

Only 8 bit JPEG input and output are currently supported

Apache configuration directives, all three are required:

Fill_RegExp pattern
Can be present more than once, one of the patterns has to match the request URL

Fill_ConfigurationFiles SourceConfig Config
The first parameter is the source raster configuration, second one is the ahtse_fill configuration

Fill_Source path
Source for input tiles, an http internal redirect path

Directives in both SourceConfig and Config

Size X Y Z C
Mandatory, size of full resolution raster in pixels, MRF style

PageSize X Y 1 C
Optional, pagesize in pixels, defaults to interleaved 512x512

DataType type
If present, only Byte is valid

SkippedLevels N
Optional, defaults to 0, counted from the top of the MRF pyramid

Directives in the SourceConfig only

ETagSeed base32_value

A 64bit number formatted as a 13 base32 digits [0-9a-v]. In the input file, this exact value will be recognized as the missing tile, in addition to the HTTP NOT AVAILABLE (404) response.

Directives in the output configuration only

Quality N JPEG compression quality, between 0 and 99

Nearest On If set, oversampling gets done using the nearest input value, which may lead to pixelization The default oversampling is Nearest followed by a blur

BlurStrength N If not in nearest mode, the value controls the strength of the blur. A value between 0 and 10, where 10 is the strongest and 0 the weakest.

Use

Normally, the SourceConfig and the Config file are the same file. In this case, the module will insure that all output tiles are generated up to the full resolution, regardless of how the source behaves

Notes

Avoid internal server error due to recursion, by increase the limit from the default value of 10. A value of 25 should be plenty in most cases:
LimitInternalRecursion 25