1046 |
jpm |
1 |
#!/bin/bash
|
|
|
2 |
#
|
|
|
3 |
# Script de lancement de l'integration des donnees OSM pour le geocodage inverse
|
|
|
4 |
# Mohcen BENMOUNAH & Jean-Pascal MILCENT [19 juillet 2011]
|
|
|
5 |
#
|
|
|
6 |
ageEnSeconde(){ expr `date +%s` - `stat -c %Y $1`; };
|
|
|
7 |
|
|
|
8 |
if [ -f config.cfg ] ; then
|
|
|
9 |
source config.cfg
|
|
|
10 |
echo $DATE;
|
|
|
11 |
else
|
|
|
12 |
echo "Veuillez paramétrer le script en renommant le fichier 'config.defaut.cfg' en 'config.cfg'."
|
|
|
13 |
exit;
|
|
|
14 |
fi
|
|
|
15 |
|
|
|
16 |
echo "Export de l'emplacement du binaire Java dans la variable d'environnement JAVACMD";
|
|
|
17 |
export JAVACMD="$CHEMIN_JAVA"
|
|
|
18 |
|
|
|
19 |
echo "Export de l'emplacement du dossier tmp pour Osmosis"
|
|
|
20 |
export JAVACMD_OPTIONS="-Djava.io.tmpdir=$OSMOSIS_DOSSIER_TMP -Xmx4G"
|
|
|
21 |
|
|
|
22 |
if [ ! -f "$DOSSIER_OSM/$FICHIER_OSM" ] || [ `ageEnSeconde "$DOSSIER_OSM/$FICHIER_OSM"` -gt 86000 ] ; then
|
|
|
23 |
echo "Téléchargement du nouveau fichier PBF ...";
|
|
|
24 |
wget $URL_FICHIER_OSM -O "$DOSSIER_OSM/$FICHIER_OSM"
|
|
|
25 |
else
|
|
|
26 |
echo "Fichier $FICHIER_OSM existant à moins d'un jour.";
|
|
|
27 |
fi
|
|
|
28 |
|
|
|
29 |
if [ ! -f "$DOSSIER_OSM/$FICHIER_ZG_NEW" ] || [ `ageEnSeconde "$DOSSIER_OSM/$FICHIER_ZG_NEW"` -gt 86000 ] ; then
|
|
|
30 |
echo "Filtrage du fichier en cours ...";
|
|
|
31 |
$CHEMIN_OSMOSIS \
|
|
|
32 |
-v \
|
|
|
33 |
--read-pbf-fast "$DOSSIER_OSM/$FICHIER_OSM" workers=6 \
|
|
|
34 |
--tf accept-relations admin_level=8 \
|
|
|
35 |
--tf accept-relations type=boundary \
|
|
|
36 |
--tf accept-relations ref:INSEE=* \
|
|
|
37 |
--used-way \
|
|
|
38 |
--used-node \
|
|
|
39 |
--wx "$DOSSIER_OSM/$FICHIER_ZG_NEW"
|
|
|
40 |
fi
|
|
|
41 |
|
|
|
42 |
HEURE_DEBUT=`date +"%F %X"`;
|
|
|
43 |
echo "Début éxecution scripts php : $HEURE_DEBUT";
|
|
|
44 |
|
|
|
45 |
if [ ! -f "$DOSSIER_OSM/$FICHIER_ZG_OLD" ] ; then
|
|
|
46 |
echo "Création des tables osm en cours ...";
|
|
|
47 |
$CHEMIN_PHP -d memory_limit=$MEMORY_LIMIT_PHP $CHEMIN_SCRIPT/cli.php osm -a chargerStructureSql -v $VERBOSITE > $FICHIER_LOG
|
|
|
48 |
|
|
|
49 |
echo "Analyse du fichier osm en cours ...";
|
|
|
50 |
$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
|
|
|
51 |
else
|
|
|
52 |
echo "Suppression du fichier DIFF existant en cours ...";
|
|
|
53 |
rm -f "$DOSSIER_OSM/$FICHIER_ZG_DIFF"
|
|
|
54 |
|
|
|
55 |
echo "Déduction de la différence en cours ...";
|
|
|
56 |
$CHEMIN_OSMOSIS\
|
|
|
57 |
--read-xml file="$DOSSIER_OSM/$FICHIER_ZG_NEW" \
|
|
|
58 |
--read-xml file="$DOSSIER_OSM/$FICHIER_ZG_OLD" \
|
|
|
59 |
--derive-change \
|
|
|
60 |
--write-xml-change file="$DOSSIER_OSM/$FICHIER_ZG_DIFF"
|
|
|
61 |
|
|
|
62 |
echo "Début de la mise à jour de base ...";
|
|
|
63 |
$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
|
|
|
64 |
fi
|
|
|
65 |
|
|
|
66 |
echo "Renommage du fichier NEW en OLD en cours ...";
|
|
|
67 |
mv "$DOSSIER_OSM/$FICHIER_ZG_NEW" "$DOSSIER_OSM/$FICHIER_ZG_OLD" >> $FICHIER_LOG
|
|
|
68 |
|
|
|
69 |
echo "Traitement de l'ordre en cours ...";
|
|
|
70 |
$CHEMIN_PHP -d memory_limit=$MEMORY_LIMIT_PHP $CHEMIN_SCRIPT/cli.php osm -a ordre -v $VERBOSITE >> $FICHIER_LOG
|
|
|
71 |
|
|
|
72 |
echo "Remplissage des polygones en cours ...";
|
|
|
73 |
$CHEMIN_PHP -d memory_limit=$MEMORY_LIMIT_PHP $CHEMIN_SCRIPT/cli.php osm -a polygone -v $VERBOSITE >> $FICHIER_LOG
|
|
|
74 |
|
|
|
75 |
echo "Remise de l'ordre à zéro en cours ...";
|
|
|
76 |
$CHEMIN_PHP -d memory_limit=$MEMORY_LIMIT_PHP $CHEMIN_SCRIPT/cli.php osm -a zero -v $VERBOSITE >> $FICHIER_LOG
|
|
|
77 |
|
|
|
78 |
echo "Traitement de l'ordre des polygones incomplets en cours ...";
|
|
|
79 |
$CHEMIN_PHP -d memory_limit=$MEMORY_LIMIT_PHP $CHEMIN_SCRIPT/cli.php osm -a ordonnerPolygoneInc -v $VERBOSITE >> $FICHIER_LOG
|
|
|
80 |
|
|
|
81 |
echo "Remplissage des polygones incomplets en cours ...";
|
|
|
82 |
$CHEMIN_PHP -d memory_limit=$MEMORY_LIMIT_PHP $CHEMIN_SCRIPT/cli.php osm -a remplirPolygoneInc -v $VERBOSITE >> $FICHIER_LOG
|
|
|
83 |
|
|
|
84 |
echo "Renommage des polygones incomplets en cours ...";
|
|
|
85 |
$CHEMIN_PHP -d memory_limit=$MEMORY_LIMIT_PHP $CHEMIN_SCRIPT/cli.php osm -a renommer -v $VERBOSITE >> $FICHIER_LOG
|
|
|
86 |
|
|
|
87 |
echo "Definition des centroïdes en cours ...";
|
|
|
88 |
$CHEMIN_PHP -d memory_limit=$MEMORY_LIMIT_PHP $CHEMIN_SCRIPT/cli.php osm -a centre -v $VERBOSITE >> $FICHIER_LOG
|
|
|
89 |
|
|
|
90 |
HEURE_FIN=`date +"%F %X"`;
|
|
|
91 |
echo "Fin éxecution scripts php : $HEURE_FIN";
|