#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
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
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
Re: accoler des shape sous POSTGIS
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
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