Subversion Repositories eFlore/Projets.communes

Rev

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

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