#1 Wed 02 April 2025 12:12
- ozoeau
- Juste Inscrit !
- Date d'inscription: 1 Sep 2016
- Messages: 2
QGIS: Gestionnaire BD - Erreur 6
J'interviens un an après sans même avoir de solution.
1 - J ai lancé la requête suivante pour identifier les entités multi une fis les corrections faites le champ multi_geom ne revoiyait que des valeur 1.
SELECT ST_NumGeometries(geom) AS multi_geom, id, geom, =
FROM t1
order by multi_geom desc
2a - J ai créé un second champ géométrie d'intersection geom2
alter table t1
ADD column geom2 geometry(LINESTRING,2154);
update only t1 set geom2= st_intersection(t1.geom, t2.geom)
from t2
WHERE st_intersects(t1.geom, 2.geom)
[ERREUR: Geometry type (MultiLineString) does not match column type (LineString)]
2b - J ai tenté de résoudre le pb en modifiant mon champ geom2 ainsi : ADD column geom2 geometry(MULTILINESTRING,2154)
[ERREUR: Geometry type (LineString) does not match column type (MultiLineString)]
Vous l'aurez compris, je n'ai pas trouvé la solution.
Hors ligne
#2 Wed 02 April 2025 13:49
- ondeos
- Participant occasionnel
- Date d'inscription: 31 Mar 2011
- Messages: 39
Re: QGIS: Gestionnaire BD - Erreur 6
Bonjour ozoeau
Le souci, c'est que les géométries obtenues par l'intersection (ST_Intersection) peuvent être de différents types (lignes, multi-lignes, etc.). Or, QGIS (ou plus précisément, la base de données PostGIS sous-jacente) est très stricte sur les types de géométrie. Si vous essayez de mettre une multi-ligne dans un champ prévu pour une ligne simple. La solution à tester est envoyer sur votre mail.
Hors ligne