Subversion Repositories eFlore/Projets.eflore-projets

Rev

Rev 1054 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

#!/bin/bash
#
# Script de lancement de l'integration des donnees OSM pour le geocodage inverse
# Mohcen BENMOUNAH & Jean-Pascal MILCENT [19 juillet 2011]
#
ageEnSeconde(){ expr `date +%s` - `stat -c %Y $1`; };

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 "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 -Xmx4G"

if [ ! -f "$DOSSIER_OSM/$FICHIER_OSM" ] || [ `ageEnSeconde "$DOSSIER_OSM/$FICHIER_OSM"` -gt 86000 ] ; then
        echo "Téléchargement du nouveau fichier PBF ...";
        wget $URL_FICHIER_OSM -O "$DOSSIER_OSM/$FICHIER_OSM"
else
        echo "Fichier $FICHIER_OSM existant à moins d'un jour.";
fi

if [ ! -f "$DOSSIER_OSM/$FICHIER_ZG_NEW" ] || [ `ageEnSeconde "$DOSSIER_OSM/$FICHIER_ZG_NEW"` -gt 86000 ] ; then
        echo "Filtrage du fichier en cours ...";
        $CHEMIN_OSMOSIS \
                -v \
                --read-pbf-fast "$DOSSIER_OSM/$FICHIER_OSM" workers=6 \
                --tf accept-relations admin_level=8 \
                --tf accept-relations type=boundary \
                --tf accept-relations ref:INSEE=* \
                --used-way \
                --used-node \
                --wx "$DOSSIER_OSM/$FICHIER_ZG_NEW"
fi

HEURE_DEBUT=`date +"%F %X"`;
echo "Début éxecution scripts php : $HEURE_DEBUT";

if [ ! -f "$DOSSIER_OSM/$FICHIER_ZG_OLD" ] ; then
        echo "Création des tables osm en cours ...";
        $CHEMIN_PHP -d memory_limit=$MEMORY_LIMIT_PHP $CHEMIN_SCRIPT/cli.php osm -a chargerStructureSql -v $VERBOSITE > $FICHIER_LOG

        echo "Analyse du fichier osm en cours ...";
        $CHEMIN_PHP -d memory_limit=$MEMORY_LIMIT_PHP $CHEMIN_SCRIPT/cli.php osm -a analyser -v $VERBOSITE -f "$DOSSIER_OSM/$FICHIER_ZG_NEW" >> $FICHIER_LOG
else
        echo "Suppression du fichier DIFF existant en cours ...";
        rm -f "$DOSSIER_OSM/$FICHIER_ZG_DIFF"

        echo "Déduction de la différence en cours ...";
        $CHEMIN_OSMOSIS\
                --read-xml file="$DOSSIER_OSM/$FICHIER_ZG_NEW" \
                --read-xml file="$DOSSIER_OSM/$FICHIER_ZG_OLD" \
                --derive-change \
                --write-xml-change file="$DOSSIER_OSM/$FICHIER_ZG_DIFF"

        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 "$DOSSIER_OSM/$FICHIER_ZG_DIFF" > $FICHIER_LOG
fi

echo "Renommage du fichier NEW en OLD en cours ...";
mv "$DOSSIER_OSM/$FICHIER_ZG_NEW" "$DOSSIER_OSM/$FICHIER_ZG_OLD"  >> $FICHIER_LOG

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

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

echo "Remise de l'ordre à zéro en cours ...";
$CHEMIN_PHP -d memory_limit=$MEMORY_LIMIT_PHP $CHEMIN_SCRIPT/cli.php osm -a zero -v $VERBOSITE  >> $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 -a ordonnerPolygoneInc -v $VERBOSITE  >> $FICHIER_LOG

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

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

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

HEURE_FIN=`date +"%F %X"`;
echo "Fin éxecution scripts php : $HEURE_FIN";