Subversion Repositories eFlore/Projets.communes

Rev

Rev 12 | Rev 15 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 12 Rev 13
1
#/bin/bash
1
#/bin/bash
2
########################################################################################################################
2
########################################################################################################################
3
# But : mise en ligne automatique sur le serveur par ftp, des derniers contour de communes d'OSM au format KMZ
3
# But : mise en ligne automatique sur le serveur par ftp, des derniers contour de communes d'OSM au format KMZ
4
# Auteur :  Jean-Pascal Milcent <jpm@clapas.org> (translate bat file to shell script)
4
# Auteur :  Jean-Pascal Milcent <jpm@clapas.org> (translate bat file to shell script)
5
# License : GPL v3
5
# License : GPL v3
6
# Création : 28 décembre 2010
6
# Création : 28 décembre 2010
7
# Version: 0.1
7
# Version: 0.1
8
# $Id$
8
# $Id$
9
########################################################################################################################
9
########################################################################################################################
10
# Constante
10
# Constante
11
NBREPARAM=$#
11
NBREPARAM=$#
12
BASE_URL="http://beta.letuffe.org/ressources/export-communes/incomplet/"
12
BASE_URL="http://beta.letuffe.org/ressources/export-communes/incomplet/"
-
 
13
SCRIPT_NETTOYAGE="/home/jpm/web/communes-y/cli.php"
13
DOSSIER_DEPOT="/home/jpm/Documents/Cartographie/Communes/Incomplet/"
14
DOSSIER_DEPOT="/home/jpm/Documents/Cartographie/Communes/Incomplet/"
14
DOSSIER_TELECHARGEMENT="${DOSSIER_DEPOT}Telechargements/"
15
DOSSIER_TELECHARGEMENT="${DOSSIER_DEPOT}Telechargements/"
15
DOSSIER_EXTRACTION="${DOSSIER_DEPOT}Extraction/"
16
DOSSIER_EXTRACTION="${DOSSIER_DEPOT}Extraction/"
16
DOSSIER_LOCAL_KMZ="${DOSSIER_DEPOT}Kmz"
17
DOSSIER_LOCAL_KMZ="${DOSSIER_DEPOT}Kmz"
17
DOSSIER_DESTINATION="/www/commun/google/map/3/kmz/communes_icompletes"
18
DOSSIER_DESTINATION="/www/commun/google/map/3/kmz/communes_incompletes"
18
LOG="${DOSSIER_DEPOT}log.txt"
19
LOG="${DOSSIER_DEPOT}log.txt"
19
EXT="*.shp.tar.gz"
20
EXT="*.shp.tar.gz"
20
 
21
 
21
# Aide
22
# Aide
22
E_OPTERR=65
23
E_OPTERR=65
23
if [ "$1" = '--help' ]
24
if [ "$1" = '--help' ]
24
then # Le script a besoin d'au moins un argument sur la ligne de commande
25
then # Le script a besoin d'au moins un argument sur la ligne de commande
25
    echo "Usage $0 -[parameters -u, -p ]"
26
    echo "Usage $0 -[parameters -u, -p ]"
26
    echo "Paramètres : "
27
    echo "Paramètres : "
27
    echo "  -h: indiquer l'hote ftp"
28
    echo "  -h: indiquer l'hote ftp"
28
    echo "  -u: indiquer le nom de l'utilisateur ftp"
29
    echo "  -u: indiquer le nom de l'utilisateur ftp"
29
    echo "  -p: indiquer le mot de passe de l'utilisateur ftp"
30
    echo "  -p: indiquer le mot de passe de l'utilisateur ftp"
30
    exit $E_OPTERR
31
    exit $E_OPTERR
31
fi
32
fi
32
 
33
 
33
# Récupération des paramètres et des options de la ligne de commande
34
# Récupération des paramètres et des options de la ligne de commande
34
TEMP=`getopt -o u:p:h: -l help: -- "$@"`
35
TEMP=`getopt -o u:p:h: -l help: -- "$@"`
35
if [ $? != 0 ] ; then echo "Terminating..." >&2 ; exit 1 ; fi
36
if [ $? != 0 ] ; then echo "Terminating..." >&2 ; exit 1 ; fi
36
eval set -- "$TEMP"
37
eval set -- "$TEMP"
37
while [ ! -z "$1" ] ; do
38
while [ ! -z "$1" ] ; do
38
    #echo $1" # "$2
39
    #echo $1" # "$2
39
    case "$1" in
40
    case "$1" in
40
        -h) HOST=$2;;
41
        -h) HOST=$2;;
41
        -u) FTP_USER=$2;;
42
        -u) FTP_USER=$2;;
42
        -p) FTP_PASSWD=$2;;
43
        -p) FTP_PASSWD=$2;;
43
        --) shift ; break ;;
44
        --) shift ; break ;;
44
        *) echo "Internal error!" ; exit 1 ;;
45
        *) echo "Internal error!" ; exit 1 ;;
45
    esac
46
    esac
46
    shift 2
47
    shift 2
47
done
48
done
48
 
49
 
