Subversion Repositories eFlore/Projets.eflore-projets

Rev

Rev 1054 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
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";