Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion www/bigmap.php
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
$layers = get_layers($tiles, $zoom);
$redirect = 'http://'.$_SERVER['HTTP_HOST'].rtrim(dirname($_SERVER['PHP_SELF']), '/\\').'/';
$permalink = $redirect."bigmap.php?xmin=$xmin&xmax=$xmax&ymin=$ymin&ymax=$ymax&zoom=$zoom&scale=$scale&tiles=$tiles";
$basename = isset($_REQUEST['basename']) ? $_REQUEST['basename'] : 'bigmap';
$name = isset($_REQUEST['name']) ? $_REQUEST['name'] : 'Bigmap';

$action = isset($_REQUEST['action']) ? $_REQUEST['action'] : '';
if( $action == 'ozimap' ) {
Expand Down
3 changes: 3 additions & 0 deletions www/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,9 @@ <h1>BigMap 2</h1>
<input type="hidden" name="xmax" value="">
<input type="hidden" name="ymax" value="">
<input type="hidden" name="tiles" value="mapnik">
</br>
<p>Map Name:</br>
<input type="text" name="name" value=""></p>
<input type="submit" id="submit" value="Submit">
</form>
<p><a href="queue.php">Download queue</a></p>
Expand Down
4 changes: 2 additions & 2 deletions www/kml.php
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
<?php // BigMap 2 KML export. Written by Ilya Zverev, licensed WTFPL.
header('Content-type: application/vnd.google-earth.kml+xml');
header('Content-disposition: attachment; filename="'.$basename.'.kml"');
header('Content-disposition: attachment; filename="bigmap_' . $name . '.kml"');
echo '<?xml version="1.0" encoding="utf-8"?>'."\n";
?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<GroundOverlay>
<Icon>
<href><?=$basename ?>.png</href>
<href>bigmap_<?=$name ?>.png</href>
</Icon>
<LatLonBox>
<north><?=$lat_max ?></north>
Expand Down
4 changes: 2 additions & 2 deletions www/ozimap.php
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?php // BigMap 2 OziExplorer MAP export. Written by Ilya Zverev, licensed WTFPL.
header('Content-type: application/x-map');
header('Content-disposition: attachment; filename="'.$basename.'.map"');
header('Content-disposition: attachment; filename="bigmap_' . $name . '.map"');

$width = ($xmax - $xmin + 1) * 256;
$height = ($ymax - $ymin + 1) * 256;
Expand All @@ -16,7 +16,7 @@ function deg( $value, $is_lon ) {
?>
OziExplorer Map Data File Version 2.2
BigMap
<?=$basename ?>.png
bigmap_<?=$name ?>.png
1 ,Map Code,
WGS 84,WGS 84, 0.0000, 0.0000,WGS 84
Reserved 1
Expand Down
69 changes: 38 additions & 31 deletions www/panel.php
Original file line number Diff line number Diff line change
Expand Up @@ -8,83 +8,90 @@
$heipix = $heitiles*256;
$asp=asp($widtiles,$heitiles);

printf("Map is %dx%d tiles (%dx%d px) at zoom %d, aspect %s<br>",
$widtiles,$heitiles,$widpix,$heipix,$zoom,$asp);
echo "Map " . generateMapTitle($xmin,$xmax,$ymin,$ymax,$zoom,$scale,$tiles,$name);
printf(" is %dx%d tiles (%dx%d px) at zoom %d, aspect %s<br>", $widtiles,$heitiles,$widpix,$heipix,$zoom,$asp);
echo '<table cellspacing="0" cellpadding="2"><tr>';
echo tde(); // td("tl", "right", $xmin-1, $xmax, $ymin-1, $ymax, $zoom);
echo $ymin <= 0 ? tde('top') : td("top", "center", $xmin, $xmax, $ymin-1, $ymax, $zoom);
echo $ymin <= 0 ? tde('top') : td("top", "center", $xmin, $xmax, $ymin-1, $ymax, $zoom, $name);
echo tde(); // td("tr", "left", $xmin, $xmax+1, $ymin-1, $ymax, $zoom);
echo "<td>&nbsp;</td>";
echo tde(); // td("ul", "right", $xmin-1, $xmax-1, $ymin-1, $ymax-1, $zoom);
echo $ymin <= 0 ? tde('up') : td("up", "center", $xmin, $xmax, $ymin-1, $ymax-1, $zoom);
echo $ymin <= 0 ? tde('up') : td("up", "center", $xmin, $xmax, $ymin-1, $ymax-1, $zoom, $name);
echo tde(); // td("ur", "left", $xmin+1, $xmax+1, $ymin-1, $ymax-1, $zoom);
echo "<td>&nbsp;</td>";
echo tde(); // td("tl", "right", $xmin+1, $xmax, $ymin+1, $ymax, $zoom);
echo $ymin == $ymax ? tde('top') : td("top", "center", $xmin, $xmax, $ymin+1, $ymax, $zoom);
echo $ymin == $ymax ? tde('top') : td("top", "center", $xmin, $xmax, $ymin+1, $ymax, $zoom, $name);
echo tde(); // td("tr", "left", $xmin, $xmax-1, $ymin+1, $ymax, $zoom);
echo "</tr><tr>";
echo $xmin <= 0 ? tde('left', 'right') : td("left", "right", $xmin-1, $xmax, $ymin, $ymax, $zoom);
echo $xmin <= 0 ? tde('left', 'right') : td("left", "right", $xmin-1, $xmax, $ymin, $ymax, $zoom, $name);
echo "<td align='center' bgcolor='#aaaaaa'><b>EXPAND</b></td>";
echo $xmax >= $zoom2-1 ? tde('right', 'left') : td("right", "left", $xmin, $xmax+1, $ymin, $ymax, $zoom);
echo $xmax >= $zoom2-1 ? tde('right', 'left') : td("right", "left", $xmin, $xmax+1, $ymin, $ymax, $zoom, $name);
echo "<td>&nbsp;</td>";
echo $xmin <= 0 ? tde('left', 'right') : td("left", "right", $xmin-1, $xmax-1, $ymin, $ymax, $zoom);
echo $xmin <= 0 ? tde('left', 'right') : td("left", "right", $xmin-1, $xmax-1, $ymin, $ymax, $zoom, $name);
echo "<td align='center' bgcolor='#aaaaaa'><b>SHIFT</b></td>";
echo $xmax >= $zoom2-1 ? tde('right', 'left') : td("right", "left", $xmin+1, $xmax+1, $ymin, $ymax, $zoom);
echo $xmax >= $zoom2-1 ? tde('right', 'left') : td("right", "left", $xmin+1, $xmax+1, $ymin, $ymax, $zoom, $name);
echo "<td>&nbsp;</td>";
echo $xmin == $xmax ? tde('left', 'right') : td("left", "right", $xmin+1, $xmax, $ymin, $ymax, $zoom);
echo $xmin == $xmax ? tde('left', 'right') : td("left", "right", $xmin+1, $xmax, $ymin, $ymax, $zoom, $name);
echo "<td align='center' bgcolor='#aaaaaa'><b>SHRINK</b></td>";
echo $xmin == $xmax ? tde('right', 'left') : td("right", "left", $xmin, $xmax-1, $ymin, $ymax, $zoom);
echo $xmin == $xmax ? tde('right', 'left') : td("right", "left", $xmin, $xmax-1, $ymin, $ymax, $zoom, $name);
echo "</tr><tr>";
echo tde(); // td("bl", "right", $xmin-1, $xmax, $ymin, $ymax+1, $zoom);
echo $ymax >= $zoom2-1 ? tde('bottom') : td("bottom", "center", $xmin, $xmax, $ymin, $ymax+1, $zoom);
echo $ymax >= $zoom2-1 ? tde('bottom') : td("bottom", "center", $xmin, $xmax, $ymin, $ymax+1, $zoom, $name);
echo tde(); // td("br", "left", $xmin, $xmax+1, $ymin, $ymax+1, $zoom);
echo "<td>&nbsp;</td>";
echo tde(); // td("dl", "right", $xmin-1, $xmax-1, $ymin+1, $ymax+1, $zoom);
echo $ymax >= $zoom2-1 ? tde('down') : td("down", "center", $xmin, $xmax, $ymin+1, $ymax+1, $zoom);
echo $ymax >= $zoom2-1 ? tde('down') : td("down", "center", $xmin, $xmax, $ymin+1, $ymax+1, $zoom, $name);
echo tde(); // td("dr", "left", $xmin+1, $xmax+1, $ymin+1, $ymax+1, $zoom);
echo "<td>&nbsp;</td>";
echo tde(); // td("bl", "right", $xmin+1, $xmax, $ymin, $ymax-1, $zoom);
echo $ymin == $ymax ? tde('bottom') : td("bottom", "center", $xmin, $xmax, $ymin, $ymax-1, $zoom);
echo $ymin == $ymax ? tde('bottom') : td("bottom", "center", $xmin, $xmax, $ymin, $ymax-1, $zoom, $name);
echo tde(); // td("br", "left", $xmin, $xmax-1, $ymin, $ymax-1, $zoom);
echo "</tr><tr><td></td></tr>";
echo "<tr><td colspan='11'><table bgcolor='#aaaaaa' width='100%' border='0' cellpadding='0' cellspacing='0'><tr>";
echo "<td>&nbsp;</td>";
echo td("in/double size", "left", $xmin*2,$xmax*2+1,$ymin*2,$ymax*2+1,$zoom+1);
echo td("in/double size", "left", $xmin*2,$xmax*2+1,$ymin*2,$ymax*2+1,$zoom+1, $name);
echo "<td>&nbsp;</td>";
echo td("in/keep size", "left", $xmin*2+($xmax-$xmin)/2,$xmax*2-($xmax-$xmin)/2,$ymin*2+($ymax-$ymin)/2,$ymax*2-($ymax-$ymin)/2,$zoom+1);
echo td("in/keep size", "left", $xmin*2+($xmax-$xmin)/2,$xmax*2-($xmax-$xmin)/2,$ymin*2+($ymax-$ymin)/2,$ymax*2-($ymax-$ymin)/2,$zoom+1, $name);
echo "<td>&nbsp;</td>";
echo "<td bgcolor='#aaaaaa'><b>ZOOM</b></td>";
echo "<td>&nbsp;</td>";
echo td("out/keep size", "left", $xmin/2-($xmax-$xmin)/4,$xmax/2+($xmax-$xmin)/4,$ymin/2-($ymax-$ymin)/4,$ymax/2+($ymax-$ymin)/4,$zoom-1);
echo td("out/keep size", "left", $xmin/2-($xmax-$xmin)/4,$xmax/2+($xmax-$xmin)/4,$ymin/2-($ymax-$ymin)/4,$ymax/2+($ymax-$ymin)/4,$zoom-1, $name);
echo "<td>&nbsp;</td>";
echo td("out/halve size", "left", $xmin/2,$xmax/2,$ymin/2,$ymax/2,$zoom-1);
echo td("out/halve size", "left", $xmin/2,$xmax/2,$ymin/2,$ymax/2,$zoom-1, $name);
echo "</tr></table></td></tr><tr><td></td></tr>";
echo "<tr><td colspan='11'><table bgcolor='#aaaaaa' width='100%' border='0' cellpadding='0' cellspacing='0'><tr>";
echo "<td>&nbsp;</td>";
echo preg_replace('/\?[^"]+/', sprintf('index.html#map=%d/%f/%f',$zoom,($lat_min+$lat_max)/2,($lon_min+$lon_max)/2), td("<b>BigMap</b>", "left", $xmin,$xmax,$ymin,$ymax,$zoom));
echo preg_replace('/\?[^"]+/', sprintf('index.html#map=%d/%f/%f',$zoom,($lat_min+$lat_max)/2,($lon_min+$lon_max)/2), td("<b>BigMap</b>", "left", $xmin,$xmax,$ymin,$ymax,$zoom,$name));
echo "<td>&nbsp;</td>";
echo td("Permalink", "left", $xmin,$xmax,$ymin,$ymax,$zoom);
echo td("Permalink", "left", $xmin,$xmax,$ymin,$ymax,$zoom,$name);
echo "<td>&nbsp;</td>";
echo str_replace('?', '?action=ozimap&', td("OZI", "left", $xmin,$xmax,$ymin,$ymax,$zoom));
echo str_replace('?', '?action=ozimap&', td("OZI", "left", $xmin,$xmax,$ymin,$ymax,$zoom,$name));
echo "<td>&nbsp;</td>";
echo str_replace('?', '?action=wld&', td("WLD", "left", $xmin,$xmax,$ymin,$ymax,$zoom));
echo str_replace('?', '?action=wld&', td("WLD", "left", $xmin,$xmax,$ymin,$ymax,$zoom,$name));
echo "<td>&nbsp;</td>";
echo str_replace('?', '?action=perl&', td("Perl", "left", $xmin,$xmax,$ymin,$ymax,$zoom));
echo str_replace('?', '?action=perl&', td("Perl", "left", $xmin,$xmax,$ymin,$ymax,$zoom,$name));
echo "<td>&nbsp;</td>";
echo str_replace('?', '?action=python&', td("Py", "left", $xmin,$xmax,$ymin,$ymax,$zoom));
echo str_replace('?', '?action=python&', td("Py", "left", $xmin,$xmax,$ymin,$ymax,$zoom,$name));
echo "<td>&nbsp;</td>";
echo ($xmax-$xmin+1) * ($ymax-$ymin+1) > $max_tiles ? tde("Enqueue", "left") : str_replace('?', '?action=enqueue&', td("Enqueue", "left", $xmin,$xmax,$ymin,$ymax,$zoom));
echo ($xmax-$xmin+1) * ($ymax-$ymin+1) > $max_tiles ? tde("Enqueue", "left") : str_replace('?', '?action=enqueue&', td("Enqueue", "left", $xmin,$xmax,$ymin,$ymax,$zoom,$name));
echo "<td>&nbsp;</td>";
echo td("100", "left", $xmin,$xmax,$ymin,$ymax,$zoom,256);
echo td("100", "left", $xmin,$xmax,$ymin,$ymax,$zoom,$name,256);
echo "<td>/</td>";
echo td("50", "left", $xmin,$xmax,$ymin,$ymax,$zoom,128);
echo td("50", "left", $xmin,$xmax,$ymin,$ymax,$zoom,$name,128);
echo "<td>/</td>";
echo td("25%", "left", $xmin,$xmax,$ymin,$ymax,$zoom,64);
echo td("25%", "left", $xmin,$xmax,$ymin,$ymax,$zoom,$name,64);
echo "<td>&nbsp;</td>";
echo "<td align='right'><a href=\"#\" onclick=\"getElementById('control').style.display='none';\">hide this</a></td>";
echo "</tr></table></td></tr></table>";
echo "</div></div>";

function generateMapTitle($xmin,$xmax,$ymin,$ymax,$zoom,$scale,$tiles,$name) {
return sprintf("<b onclick='var newname=prompt(\"Enter your new name here\",\"%s\"); if(newname){location.href = \"?xmin=%d&xmax=%d&ymin=%d&ymax=%d&zoom=%d&scale=%d&tiles=%s&name=\" + encodeURIComponent(newname);}'>%s</b>",
$name,
$xmin,$xmax,$ymin,$ymax,$zoom,$scale,$tiles,
$name,$name);
}

# functions to create aspect ratio
function gcd($a,$b) {
return ($a % $b) ? gcd($b,$a % $b) : $b;
Expand All @@ -96,14 +103,14 @@ function asp($w, $h) {
}

# helper to display a table cell with a parametrized link inside
function td($what, $align, $xmi, $xma, $ymi, $yma, $zm, $scl = 0) {
function td($what, $align, $xmi, $xma, $ymi, $yma, $zm, $nm, $scl = 0) {
global $scale, $tiles;
if( !$scl ) $scl = $scale;
return sprintf('<td bgcolor="#aaaaaa" align="%s"><a href="?xmin=%d&xmax=%d&ymin=%d&ymax=%d&zoom=%d&scale=%d&tiles=%s" rel="nofollow">%s</a></td>',
return sprintf('<td bgcolor="#aaaaaa" align="%s"><a href="?xmin=%d&xmax=%d&ymin=%d&ymax=%d&zoom=%d&name=%s&scale=%d&tiles=%s" rel="nofollow">%s</a></td>',
$align,
$xmi, $xma,
$ymi, $yma,
$zm, $scl, $tiles, $what);
$zm, $nm, $scl, $tiles, $what);
}

function tde($text = '', $align = 'center') {
Expand Down
5 changes: 3 additions & 2 deletions www/perl.php
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?php // BigMap 2 Perl export. Written by Frederik Ramm and Ilya Zverev, licensed WTFPL.
header('Content-type: application/x-perl');
header('Content-disposition: attachment; filename="bigmap.pl"');
header('Content-disposition: attachment; filename="bigmap_' . $name . '.pl"');

$l = '';
foreach( $layers as $layer ) {
Expand All @@ -10,6 +10,7 @@
}
?>
#!/usr/bin/perl
# bigmap_<?=$name ?>.pl
# Generated by BigMap 2. Permalink: <?=$permalink ?>


Expand Down Expand Up @@ -63,7 +64,7 @@
$img->string(gdSmallFont, 5, $ysize*256 - 15, $attribution, $black);

my @t = localtime();
open PIC, sprintf('>map%02d-%02d%02d%02d-%02d%02d.png', $zoom, $t[5]%100, $t[4]+1, $t[3], $t[2], $t[1]);
open PIC, sprintf('>bigmap_<?=$name ?>%02d-%02d%02d%02d-%02d%02d.png', $zoom, $t[5]%100, $t[4]+1, $t[3], $t[2], $t[1]);
binmode PIC;
print PIC $img->png();
close PIC;
5 changes: 3 additions & 2 deletions www/python.php
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?php // BigMap 2 Python3 export. Written by Ilya Zverev and Michael Behrens, licensed WTFPL.
header('Content-type: application/x-python');
header('Content-disposition: attachment; filename="bigmap.py"');
header('Content-disposition: attachment; filename="bigmap_' . $name . '.py"');

$l = '';
foreach( $layers as $layer ) {
Expand All @@ -10,6 +10,7 @@
}
?>
#!/usr/bin/env python
# bigmap_<?=$name ?>.py
# Generated by BigMap 2. Permalink: <?=$permalink ?>


Expand Down Expand Up @@ -52,5 +53,5 @@
del draw

now = datetime.datetime.now()
outputFileName = "map%02d-%02d%02d%02d-%02d%02d.png" % (zoom, now.year % 100, now.month, now.day, now.hour, now.minute)
outputFileName = "bigmap_<?=$name ?>%02d-%02d%02d%02d-%02d%02d.png" % (zoom, now.year % 100, now.month, now.day, now.hour, now.minute)
resultImage.save(outputFileName)
2 changes: 1 addition & 1 deletion www/wld.php
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?php // BigMap 2 WLD export. Written by Ilya Zverev, licensed WTFPL.
header('Content-type: application/x-wld');
header('Content-disposition: attachment; filename="'.$basename.'.wld"');
header('Content-disposition: attachment; filename="bigmap_' . $name . '.wld"');

$width = ($xmax - $xmin + 1) * 256;
$height = ($ymax - $ymin + 1) * 256;
Expand Down