Landkarte: Unterschied zwischen den Versionen
Aus Alexander's Wiki
Admin (Diskussion | Beiträge) |
Admin (Diskussion | Beiträge) |
||
Zeile 25: | Zeile 25: | ||
<source lang="bash"> | <source lang="bash"> | ||
#!/bin/bash | #!/bin/bash | ||
result_filename=germany.png | |||
get_tiles() | |||
{ | |||
for (( j=1; j <= $j_end; j++ )) | |||
do | |||
y=$(($j + $column_offset)) | |||
for (( i=1; i <= $i_end; i++ )) | |||
do | |||
x=$(($i + $row_offset)) | |||
wget "https://mt0.google.com/vt?lyrs=p&scale=2&x=${x}&y=${y}&z=${scale}&hl=loc" -O ${j}x${i}.png | |||
done | |||
done | |||
echo "Now run: montage 'tiles/*.png' -tile ${i_end}x${j_end} -geometry +0+0 germany.png" | |||
} | |||
run_montage() | |||
{ | |||
montage '*.png' -tile ${i_end}x${j_end} -geometry +0+0 $result_filename | |||
} | |||
scale_seven() | |||
{ | |||
scale=7 | |||
row_offset=65 | |||
column_offset=39 | |||
j_end=5 | |||
i_end=4 | |||
} | |||
scale_eight() | |||
{ | |||
scale=8 | |||
row_offset=131 | |||
column_offset=80 | |||
j_end=9 | |||
i_end=6 | |||
} | |||
####### MAIN ########## | |||
rm -f *.png | |||
#scale_seven | |||
scale_eight | |||
get_tiles | |||
run_montage | |||
</source> | </source> | ||
== Zusammenführen der Kacheln == | == Zusammenführen der Kacheln == |
Version vom 3. Oktober 2015, 07:47 Uhr
Google Maps
Kacheln von Google Maps lassen sich mit folgender URL herunterladen:
https://mt0.google.com/vt?lyrs=p&scale=2&x=67&y=42&z=7&hl=loc
Die Parameter haben dabei die folgende Bedeutung:
lyrs: Kartenlayer
p: Terrain mit Beschriftungen (Ländergrenzen, Ländernamen etc.)
m: Straßenkarten (Standard)
t: nur Terrain ohne Beschriftung
scale: Skalierung; 2 für Retinadisplays, doppelte Auflösung
x, y: Nummer der gewünschten Kachel
z: Zoomstufe (0 - 20)
hl: Sprache der Beschriftung
loc: Namen in Landessprache und Englisch (zweibuchstabig ISO-Ländercodes)
Eine Kachel hat eine Größe von 512 x 512 Pixel.
Auflösung
Gedruckt werden soll auf einem Drucker, der mit 300 dpi auflöst. Die Breite der Wand beträgt 54 cm (etwa 21,26 Inch bzw. Zoll).
Das Lade-Skript
Das folgende Skript lädt die Karte für Deutschland herunter. Es startet bei Kachel 66/40 und endet bei Kachel 69/44.
#!/bin/bash
result_filename=germany.png
get_tiles()
{
for (( j=1; j <= $j_end; j++ ))
do
y=$(($j + $column_offset))
for (( i=1; i <= $i_end; i++ ))
do
x=$(($i + $row_offset))
wget "https://mt0.google.com/vt?lyrs=p&scale=2&x=${x}&y=${y}&z=${scale}&hl=loc" -O ${j}x${i}.png
done
done
echo "Now run: montage 'tiles/*.png' -tile ${i_end}x${j_end} -geometry +0+0 germany.png"
}
run_montage()
{
montage '*.png' -tile ${i_end}x${j_end} -geometry +0+0 $result_filename
}
scale_seven()
{
scale=7
row_offset=65
column_offset=39
j_end=5
i_end=4
}
scale_eight()
{
scale=8
row_offset=131
column_offset=80
j_end=9
i_end=6
}
####### MAIN ##########
rm -f *.png
#scale_seven
scale_eight
get_tiles
run_montage
Zusammenführen der Kacheln
Falls noch nicht geschehen ImageMagick installieren:
apt-get install imagemagick libmagickcore5-extra ghostscript netpbm ufraw-batch gsfonts
Dann das zugehörige Programm montage mit folgendem Befehl bemühen:
montage 'tiles/*.png' -tile 4x5 -geometry +0+0 germany.png
Das kann sehr viel Arbeitsspeicher kosten!