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.