Rev 15 | Blame | Compare with Previous | Last modification | View Log | RSS feed
#/bin/bash######################################################################################################################### But : mise en ligne automatique sur le serveur par ftp, des derniers contour de communes d'OSM au format KMZ# Dépendances : ogr2ogr (paquet Mandriva gdal)# Auteur : Jean-Pascal Milcent <jpm@clapas.org> (translate bat file to shell script)# License : GPL v3# Création : 28 décembre 2010# Version: 0.1# $Id$######################################################################################################################### ConstanteNBREPARAM=$#BASE_URL="http://beta.letuffe.org/ressources/export-communes/"DOSSIER_DEPOT="/home/jpm/Documents/Cartographie/Communes/"DOSSIER_TELECHARGEMENT="${DOSSIER_DEPOT}Telechargements/"DOSSIER_EXTRACTION="${DOSSIER_DEPOT}Extraction/"DOSSIER_LOCAL_KMZ="${DOSSIER_DEPOT}Kmz"DOSSIER_DESTINATION="/www/commun/google/map/3/kmz/communes"LOG="${DOSSIER_DEPOT}log.txt"EXT="*.shp.tar.gz"# AideE_OPTERR=65if [ "$1" = '--help' ]then # Le script a besoin d'au moins un argument sur la ligne de commandeecho "Usage $0 -[parameters -u, -p ]"echo "Paramètres : "echo " -h: indiquer l'hote ftp"echo " -u: indiquer le nom de l'utilisateur ftp"echo " -p: indiquer le mot de passe de l'utilisateur ftp"exit $E_OPTERRfi# Récupération des paramètres et des options de la ligne de commandeTEMP=`getopt -o u:p:h: -l help: -- "$@"`if [ $? != 0 ] ; then echo "Terminating..." >&2 ; exit 1 ; fieval set -- "$TEMP"while [ ! -z "$1" ] ; do#echo $1" # "$2case "$1" in-h) HOST=$2;;-u) FTP_USER=$2;;-p) FTP_PASSWD=$2;;--) shift ; break ;;*) echo "Internal error!" ; exit 1 ;;esacshift 2donerm -fR $DOSSIER_EXTRACTIONmkdir $DOSSIER_EXTRACTIONrm -fR $DOSSIER_LOCAL_KMZmkdir $DOSSIER_LOCAL_KMZecho "Téléchargement des derniers fichiers shape en cours...";wget -A "$EXT" -P $DOSSIER_TELECHARGEMENT -o $LOG -N -v -i $BASE_URLecho "Extraction des fichiers en cours...";cd $DOSSIER_EXTRACTIONfor f in $DOSSIER_TELECHARGEMENT$EXT; dod=`basename $f .shp.tar.gz`mkdir $d(cd $d && tar xf $f)donefor dossier in $DOSSIER_EXTRACTION/*; do#dossier="${DOSSIER_EXTRACTION}01-Ain"if [ -d $dossier ]; thennom_dpt=`basename $dossier`echo "Dossier : $nom_dpt";fichier_kml="$dossier/${nom_dpt}.kml"fichier_shp="$dossier/${nom_dpt}.shp"#echo "Nom dpt : $nom_dpt";for fichier in $dossier/*; doif [ -f $fichier ]; thenif [ "$fichier" == "$fichier_shp" ]; thenrm -f "$dossier/*.km*"ogr2ogr -f KML $fichier_kml $fichier_shp $nom_dpt/opt/lampp/bin/php ~/web/communes/cli.php nettoyage_kml -a nettoyer -f $fichier_kmlfifidonefor fichier in $dossier/*; doif [ -f $fichier ]; thenif [[ "$fichier" != "$fichier_kml" && $fichier == *.kml ]]; thennom_kml=`basename $fichier .kml`fichier_kmz="${dossier}/${nom_kml}.kmz"echo "KMZ : $fichier_kmz";zip -j9 -r $fichier_kmz $fichiermv $fichier_kmz $DOSSIER_LOCAL_KMZfifidonefidoneif [ $NBREPARAM -eq 0 ]; thenecho "Pas de transfert sur le serveur. Utiliser --help pour voir les options de transfert."elselftp 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"fi