Discussion on what is being done to serve multiple layers of tiles, with different map styles on each layer
|Layer||Upload as||Tile URL||Status||Example|
|Main map||tile_z_x_y.png||tile.php/z/x/y.png||Active||Default map|
|Maplint||maplint_z_x_y.png||maplint.php/z/x/y.png||Uploads started, official tiles@home support from current client "Essen"||Karlsruhe in Maplint|
|Relief maps||relief_z_x_y.png||relief.php/z/x/y.png||Discusion about Relief maps||Maps-for-free.com|
Original design questions
- Use same server software for all layers
- Install server software on multiple machines, each hosting one layer
- Install copies of server software in multiple directories on dev, using a different database and filesystem for each
System 1 is the only one currently implemented.
Identifying layer on upload
Identified by filename of images within the uploaded zip file, previously tile_z_x_y.png was changed to layer_z_x_y.png where "tile" is still a valid layer name for backwards-compatibility.
Directory structure Tiles/tiles/zz/xxx/xxx/yyy/yyy.png - was changed to Tiles/layer/zz/xxx/xxx/yyy/yyy.png. Filenames are done in just one library file which was updated to take a layer parameter and default to "tile".
mod_rewrite rules have been added for 2 new layers, unfortunately these are cut/pasted for each layer at the moment, needs to be done more elegantly.
Database structure already supports this information, no changes needed
Are there any partitioning effects available in MySQL which could benefit from knowing that each layer is likely to be accessed separately?
Alternatively, since most database access is from uploads, which will be multiple layers in a single area, is partitioning by layer undesirable?
Browsing tiles, URLs
URL previously Tile/tile.php/z/x/y.png - changed to Tile/layer.php/z/x/y.png for layers in (tile,cycle,maplint)
Meta-info URLs will work with the new layers - just add _exists or _details to the end of any tile URL
TODO - can the proposers update this section with intended changes to the client
maplint rendering rules
See wiki page for Maplint development