Subversion Repositories eFlore/Projets.communes

Rev

Rev 19 | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

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