Non-noded intersection and NaN

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Non-noded intersection and NaN

Jeremy

Bonjour,

J'ai un problème d'intersection en linestring en lançant la commande suivante :
"create table shaded_shad1 as select st_union(the_geom) as the_geom, id from shaded_shad where st_isvalid(the_geom);"

Mes données d'entrée semblent de toute manière valides (je n'ai pas de différences dans mon nombre de géométries entre un select count et un select count avec st_isvalid) mais il semble qu'il n'y ait pas d'intersection possible en z entre deux linestring ? Ci-dessous le message d'erreur :

Exception calling user-defined function: "union(GEOMETRYCOLLECTION (POLYGON ((....
found non-noded intersection between LINESTRING ( 356964.64575193013 6691198.576310559, 356956.12717536907 6691202.492593497 ) and LINESTRING ( 356956.1271753689 6691202.492593497, 356964.6457519298 6691198.57631056 ) [ (356956.9307473626, 6691202.123163785, NaN) ]"; SQL statement:


Une idée ? Merci !

Jérémy
Reply | Threaded
Open this post in threaded view
|

Re: Non-noded intersection and NaN

Jeremy

Les propositions que vous m'avez faites ce matin pour redéfinir mes géométries fonctionnent du tonnerre :
- st_simplify fonctionne lorsque je mets un seuil de 0.6 m;
- st_buffer fonctionne avec un buffer de 0 m;
- st_precisionreducer fonctionne quelque soit le nombre de décimal que je lui mets (mes valeurs ont 10 décimales, ça fonctionne même en mettant 11...);

J'ai choisi le buffer de 0 m.

J'ai rencontré le problème une seconde fois un peu plus tard et cette fois st_buffer ne fonctionnait plus mais les deux autres méthodes fonctionnaient :
- st_simplify avec un seuil de 0.000000001 m;
- st_precisionreducer avec 9 décimales.

J'ai choisi st_simplify.

Merci pour vos réponses !
Reply | Threaded
Open this post in threaded view
|

Re: Non-noded intersection and NaN

Gwendall Petit
Administrator
Super,

Probablement un des premiers posts ou l'auteur s'auto-répond

Merci la pause café.

Gwendall