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 Wed 11 June 2008 14:01

Anaïs Just
Participant actif
Lieu: Montreuil
Date d'inscription: 10 Dec 2007
Messages: 131

accoler des shape sous POSTGIS

Bonjour,

J'ai plusieurs pavés de format shape (polygones) et je souhaite les accoler puisqu'ils partagent des limites communes. En faire un seul shape (fonction combiner en vf ou "merge" en ve sous Arcgis).

J'ai essayé la fonction geomunion (geometry, geometry) mais c'est très long (cela fait 200 minutes que postgis travaille pour 2petits shapes) et je ne sais même pas si c'est la fonction appropriée. J'ai l'impression qu'elle sert plutôt à fusionner des polygones.

Quelqu'un connaitrait-il la fonction appropriée?

Autre question: en dehors des manuels postgis.fr et de postgis.refraction connaissez vous d'autres manuels qui détaillent les fonctions postgis?

Merci d'avance!

Hors ligne

 

#2 Wed 11 June 2008 14:31

Yves
Membre du bureau
Lieu: Aix-les-Bains
Date d'inscription: 22 Mar 2006
Messages: 9855
Site web

Re: accoler des shape sous POSTGIS

Bonjour,

Si vos données sont en shp vous pouvez importer vos données dans la même table :

Code:

shp2pgsql fichier1.shp table |psql -d maBase
shp2pgsql fichier2.shp table |psql -d maBase

Sinon il faut insérer les données de la table table1 dans la table table2, attention aux champs wink

Code:

INSERT INTO table2 SELECT * FROM table2;

Y.


Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !!  - GeoRezo vous aide ? Aidez GeoRezo !

Hors ligne

 

#3 Wed 11 June 2008 14:37

Anaïs Just
Participant actif
Lieu: Montreuil
Date d'inscription: 10 Dec 2007
Messages: 131

Re: accoler des shape sous POSTGIS

merci beaucoup!!!

J'avais songé à la deuxième option mais je pensais qu'il existait une fonction spatiale.
Parcontre pour la première c'est super, ça me permet de faire tout en une seule opération!!

En revanche j'aurais un résultat en "mode spaguetti"non? C'est à dire que deux polygones partageant une même frontière seront adjacents mais pas "collés"?

Hors ligne

 

#4 Wed 11 June 2008 14:39

Pierre Vernier
Participant actif
Lieu: UK
Date d'inscription: 15 Jun 2006
Messages: 116
Site web

Re: accoler des shape sous POSTGIS

Bonjour,

Je pense que tu peux faire un INSERT, cf:
http://postgresql.developpez.com/faq/?p … sertselect

Pour l'aide moi j'ai le "PostGIS Manual"  (pour la version 1.3.2, en anglais) de Paul Ramsey qui est très bien.


Ah le temps que je rédige mon message, la solution a été donnée...

Dernière modification par Pierre Vernier (Wed 11 June 2008 14:40)

Hors ligne

 

#5 Wed 11 June 2008 14:42

Yves
Membre du bureau
Lieu: Aix-les-Bains
Date d'inscription: 22 Mar 2006
Messages: 9855
Site web

Re: accoler des shape sous POSTGIS

Anaïs Just a écrit:

En revanche j'aurais un résultat en "mode spaguetti"non? C'est à dire que deux polygones partageant une même frontière seront adjacents mais pas "collés"?


Tout à fait, par contre il existe des fonctions topo dans postgis il me semble (http://postgis.refractions.net/support/ … isTopology)

Le wiki du postgis.refractions.net propose aussi (un peu) de la documentation.

Y.


Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !!  - GeoRezo vous aide ? Aidez GeoRezo !

Hors ligne

 

#6 Wed 11 June 2008 15:26

Anaïs Just
Participant actif
Lieu: Montreuil
Date d'inscription: 10 Dec 2007
Messages: 131

Re: accoler des shape sous POSTGIS

merci à tous!
je suis entrain d'essayer.
Parcontre j'ai l'impression que mon nombre d'enregistrements est limité à quelque chose comme 22000. Peut on paramétrer ça?

[Fusion de message]
Et j'ai un message d'erreur car mes clefs primaires sont les mêmes dans les deux tables (1,2,3....) donc cela viole la règle qui veut que la clef primaire soit un identifiant unique.

Hors ligne

 

#7 Wed 11 June 2008 15:32

Yves
Membre du bureau
Lieu: Aix-les-Bains
Date d'inscription: 22 Mar 2006
Messages: 9855
Site web

Re: accoler des shape sous POSTGIS

Anaïs,

Non il n'y a pas de limitation normalement.

Pour l'erreur sur les clés primaires tu dois utiliser l'option -a avec shp2pgsql (désolé de l'oubli) :

-a  Appends shape file into current table, must be
          exactly the same table schema.


Y.


Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !!  - GeoRezo vous aide ? Aidez GeoRezo !

Hors ligne

 

#8 Wed 11 June 2008 15:47

Anaïs Just
Participant actif
Lieu: Montreuil
Date d'inscription: 10 Dec 2007
Messages: 131

Re: accoler des shape sous POSTGIS

merci beaucoup!

Hors ligne

 

#9 Wed 11 June 2008 21:52

Guillaume Sueur
Participant assidu
Lieu: Toulouse
Date d'inscription: 23 Sep 2005
Messages: 331
Site web

Re: accoler des shape sous POSTGIS

je crois que tu te compliques la vie. Si tu veux faire un équivalent de
'merge', c'est-à-dire regrouper le contenu de deux shapes en une seule
table, c'est très facile  :
INSERT INTO table1 SELECT * FROM table2;
pour peu qu'ils partagent exactement les mêmes champs !

si tu pars des shapes, fais un shp2pgsql standard avec le premier, et
utiliser l'option -a (append) pour le deuxième, en utilisant le même nom
pour la table cible bien sûr!

bonne chance !

Guillaume

Hors ligne

 

#10 Thu 12 June 2008 09:13

Anaïs Just
Participant actif
Lieu: Montreuil
Date d'inscription: 10 Dec 2007
Messages: 131

Re: accoler des shape sous POSTGIS

Merci beaucoup, j'ai suivi tous vos conseils hier et j'ai réussi.
Yves m'avait indiqué cette solution (plus haut).
Bonne journée

Hors ligne

 

#11 Thu 12 June 2008 22:02

Guillaume Sueur
Participant assidu
Lieu: Toulouse
Date d'inscription: 23 Sep 2005
Messages: 331
Site web

Re: accoler des shape sous POSTGIS

il te faut paramétrer le client_encoding dans le postgresql.conf
un conseil : faire les bases en UTF-8, et régler le cient_encoding en
iso-8859-1

à plus

Guillaume

Hors ligne

 

Pied de page des forums

Powered by FluxBB