#!/bin/bash
## No cik gabaliem taisīsim lielāku karti - kartes gabaliņi tiks vilkti 1/$KarsuSkaits malu attiecībā (tā ir ātrāk)
KarsuSkaits=10
## Kāds būs mazās kartes platums - 500 labi pilsētām, citur pietiek ar 2000
XSOLIS=2000
## Kur novietosim izveidotās kartes
mkdir map$XSOLIS
MAPDIR=map$XSOLIS
## Sākums un beigas X un Y koordinātu plaknē - te ir visa Latvija un vēl biki
LV_X_START=313000
LV_Y_START=6172000
LV_X_BEIGAS=763000
LV_Y_BEIGAS=6439000
## funkcija karte, kas savāc mazos gabaliņus un izveido karti
function karte() {
## No kuras X koordinātes sāksim vilkt kartes
XSAKUMS=$1
## No kuras Y ordinātes sāksim vilkt kartes
YSAKUMS=$2
## Aprēķinam X un Y koordināšu beigas.
XBEIGAS=$(($XSAKUMS + $KarsuSkaits * $XSOLIS ))
YBEIGAS=$(($YSAKUMS + $KarsuSkaits * $XSOLIS ))
X1=$XSAKUMS
## Nobīde +10, lai kartes numurā būtu 2 cipari un montage tās saliktu pareizā secībā.
for kartite in `seq 11 $(($KarsuSkaits+10))`
do
# mazo kartīti velkam 1/$KarsuSkaits izmērā
wget -q "http://maps.kartes.lv/kijs/get_map.php?BBOX=$X1,$YSAKUMS,$(($X1+$XSOLIS)),$YBEIGAS&KIJS=BM45" -O tmp-$XSAKUMS-$kartite.gif
X1=$(($X1+$XSOLIS))
done
## Izplānojam kartes nosaukumus
KartesNosaukums="$XSAKUMS-$YSAKUMS-$XBEIGAS-$YBEIGAS"
## Izplānojam kartes nosaukumus priekš TurboGPS
## LU - Left Upper - kreisais augšējais stūris koordinātes
XLU=`echo $XSAKUMS $YBEIGAS | cs2cs +proj=tmerc +lat_0=0 +lon_0=24 +k=0.999600 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=-199.87,74.79,246.62,0,0,0,0 +units=m -f "%.8f" | awk '{print $1}'`
YLU=`echo $XSAKUMS $YBEIGAS | cs2cs +proj=tmerc +lat_0=0 +lon_0=24 +k=0.999600 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=-199.87,74.79,246.62,0,0,0,0 +units=m -f "%.8f" | awk '{print $2}'`
## RL - Right Lower - labais apakšējais stūris koordinātei
XRL=`echo $XBEIGAS $YSAKUMS | cs2cs +proj=tmerc +lat_0=0 +lon_0=24 +k=0.999600 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=-199.87,74.79,246.62,0,0,0,0 +units=m -f "%.8f" | awk '{print $1}'`
YRL=`echo $XBEIGAS $YSAKUMS | cs2cs +proj=tmerc +lat_0=0 +lon_0=24 +k=0.999600 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=-199.87,74.79,246.62,0,0,0,0 +units=m -f "%.8f" | awk '{print $2}'`
TGPSKOORD=$XLU'_'$YLU'_'$XRL'_'$YRL
## No mazajām kartēm izveidojam vienu lielāku karti
echo montage tmp-$XSAKUMS-* -tile "$KarsuSkaits"x1 -geometry 200x2000 $KartesNosaukums.gif
montage tmp-$XSAKUMS-* -tile "$KarsuSkaits"x1 -geometry 200x2000 $MAPDIR/$KartesNosaukums.gif
## Un izveidojam kopiju priekš turboGPS
cp -v $MAPDIR/$KartesNosaukums.gif $MAPDIR/$TGPSKOORD'_2000_2000.gif'
}
## Nosūtam funkcijai X un Y sākuma koordinātes
#start=352000
KartesXSolis=$(($XSOLIS*$KarsuSkaits))
KartesYSolis=$(($XSOLIS*$KarsuSkaits))
for YNr in `seq $LV_Y_START $KartesYSolis $LV_Y_BEIGAS`
do
for XNr in `seq $LV_X_START $KartesXSolis $LV_X_BEIGAS`
do
karte $XNr $YNr
done
done
ceturtdiena, 2010. gada 24. jūnijs
Latvijas kartes priekš TurboGPS
Skripts, kas savāc kartes ar visu Latviju un savāktās kartes pārsauc TurboGPS saprotamā veidā.