#!/bin/bash

#################################################################################
# Script escrito para situar un pequeño contorno sobre todas las teselas de los
# distintos niveles de zoom.
#
# Marcos Molina Cano - 21/12/2016
#################################################################################

# Comprobación de los parámetros de entrada.
if test ${#} -eq 1 ; then
  if test ${1} -ge 0 -a ${1} -le 19 ; then
    minZoom=0;
    maxZoom=${1}
  else
    echo "Introduce como parámetro de entrada un zoom tal que 0 <= zoom <= 19."
    exit
  fi
else
  echo "Introduce como parámetro de entrada el zoom."
  exit
fi

BASEDIR="/media/marcos/SSD/tiles_contornos"
#BASEDIR="/home/gfs/marcos/share"

if test ! -d ${BASEDIR} ; then
  echo "El directorio ${BASEDIR} no existe. Saliendo..."
  exit
fi

xmax=0
tilesmax=0

for ((z=${minZoom}; z<=${maxZoom}; z++)) ; do
  contador=1
  let tilesmax=4**${z}
  let xmax=2**${z}-1
  ymax=${xmax}
  for ((x=0; x<=${xmax}; x++)) ; do
    mkdir -p ${BASEDIR}/${z}/${x}
    cd ${BASEDIR}/${z}/${x}
    for ((y=0; y<=${ymax}; y++)) ; do
      pngFile=${y}.png
      if test -s ${pngFile} ; then
        echo "Ya existen los ficheros de la tesela ${z}/${x}/${y} (${contador} de ${tilesmax})"
        let contador=${contador}+1
        continue
      else
        echo "Generando tesela transparente ${z}/${x}/${y} (${contador} de ${tilesmax})"
        cp ${BASEDIR}/tesela_transparente.png ${y}.png
        let contador=${contador}+1
      fi
    done
  done
  echo "            ***"
done
