gedruckte Karten
Frank Jäger
frank at fotodrachen.de
Do Dez 3 16:53:48 CET 2009
Klaus Löfflad schrieb:
> Moin. Ich möchte etwas erstellen wie ein Strassenatlas jedoch mit einem
> anderen Focus. Einen Familienatlas von versch. Städten und Gegenden,
> idealerweise ganz D. In Form eines Atlanten mit Verweisen auf die
> Kartennummer an den Rändern.
>
> Primär geht es mir erstmal aus Interesse darum, wie man einen Atlas
> automatisiert herstellt. Mit Index, Seitennummern usw. Inhalt der Karte
> regelt dann ein Renderer.
>
Hallo Klaus,
man kann natürlich aus den Originaldaten eigene Karten rendern.
Eine Alternative ist: http://openstreetmap.gryph.de/bigmap.cgi
Auf der Webseite kannst du den gewünschten Ausschnitt konfigurieren.
Du erhälst per Download ein Script.
Wenn man das Script lokal ausführt, dann werden die Kacheln des
gewünschten Bereiches herunter geladen und zu einem großen Bild zusammen
"geklebt".
Das Script kann man für andere Städte auch manuell (im Quelltext)
anpassen. Man braucht nicht immer über die "gewöhnungsbedürftige" Seite
gehen.
Beispiele:
Lemgo - 8x6 tiles (2048x1536 px) at zoom 16, aspect 1.3:1 Osmarender
http://openstreetmap.gryph.de/bigmap.cgi?xmin=34385&xmax=34392&ymin=21635&ymax=21640&zoom=16&scale=256&baseurl=http%3A%2F%2Fc.tah.openstreetmap.org%2FTiles%2Ftile#
Lemgo - 16x12 tiles (4096x3072 px) at zoom 17, aspect 1.3:1
http://openstreetmap.gryph.de/bigmap.cgi?xmin=68770&xmax=68785&ymin=43270&ymax=43281&zoom=17&scale=256&baseurl=http%3A%2F%2Ftile.openstreetmap.org%2Fmapnik
der zweite Link generiert folgendes Perlscipt:
<perl>
#!/usr/bin/perl
# generated from http://openstreetmap.gryph.de/bigmap.cgi/
# permalink for this map:
http://openstreetmap.gryph.de/bigmap.cgi?xmin=68770&xmax=68785&ymin=43270&ymax=43281&zoom=17&scale=256&baseurl=http%3A%2F%2Ftile.openstreetmap.org%2Fmapnik
#
use strict;
use LWP;
use GD;
my $img = GD::Image->new(4096, 3072, 1);
my $white = $img->colorAllocate(248,248,248);
$img->filledRectangle(0,0,4096,3072,$white);
my $ua = LWP::UserAgent->new();
$ua->env_proxy;
for (my $x=0;$x<16;$x++)
{
for (my $y=0;$y<12;$y++)
{
my $url =
sprintf("http://tile.openstreetmap.org/mapnik/17/%d/%d.png",
$x+68770,$y+43270);
print STDERR "$url\n";
my $resp = $ua->get($url);
die $resp->status_line unless $resp->is_success;
my $tile = GD::Image->new($resp->content);
next if ($tile->width == 1);
$img->copy($tile, $x*256,$y*256,0,0,256,256);
}
}
binmode STDOUT;
print $img->png();
</perl>
Nach Download des Scripts ruft man es auf mit:
$ perl mkmap.pl > mymap.png
Auf der nächsten Ebene kann man dann mehrere solche Scripte ablegen und
aus einem Batchfile aufrufen. Damit kann man dann alle Karten des Atlas
aktualisieren.
--
Frank
Mehr Informationen über die Mailingliste OSM