Landkarte: Unterschied zwischen den Versionen

Aus Alexander's Wiki
K
 
(4 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 19: Zeile 19:


== Auflösung ==
== Auflösung ==
Gedruckt werden soll auf einem Drucker, der mit 300 dpi auflöst. Die Breite der Wand beträgt 54 cm.
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 Lade-Skript ==
Zeile 25: Zeile 25:
<source lang="bash">
<source lang="bash">
#!/bin/bash
#!/bin/bash
part_count=5
result_filename=germany.jpg
maptype=m #p


# Const
get_tiles()
zeile_offset=65
{
spalte_offset=39
  for (( j=1; j <= $j_end; j++ ))
  do
 
    y=$(($j + $column_offset))
trailing_j
 
    for (( i=1; i <= $i_end; i++ ))
    do
      x=$(($i + $row_offset))
  trailing_i
      wget "https://mt0.google.com/vt?lyrs=p&scale=2&x=${x}&y=${y}&z=${scale}&hl=loc" -O ${jlong}${j}x${ilong}${i}.jpg
    done


# Main
  done
for j in {1..5}
 
do
  echo "Now run: montage 'tiles/*.jpg' -tile ${i_end}x${j_end} -geometry +0+0 germany.jpg"
}


  y=$(($j + $spalte_offset))
trailing_i()
{
  ilong=
  zeros=$(($part_count - `expr length ${i}`))
  for (( k=1; k <= $zeros; k++ ))
    do
  ilong=0$ilong
  done
}


  for i in {1..4}
trailing_j()
  do
{
  jlong=
  zeros=$(($part_count - `expr length ${j}`))
  for (( k=1; k <= $zeros; k++ ))
    do
  jlong=0$jlong
  done
}
 
run_montage()
{
  montage '*.jpg' -tile ${i_end}x${j_end} -geometry +0+0 $result_filename
}


    x=$(($i + $zeile_offset))
scale_seven()
    wget "https://mt0.google.com/vt?lyrs=p&scale=2&x=${x}&y=${y}&z=7&hl=loc" -O ${j}x${i}.png
{
  scale=7
  row_offset=65
  column_offset=39
  j_end=5
  i_end=4
}


   done
scale_eight()
{
   scale=8
  row_offset=131
  column_offset=80
  j_end=9
  i_end=7
}


done
####### MAIN ##########
#rm -f *.jpg
#scale_seven
scale_eight
get_tiles
#run_montage
</source>
</source>



Aktuelle Version vom 3. Oktober 2015, 18:45 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
part_count=5
result_filename=germany.jpg
maptype=m #p

get_tiles()
{
  for (( j=1; j <= $j_end; j++ ))
  do

    y=$(($j + $column_offset))
	trailing_j

    for (( i=1; i <= $i_end; i++ ))
    do
       x=$(($i + $row_offset))
	   trailing_i
       wget "https://mt0.google.com/vt?lyrs=p&scale=2&x=${x}&y=${y}&z=${scale}&hl=loc" -O ${jlong}${j}x${ilong}${i}.jpg
    done

  done
  
  echo "Now run: montage 'tiles/*.jpg' -tile ${i_end}x${j_end} -geometry +0+0 germany.jpg"
}

trailing_i()
{
   ilong=
   zeros=$(($part_count - `expr length ${i}`))
   for (( k=1; k <= $zeros; k++ ))
     do
	   ilong=0$ilong
   done
}

trailing_j()
{
   jlong=
   zeros=$(($part_count - `expr length ${j}`))
   for (( k=1; k <= $zeros; k++ ))
     do
	   jlong=0$jlong
   done
}

run_montage()
{
  montage '*.jpg' -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=7
}

####### MAIN ##########
#rm -f *.jpg
#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!