#!/bin/bash
# Mohcen BENMOUNAH & Jean-Pascal MILCENT [19 juillet 2011]
# Script de lancement de l'integration des donnees OSM pour le geocodage inverse
#
# Serveur
if [ -f config.cfg ] ; then
	source config.cfg
	echo $DATE;
else
	echo "Veuillez paramétrer le script en renommant le fichier 'config.defaut.cfg' en 'config.cfg'."
	exit;
fi

echo "Téléchargement du nouveau fichier OSM ...";
wget http://download.geofabrik.de/openstreetmap/europe/france.osm.bz2 -O "$CHEMIN_FICHIER_OSM/france.osm.bz2"

echo "Export de l'emplacement du binaire Java dans la variable d'environnement JAVACMD";
export JAVACMD="$CHEMIN_JAVA"

echo "Export de l'emplacement du dossier tmp pour Osmosis"
export JAVACMD_OPTIONS="-Djava.io.tmpdir=$OSMOSIS_DOSSIER_TMP"

echo "Filtrage du fichier en cours ...";
$CHEMIN_OSMOSIS \
	--fast-read-xml "$CHEMIN_FICHIER_OSM/france.osm.bz2" \
	--tf accept-relations admin_level=8 \
	--tf accept-relations type=boundary \
	--tf accept-relations ref:INSEE=* \
	--used-way \
	--used-node \
	--wx $CHEMIN_FICHIER_OSM/france_communes_new.osm

if [ ! -f "$CHEMIN_FICHIER_OSM/france_communes_old.osm" ] ; then
	echo "Analyse du fichier osm en cours ...";
	$CHEMIN_PHP -d memory_limit=$MEMORY_LIMIT_PHP $CHEMIN_SCRIPT/cli.php parseur_osm -a analyser -m manuel -f "$CHEMIN_FICHIER_OSM/france_communes_new.osm" > $FICHIER_LOG
else
	echo "Suppression du fichier DIFF existant en cours ...";
	rm -f "$CHEMIN_FICHIER_OSM/france_communes_diff.osm"

	echo "Déduction de la différence en cours ...";
	$CHEMIN_OSMOSIS\
		--read-xml file="$CHEMIN_FICHIER_OSM/france_communes_new.osm" \
		--read-xml file="$CHEMIN_FICHIER_OSM/france_communes_old.osm" \
		--derive-change \
		--write-xml-change file="$CHEMIN_FICHIER_OSM/france_communes_diff.osm"

	echo "Début de la mise à jour de base ...";
	$CHEMIN_PHP -d memory_limit=$MEMORY_LIMIT_PHP $CHEMIN_SCRIPT/cli.php mise_a_jour -a MAJ -f "$CHEMIN_FICHIER_OSM/france_communes_diff.osm" > $FICHIER_LOG
fi

echo "Renommage du fichier NEW en OLD en cours ...";
mv "$CHEMIN_FICHIER_OSM/france_communes_new.osm" "$CHEMIN_FICHIER_OSM/france_communes_old.osm"  >> $FICHIER_LOG

echo Traitement de l\'ordre en cours ...;
$CHEMIN_PHP -d memory_limit=$MEMORY_LIMIT_PHP $CHEMIN_SCRIPT/cli.php osm/parseur_osm -a ordre  >> $FICHIER_LOG

echo "Remplissage des polygones en cours ...";
$CHEMIN_PHP -d memory_limit=$MEMORY_LIMIT_PHP $CHEMIN_SCRIPT/cli.php osm/parseur_osm -a polygone >> $FICHIER_LOG

echo Remise de l\'ordre à zéro en cours ...;
$CHEMIN_PHP -d memory_limit=$MEMORY_LIMIT_PHP $CHEMIN_SCRIPT/cli.php osm/parseur_osm -a zero  >> $FICHIER_LOG

echo Traitement de l\'ordre des polygones incomplets en cours ...;
$CHEMIN_PHP -d memory_limit=$MEMORY_LIMIT_PHP $CHEMIN_SCRIPT/cli.php osm/parseur_osm -a ordonnerPolygoneInc  >> $FICHIER_LOG

echo "Remplissage des polygones incomplets en cours ...";
$CHEMIN_PHP -d memory_limit=$MEMORY_LIMIT_PHP $CHEMIN_SCRIPT/cli.php osm/parseur_osm -a remplirPolygoneInc >> $FICHIER_LOG

echo "Renommage des polygones incomplets en cours ...";
$CHEMIN_PHP -d memory_limit=$MEMORY_LIMIT_PHP $CHEMIN_SCRIPT/cli.php osm/parseur_osm -a renommer  >> $FICHIER_LOG

echo "Definition des centroïdes en cours ...";
$CHEMIN_PHP -d memory_limit=$MEMORY_LIMIT_PHP $CHEMIN_SCRIPT/cli.php osm/parseur_osm -a centre  >> $FICHIER_LOG

echo "FIN DE LA MISE A JOUR !";