#!/bin/bash
# usage:
#   kal2kmlsuperoverlay-all "*.kal" opacity minLodPixels maxLodPixels prefix_kml prefix_image directory overlay.kml
#
# kann wg. xargs auch sehr viele Dateien per Wildcard im aktuellen Verzeichnis bearbeiten
#
# 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
# Die Anfhrungszeichen im Wildcard "*.kal" sind obligatorisch
#
# die KML-Dateien knnen auch zu einem KMZ zusammengefasst werden, auch ohne PNG
# allerdings mssen dann die PNG per absolutem Dateipfad adressiert werden:
# sed-nderung:
# batchreplace "top50*.kml" "<href>" "<href>D:\/DOC.2\/GEO\/Karten\/top50\/"

if [ $# -ne 8 ]; then
  echo 'Syntax:   kal2kmlsuperoverlay-all "*.kal" opacity minLodPixels maxLodPixels prefix_kml prefix_image directory overlay.kml'
  echo 'Beispiel: kal2kmlsuperoverlay-all "heimat_*.kal" 255 500 -1 kacheln "d:/karten/abc/kacheln" kacheln heimatoverlay.kml'
  exit
fi

hash kal2kmlsuperoverlay.exe

wildcard=$1
opacity=$2
minLodPixels=$3
maxLodPixels=$4
prefixkml=$5
prefiximage=$6
directory=$7
kmlfile=$8

find . -maxdepth 1 -name "$wildcard" -print0 | xargs -I '{}' -0 cat '{}' | kal2kmlsuperoverlay.exe $opacity $minLodPixels $maxLodPixels "$prefixkml" "$prefiximage" "$directory" "$kmlfile"
