#1 Fri 18 May 2012 21:41
- jean11
- Participant actif
- Date d'inscription: 15 Jan 2012
- Messages: 51
[POSTGIS] insérer les shp dans une table
Bonsoir à tous,
Je débute avec postgres et j'aurai quelques questions.
Je souhaite importer des shapefile dans postgis. Le problème est que je voudrais les importer dans une seul table. J'utilise la fonction shp2pgsql mais cette dernière me crée une autre table à chaque fois que j'importe mes shp. Pareil si je passe par Qgis.
Est-il possible de créer une table puis de l'alimenter avec des shp ?
Je vous remercie d'avance
Cordialement
Hors ligne
#2 Fri 18 May 2012 22:19
Re: [POSTGIS] insérer les shp dans une table
Bonjour,
Utilisez l'option -a dans shp2pgsql qui signifie append comme ajouter à la table courante. Cela suppose que vos shp ont la même structure (mêmes noms de colonne, mêmes types, même projections pour les géométries) et que pour tous les shp, vous donnerez le même nom de table en sortie (normal , vous voulez tout dans la même table)
Toutes les options de shp2pgsql sont consultables avec shp2pgsql -h
Cordialement
ThomasG
Hors ligne
#3 Sat 19 May 2012 10:46
- jean11
- Participant actif
- Date d'inscription: 15 Jan 2012
- Messages: 51
Re: [POSTGIS] insérer les shp dans une table
Bonjour,
Je vous remercie de votre réponse, je vais essayer cela.
Cordialement
Hors ligne
#4 Sat 19 May 2012 11:36
- jean11
- Participant actif
- Date d'inscription: 15 Jan 2012
- Messages: 51
Re: [POSTGIS] insérer les shp dans une table
Juste une petite remarque, la table dans laquelle je veux insérer mes shp doit-elle avoir une colonne géométrie ?
Merci d'avance
Cordialement
Hors ligne
#5 Sat 19 May 2012 18:18
- Nicolas Ribot
- Membre
- Lieu: Toulouse
- Date d'inscription: 9 Sep 2005
- Messages: 1554
Re: [POSTGIS] insérer les shp dans une table
Bonjour,
Oui, la table contenant les géométries doit avoir une colonne géométrique
Shp2pgsql sans l'option -a va créer la table avec la bonne structure .
Puis les commandes suivantes avec -a vont insérer les géométries et leurs attributs dans cette même table.
Nicolas
Hors ligne
#6 Sun 20 May 2012 20:16
- jean11
- Participant actif
- Date d'inscription: 15 Jan 2012
- Messages: 51
Re: [POSTGIS] insérer les shp dans une table
Bonsoir,
Encore merci pour l’intérêt que vous portez à ma question.
J'ai tenu compte de vos remarques et pour l'instant cela à l'air de marcher. Cependant, il y a une chose qui ne me plaît pas.
Dans un premier temps, j'importe un shp via la commande sh2pgsql. Cela me crée une nouvelle table avec les attributs de mon shp et la colonne "the_geom" qui est vide. Est ce normal que cette dernière soit vide ?
Merci d'avance
Cordialement
Hors ligne
#7 Mon 21 May 2012 08:42
- Nicolas Granier
- Participant assidu
- Date d'inscription: 19 Apr 2007
- Messages: 271
Re: [POSTGIS] insérer les shp dans une table
Bonjour,
Parfois on a l'impression que la colonne est vide car la chaine WKT qui exprime la géométrie est trop importante et PG Admin a du mal à l'afficher.
Tenter de faire un copier de la zone "vide" et un coller dans le bloc note.
A+
Hors ligne
#8 Mon 21 May 2012 13:19
- Nicolas Ribot
- Membre
- Lieu: Toulouse
- Date d'inscription: 9 Sep 2005
- Messages: 1554
Re: [POSTGIS] insérer les shp dans une table
Bonjour,
Une requete pour compter les objets peut aussi vous renseigner sur la population d'une table:
Code:
select count(*) from matable where colonne_geo is not null;
Nicolas
Hors ligne
#9 Mon 21 May 2012 18:58
- jean11
- Participant actif
- Date d'inscription: 15 Jan 2012
- Messages: 51
Re: [POSTGIS] insérer les shp dans une table
Bonsoir,
Merci pour vos précisions, à présent je comprend beaucoup mieux
Cordialement
Hors ligne