#!/bin/bash

mycalc()  
{
	calc -- "$1"|tr -d '\t~' 
}

KAP="$1"; shift # kap file

[ -z "$KAP" ] && echo "usage: $0 <KAP file>" && exit 1

DTM_STR=(`cat $KAP|grep -a DTM/| tr -d '\r'`)
echo ${DTM_STR}
DTM=(`echo ${DTM_STR/DTM\/}|tr ',' ' '`)
[ -z "$DTM_STR" ] && DTM=(0,0)

if [ `mycalc "${DTM[0]}+${DTM[1]}"` == '0' ]; then
	GDAL_CMD="gdal_translate -of VRT -expand rgba $KAP $KAP.vrt"
else
	REFS=(`cat $KAP|grep -a REF/| tr -d '\r'`)
	GDAL_CMD="gdal_translate -a_srs '+proj=latlong +datum=WGS84 +no_defs'"
	for REF_STR in ${REFS[@]}; do 
		GCP=(`echo ${REF_STR}|tr ',/' '  '`)
		echo ${REF_STR}
#		echo "${GCP[@]}"
		GDAL_CMD="${GDAL_CMD} -gcp ${GCP[2]} ${GCP[3]} `mycalc "${GCP[5]}+(${DTM[1]}/3600)"` `mycalc "${GCP[4]}+(${DTM[0]}/3600)"`"
	done
	GDAL_CMD="${GDAL_CMD} -expand rgba"
	GDAL_CMD="${GDAL_CMD} -of VRT $KAP $KAP.vrt"
fi

echo "$GDAL_CMD"
eval "$GDAL_CMD"

PLYS=(`cat $KAP|grep -a PLY/| tr -d '\r'`)
CSV="$KAP.csv"
echo >$CSV WKT,dummy
echo -n >>$CSV '"POLYGON (('
#echo "name,longitude,latitude"
for PLY_STR in ${PLYS[@]}; do 
	PLY=(`echo ${PLY_STR}|tr ',/' '  '`)
	echo ${PLY_STR}
#	echo "\"${PLY[0]}_${PLY[1]}\",`mycalc "${PLY[3]}+(${DTM[1]}/3600)"`,`mycalc "${PLY[2]}+(${DTM[0]}/3600)"`"
	[ "$NOT_FIRST" ] && echo -n >>$CSV ','
	NOT_FIRST='yes'
	echo -n >>$CSV "`mycalc "${PLY[3]}+(${DTM[1]}/3600)"` `mycalc "${PLY[2]}+(${DTM[0]}/3600)"`"
done
echo >>$CSV '))",' 

rm $KAP.tiff
gdalwarp -wo "INIT_DEST=NO_DATA" $KAP.vrt $KAP.tiff -cutline $CSV

