#!/bin/bash
#
# gpsfetchmap
# $Log: gpsfetchmap,v $
# Revision 1.6  2002/04/07 19:55:54  ganter
# bugfix in gpsdrive.c and gpsfetchmap
#
# Revision 1.5  2002/04/07 14:45:11  ganter
# changed line
# while [ `echo "$lat > $endlat" | bc` = 1 ]
# to
# while [ `echo "$lat < $endlat" | bc` = 1 ]
#
#
# by Fritz Ganter, Manfred Caruso
# 2001,2002

EXPEDIAFACT=1378.6
DIFF=0.0000028

if [ $# = 0 ]
then
   echo "ERROR: gpsfetchmap -h for help"
   exit
else
	case $1 in
	    --help | -h)
		echo "Usage: gpsfetchmap start-latitude start-longitude end-latitude end-longitude scale [mapserver]"
		echo "       mapserver = expedia (default) or mapblast"
		exit;;
	esac

	cd $HOME/.gpsdrive
	echo "Please make an internet connection!"
	scale=$5
	
	fileprefix="map_"
	lat=$1
	endlat=$3
	endlong=$4
	k=`echo "$DIFF * $scale" | bc`
	while [ `echo "$lat < $endlat" | bc` = 1 ]
	do
	  long=$2
	  while [ `echo "$long < $endlong" | bc` = 1 ]
	  do
	    filename=$fileprefix$scale-$lat-$long".gif"
	    case $6 in
	      mapblast)
	        wget -nd -O tmpmap.gif http://www.mapblast.com/gif?\&CT=$lat:$long:$scale\&IC=48.0:18.0:10:\&W=1280\&H=1024\&FAM=myblast\&DU=KM\&LB=
	      ;;
	      
	      *)
		expediascale=`echo "$scale / $EXPEDIAFACT" | bc`
	        wget -nd -O tmpmap.gif http://msrvmaps.mappoint.net/isapi/MSMap.dll?ID=3XNsF.\&C=$lat,$long\&L=EUR0809\&CV=1\&A=$expediascale\&S=1280,1024\&O=0.000000,0.000000\&MS=0\&P=
		scale=`echo "$expediascale * $EXPEDIAFACT" | bc`
	      ;;
	    esac
	    echo $filename $lat $long $scale >x.txt
	    mv tmpmap.gif $filename
	    cat x.txt >>map_koord.txt
	    long=`echo "$long + $k" | bc`
	  done
	  lat=`echo "$lat + $k" | bc`
	done

fi
