swh:1:snp:ff2a11cd2e44dd19ec3814028ef2ce6605664e63
Raw File
Tip revision: 2518f238d428ef3f567ac2438992cbdeaa147d1e authored by Eric Fischer on 06 September 2017, 18:49:55 UTC
Use tippecanoe instead of tile-join in the filter example
Tip revision: 2518f23
limit-tiles-to-bbox
#!/usr/bin/perl

use Math::Trig;
use strict;

# http://wiki.openstreetmap.org/wiki/Slippy_map_tilenames
sub getTileNumber {
	my ($lat, $lon, $zoom) = @_;
	my $xtile = int(($lon + 180) / 360 * 2 ** $zoom);
	my $ytile = int((1 - log(tan(deg2rad($lat)) + sec(deg2rad($lat))) / pi) / 2 * 2 ** $zoom);
	return ($xtile, $ytile);
}

my ($minlon, $minlat, $maxlon, $maxlat, $z, $x, $y) = @ARGV;

my ($x1, $y1) = getTileNumber($maxlat, $minlon, $z);
my ($x2, $y2) = getTileNumber($minlat, $maxlon, $z);

if ($x >= $x1 && $x <= $x2 && $y >= $y1 && $y <= $y2) {
	while (<STDIN>) {
		print;
	}
} else {
	while (<STDIN>) {

	}
}
back to top