#2 Wed 18 January 2017 15:28
- meonais
- Participant occasionnel
- Date d'inscription: 17 Jan 2017
- Messages: 35
Re: QGIS 2.2: créer table avec st_split
Bonjour,
Et merci pour votre attention
Ci-joint les deux fichiers de test que j'utilise, et appelés dans la requête. Ce ne sont que des extraits, car j'aurai jusqu'à 16319 entités points et 20722 entités multilines...
Dernière modification par meonais (Wed 18 January 2017 15:29)
Hors ligne
#3 Thu 19 January 2017 15:31
Re: QGIS 2.2: créer table avec st_split
Bonjour,
Vous auriez dû poser la question sur le forum base de données.
Tout d'abord, il n'est pas possible d'utiliser WITH avec une instruction CREATE.
Ensuite, la couche de points que vous soumettez est de type MULTIPOINT. Hors, ST_Split ne marche qu'avec des couches de points. Il faut donc utiliser ST_Dump en préalable.
Il se peut que le résultat du découpage soit de type GEOMETRYCOLLECTION. Pour extraire seulement les lignes, on utilise ST_CollectionExtract avec le par. 2 correspondant aux lignes.
Voici un exemple de requête SQL :
Code:
create table line_split as ( select st_collectionextract(st_split(a.geom, pt.geom),2) geom, a.code_hydro, a.classe, a.toponyme, a.candidat from test as a, (select (st_dump(geom)).geom from conftest) as pt)
J'ai regardé les données. Vous pourriez accomplir ce que vous voulez faire : découpage d'une ligne à chaque intersection avec GRASS et l'outil v.clean tool=break
Pour la suite, merci de poster sur http://georezo.net/forum/viewtopic.php?id=100204
geodata au cerema et petits billets en géomatique
Hors ligne
#4 Tue 24 January 2017 13:38
Re: QGIS 2.2: créer table avec st_split
Bonjour,
Aussi, pour information, il est conseillé d'appliquer un st_snap sur les données avant d'utiliser st_split.
Voici le code modifié, mais non testé.
st_dump permettra d'extraire les éléments de la geometrycollection, celle-ci résultant du st_split
Code:
create table line_split as ( select st_dump(st_split(st_snap(a.geom, pt.geom, 0.1), pt.geom)) geom, a.code_hydro, a.classe, a.toponyme, a.candidat from test as a, (select (st_dump(geom)).geom from conftest) as pt)
geodata au cerema et petits billets en géomatique
Hors ligne
#5 Mon 03 July 2017 13:59
- meonais
- Participant occasionnel
- Date d'inscription: 17 Jan 2017
- Messages: 35
Re: QGIS 2.2: créer table avec st_split
Bonjour,
Je ne sais pas ce que j'ai fait dans les posts, il semble qu'il y ait eu doublon dans mes demandes...
J'ai résolu mon problème ici :https://georezo.net/forum/viewtopic.php?id=104853
Merci beaucoup
Hors ligne