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