Pages: 1
- Sujet précédent - [PostGis] Insérer des linestring dans une table MultiLineString - Sujet suivant
#1 Thu 27 June 2013 11:11
- Razorbak
- Participant assidu
- Lieu: Clermont Ferrand
- Date d'inscription: 7 Oct 2007
- Messages: 505
[PostGis] Insérer des linestring dans une table MultiLineString
Bonjour,
J'essaie de charger des donnĂ©es dans une table oĂč la gĂ©omĂ©trie est MultiLineString. En gros, ce sont des lignes que je fusionne selon un attribut commun.
Voici ma requĂȘte :
Code:
INSERT INTO matable (
code,
geom)
SELECT
code,
ST_Force_2D((ST_Dump(geom)).geom) as geom
FROM (SELECT
trim(code) as code,
ST_LineMerge(ST_Union(geom)) as geom
FROM tabletemp
GROUP BY code) as AMais j'obtiens une erreur m'indiquant "Geometry type (LineString) does not match column type (MultiLineString)".
En effet, le rĂ©sultat de ma sous-requĂȘte me donne Ă la fois des multilinestring et des linestring.
Comment puis-je spécifier que je veux transformer mes linestring en multi afin que tous mes enregistrements soient chargés dans ma table ?
Merci
Hors ligne
#2 Thu 27 June 2013 11:27
- tumasgiu
- Membre
- Lieu: Ajaccio
- Date d'inscription: 5 Jul 2010
- Messages: 1226
Re: [PostGis] Insérer des linestring dans une table MultiLineString
Salut,
la fonction ST_Multi http://www.postgis.org/docs/ST_Multi.html ne conviendrait-elle pas ?
Hors ligne
#3 Thu 27 June 2013 11:32
- Razorbak
- Participant assidu
- Lieu: Clermont Ferrand
- Date d'inscription: 7 Oct 2007
- Messages: 505
Re: [PostGis] Insérer des linestring dans une table MultiLineString
Effectivement, je l'ai dĂ©jĂ testĂ© mais je ne vois pas oĂč placer cette commande...
Car en la mettant devant le ST_Force2D, ça annule la fusion que je fais dans la sous-requĂȘte.
Hors ligne
#4 Thu 27 June 2013 11:43
- tumasgiu
- Membre
- Lieu: Ajaccio
- Date d'inscription: 5 Jul 2010
- Messages: 1226
Re: [PostGis] Insérer des linestring dans une table MultiLineString
En remplacant ST_LineMerge par ST_Multi (pas sur que le ST_Dump serve alors Ă quelque chose) ? cf le premier example de cette page :http://postgis.refractions.net/document … Union.html
Hors ligne
#5 Thu 27 June 2013 11:54
- Razorbak
- Participant assidu
- Lieu: Clermont Ferrand
- Date d'inscription: 7 Oct 2007
- Messages: 505
Re: [PostGis] Insérer des linestring dans une table MultiLineString
Exact, c'est bien ça.
Et il faut bien supprimer le ST_DUMP qui ne sert plus.
En gros, le ST_Dump éclate les géométries, c'est ça ?
Hors ligne
#6 Thu 27 June 2013 14:28
- Nicolas Ribot
- Membre
- Lieu: Toulouse
- Date d'inscription: 9 Sep 2005
- Messages: 1566
Re: [PostGis] Insérer des linestring dans une table MultiLineString
Oui, st_dump explose une collection de geometries en ses éléments constitutifs, indiquant, en plus de la geometrie, le rang de l'objet au sein de la collection.
Nicolas
Hors ligne
Pages: 1
- Sujet précédent - [PostGis] Insérer des linestring dans une table MultiLineString - Sujet suivant

