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