This is a successor to BigMap script: a tool to stitch map tiles and produce a PNG image. Among improvements are:
- Better landing page with Leaflet and URL parsing.
- More than fifteen popular tile layers to choose from.
- KML, WLD and OziExplorer MAP meta files generation.
- Map downloading script can be produced in Python language.
- Fixed user agent and small pauses while downloading.
- Attribution on generated images.
- Server-side stitching with a queue.
The following directory structure is recommended:
| Path | Mode | Description |
|---|---|---|
./ |
0755 |
Place scripts from scripts directory here, with 0755 mode on them. |
./queue/ |
0777 |
Working directory that should be outside wwwroot. |
./queue/tasks/ |
0777 |
Task files will be put here by PHP scripts. |
./queue/queue |
0666 |
A queue file that will be modified by PHP scripts. |
./www/ |
0755 |
WWWRoot. Place PHP scripts here and point HTTP server to it. |
./www/result/ |
0777 |
A directory for generated image files. |
Then modify paths to be absolute in bigmap_download.pl and purge_images.pl scripts, so they can be
called by cron. Also change server address in bigmap_download.pl and size limit in purge_images.pl.
And add those two lines in crontab -e editor (your intervals may vary):
*/2 * * * * /var/www/.../bigmap_download.pl
2 */6 * * * /var/www/.../purge_images.pl
Of all PHP scripts only queue.php needs configuring: you should change e-mail in there, and may want to alter limits.
Tile limit is specified in $max_tiles variable in bigmap.php.
After changing tiles.txt you would want to update Leaflet layers in index.html. To do this, just check paths
in scripts/tiles2html.pl and run it.
All scripts were written by Ilya Zverev, partly based on public domain code by Frederik Ramm. Published under WTFPL license.