[Talk-de] Karte drucken (Photopapier)

Martin Simon grenzdebil at gmail.com
Do Mai 6 09:20:05 UTC 2010


Am 4. Mai 2010 21:56 schrieb Volker <v-fischer at gmx.de>:

> Für eine Karte mit Höhenlinien habe ich mir ein script gebastelt (nicht lachen,
> sieht unprofessioniell aus, aber funktioniert ;) )

Wenn du dich traust, trau' ich mich auch mal.
Das hier benutze ich, um einen passenden Ausschnitt für ein gegebenes
Papierformat zu erhalten (sehr unprofessionell, auch unter debian
erstellt...)

#####start

#!/bin/bash
echo "Ort: $1"
echo "Maßstab: 1:$2"
echo "Blatt: $3"
echo "Orientierung: $4"


if [ $3 = "A0" ]; then
  y=1.189
  x=0.841
elif [ $3 = "A1" ]; then
  y=0.841
  x=0.594
elif [ $3 = "A2" ]; then
  y=0.594
  x=0.420
elif [ $3 = "A3" ]; then
  y=0.420
  x=0.297
elif [ $3 = "A4" ]; then
  y=0.297
  x=0.210
elif [ $3 = "A5" ]; then
  y=0.210
  x=0.148
elif [ $3 = "A6" ]; then
  y=0.148
  x=0.105
elif [ $3 = "A7" ]; then
  y=0.105
  x=0.074
fi

xrand=0.005
yrand=0.005

if [ $4 = "quer" ]; then
  xkm=$(echo "scale=4 ; $2*($y-($yrand*2))/2000" | bc)
  ykm=$(echo "scale=4 ; $2*($x-($xrand*2))/2000" | bc)
  else
  xkm=$(echo "scale=4 ; $2*($x-($xrand*2))/2000" | bc)
  ykm=$(echo "scale=4 ; $2*($y-($yrand*2))/2000" | bc)
fi


echo "Bereich $1 für DIN $3 $4 1:$2 gewählt. x=$xkm y=$ykm. Starte mapgen."
echo "Datei: $5"

perl mapgen.pl -in=$5 -out=$1.svg -pdf -png -style=topo.csv -scale
-scaleset=$2 -allowiconmove -declutter -legend=1 -place=$1
-latrad=$ykm -lonrad=$xkm


#####ende

Benutzung erfolgt z.B. so:

"sh cut-mapgen2.sh königswinter 50000 A4 hoch ../garmin-karte/koeln.osm.bz2"

Es gibt keine vernünftige Behandlung der Parameter oder einen Test, ob
die übergebenen Werte gültig, vorhanden oder verwendbar sind - ich bin
absoluter Laie und das Ding dient nur dazu, mir das Leben zu
erleichtern. ;-)

Gruß,

Martin




Mehr Informationen über die Mailingliste Talk-de