49
rm -fR $DOSSIER_EXTRACTION
50
rm -fR $DOSSIER_EXTRACTION
50
mkdir $DOSSIER_EXTRACTION
51
mkdir $DOSSIER_EXTRACTION
51
rm -fR $DOSSIER_LOCAL_KMZ
52
rm -fR $DOSSIER_LOCAL_KMZ
52
mkdir $DOSSIER_LOCAL_KMZ
53
mkdir $DOSSIER_LOCAL_KMZ
53
 
54
 
54
echo "Téléchargement des derniers fichiers shape en cours...";
55
echo "Téléchargement des derniers fichiers shape en cours...";
55
wget -A "$EXT" -P $DOSSIER_TELECHARGEMENT -o $LOG -N -v -i $BASE_URL
56
wget -A "$EXT" -P $DOSSIER_TELECHARGEMENT -o $LOG -N -v -i $BASE_URL
56
echo "Extraction des fichiers en cours...";
57
echo "Extraction des fichiers en cours...";
57
cd $DOSSIER_EXTRACTION
58
cd $DOSSIER_EXTRACTION
58
for f in $DOSSIER_TELECHARGEMENT$EXT; do
59
for f in $DOSSIER_TELECHARGEMENT$EXT; do
59
	d=`basename $f .shp.tar.gz`
60
	d=`basename $f .shp.tar.gz`
60
	mkdir $d
61
	mkdir $d
61
	(cd $d && tar xf $f)
62
	(cd $d && tar xf $f)
62
done
63
done
63
for dossier in $DOSSIER_EXTRACTION/*; do
64
for dossier in $DOSSIER_EXTRACTION/*; do
64
	#dossier="${DOSSIER_EXTRACTION}01-Ain"
65
	#dossier="${DOSSIER_EXTRACTION}01-Ain"
65
	if [ -d $dossier ]; then
66
	if [ -d $dossier ]; then
66
		nom_dpt=`basename $dossier`
67
		nom_dpt=`basename $dossier`
67
		echo "Dossier : $nom_dpt";
68
		echo "Dossier : $nom_dpt";
68
		fichier_kml="$dossier/${nom_dpt}.kml"
69
		fichier_kml="$dossier/${nom_dpt}.kml"
69
		fichier_shp="$dossier/${nom_dpt}.shp"
70
		fichier_shp="$dossier/${nom_dpt}.shp"
70
		#echo "Nom dpt : $nom_dpt";
71
		#echo "Nom dpt : $nom_dpt";
71
		for fichier in $dossier/*; do
72
		for fichier in $dossier/*; do
72
			if [ -f $fichier ]; then
73
			if [ -f $fichier ]; then
73
				if [ "$fichier" == "$fichier_shp" ]; then
74
				if [ "$fichier" == "$fichier_shp" ]; then
74
					rm -f "$dossier/*.km*"
75
					rm -f "$dossier/*.km*"
75
					ogr2ogr -f KML $fichier_kml $fichier_shp $nom_dpt 
76
					ogr2ogr -f KML $fichier_kml $fichier_shp $nom_dpt 
76
					/opt/lampp/bin/php ~/web/communes/cli.php nettoyage_kml -a nettoyer -f $fichier_kml
77
					/opt/lampp/bin/php $SCRIPT_NETTOYAGE nettoyage_kml -a nettoyer -f $fichier_kml
77
				fi
78
				fi
78
			fi
79
			fi
79
		done
80
		done
80
		for fichier in $dossier/*; do
81
		for fichier in $dossier/*; do
81
			if [ -f $fichier ]; then
82
			if [ -f $fichier ]; then
82
				if [[ "$fichier" != "$fichier_kml" && $fichier == *.kml ]]; then
83
				if [[ "$fichier" != "$fichier_kml" && $fichier == *.kml ]]; then
83
					nom_kml=`basename $fichier .kml`
84
					nom_kml=`basename $fichier .kml`
84
					fichier_kmz="${dossier}/${nom_kml}.kmz"
85
					fichier_kmz="${dossier}/${nom_kml}.kmz"
85
					echo "KMZ : $fichier_kmz";
86
					echo "KMZ : $fichier_kmz";
86
					zip -j9 -r $fichier_kmz $fichier
87
					zip -j9 -r $fichier_kmz $fichier
87
					mv $fichier_kmz $DOSSIER_LOCAL_KMZ
88
					mv $fichier_kmz $DOSSIER_LOCAL_KMZ
88
				fi
89
				fi
89
			fi
90
			fi
90
		done
91
		done
91
	fi
92
	fi
92
done
93
done
93
 
94
 
94
if [ $NBREPARAM -eq 0 ]; then
95
if [ $NBREPARAM -eq 0 ]; then
95
	echo "Pas de transfert sur le serveur. Utiliser --help pour voir les options de transfert."
96
	echo "Pas de transfert sur le serveur. Utiliser --help pour voir les options de transfert."
96
else
97
else
97
	lftp ftp://$FTP_USER:$FTP_PASSWD@$HOST -e "set ftp:passive off; mirror -e -R -L -x .svn $DOSSIER_LOCAL_KMZ $DOSSIER_DESTINATION ; quit"
98
	lftp ftp://$FTP_USER:$FTP_PASSWD@$HOST -e "set ftp:passive off; mirror -e -R -L -x .svn $DOSSIER_LOCAL_KMZ $DOSSIER_DESTINATION ; quit"
98
fi
99
fi