Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Printemps des cartes 2024

#1 Sun 20 March 2011 14:47

omorin
Participant occasionnel
Date d'inscription: 4 Jun 2008
Messages: 12

Script d'integration de shp vers Postgis

Bonjour,

J'ai fait un petit script qui déverse les .shp présents dans un répertoire dans une base Postgis.
Je l'utilise pour la base IGN RGE que je viens de téléchargé.

Code:

echo "Chargement de fichier dans une base"
echo "Les décors sont de Roger Harth et les costumes de Donald Cardwell, le scénario d'Olivier Morin"
echo "Adresse du serveur (x.x.x.x) :"
read adresse
if [ -z "$adresse" ]
then
    adresse="x.x.x.x"
fi
echo "Nom d'utilisateur (sig) :"
read utilisateur
if [ -z "$utilisateur" ]
then
    utilisateur="sig"
fi
echo "Nom de la base (sig) :"
read base
if [ -z "$base" ]
then
    base="sig"
fi
echo "Nom du schema (public) :"
read schema
if [ -z "$schema" ]
then
    schema="public"
fi
echo "[Prefixe de la table :]"
read prefixe
if [ -n "$prefixe" ]
then
    prefixe="$prefixe-"
fi
echo "SRID (2154):"
read srid
if [ -z "$srid" ]
then
    srid="2154"
fi
for fichier in `ls | egrep -i ".SHP$"`
do

    table=$( echo ${fichier%.*} | tr '[:upper:]' '[:lower:]' )
    echo "Traitement du fichier $fichier vers la base $base dans la table $schema.$prefixe$table en $srid"
    shp2pgsql -I -s $srid -W LATIN1 $fichier $schema.$prefixe$table > $schema-$prefixe$table.sql
    psql -U $utilisateur $base -h $adresse < $schema-$prefixe$table.sql
    psql -U $utilisateur $base -h $adresse -c "\d $schema.$prefixe$table" > $schema-$prefixe$table.log
    psql -U $utilisateur $base -h $adresse -c "select count(*) as \"Nombre de lignes\" from \"$schema\".\"$prefixe$table\"" >> $schema-$prefixe$table.log
done

Il faudra changer les réponses par défaut et mettre l'asresse du serveur à la place de x.x.x.x.
En effet je lance ce script d'un poste client Ubuntu ver un serveur PostGis Ubuntu.
Les shp sont supposés être en LATIN1 et la base en UTF8

Les commentaires et remarques sont les bienvenus !

Dernière modification par omorin (Mon 21 March 2011 12:02)

Hors ligne

 

#2 Sun 20 March 2011 16:33

Bruno
Membre du bureau
Lieu: Toulouse
Date d'inscription: 22 Jun 2005
Messages: 11761
Site web

Re: Script d'integration de shp vers Postgis

Bonjour,

Je me permets de déplacer votre message ici [Géo'BD].

Bon dimanche,

Bruno

Hors ligne

 

Pied de page des forums

Powered by FluxBB