#!/bin/bash
# usage:
#   gmf2kmzsuperoverlay map.gmf superoverlay.kmz opacity minLodPixels maxLodPixels
#
# Glopus-Kartenkacheln in ein GoogleEarth-Superoverlay packen
# mit Transparenzwert opacity [0..255]
# Die Kacheln werden bei einer Pixelgre (Wurzel aus Flche) 
# zwischen minLodPixels maxLodPixels dargestellt.
# Z.b. minLodPixels=500 (halbe Kachelgre), maxLodPixels=-1
# Nicht zu viele Kacheln gleichzeitig darstellen (>100), sonst strzt Google ab.
# Kacheln ausserhalb des Sichtbereiches und Zoomlevel werden nicht aktiviert.
#
# Die 4 Kalibrierpunkte sollen in den 4 Kachelecken liegen.
# In den KAL-Dateien sollen nur die Grafikdateinamen und keine Pfade stehen.
# Die Grafikdateien sollen im aktuellen Verzeichnis liegen

if [ $# -ne 5 ]; then
  echo 'Syntax:   gmf2kmzsuperoverlay map.gmf superoverlay.kmz opacity minLodPixels maxLodPixels'
  echo 'Beispiel: gmf2kmzsuperoverlay karte.gmf karteoverlay.kmz 255 500 -1'
  exit
fi

mapfile=$1
kmzfile=$2
opacity=$3
minLodPixels=$4
maxLodPixels=$5

tempdir=`mktemp -d`
mkdir $tempdir/archive
mkdir $tempdir/archive/tiles

gmf-kmlsuperoverlay.exe "$mapfile" $opacity $minLodPixels $maxLodPixels tiles/ "" $tempdir/archive/tiles $tempdir/archive/doc.kml

# KMZ-Archive packen
rm "$kmzfile"
bash -c "cd $tempdir/archive ; zip -9 -r archive.kmz doc.kml tiles"
mv $tempdir/archive/archive.kmz "$kmzfile"

rm -r $tempdir
