Buongiorno e buona domenica a tutti. Sto cercando di effettuare un clip tra due vettori poligonali in PostGIS. Ho usato questa sintassi:
/SELECT ST_Intersection(a1.geometry, a2.geometry) as geometry, a2.class_new as cuas_code, a2.label as cuas_descr FROM ambito as a1, cuas09_select as a2 WHERE ST_Intersects(a1.geometry, a2.geometry);/ E mi è stato restituito questo messaggio: /ERROR: ERRORE: Error performing intersection: TopologyException: Input geom 1 is invalid: Ring Self-intersection at or near point 459149.46875 4514388.5 at 459149.46875 4514388.5 SQL state: XX000/ Mi è chiaro che devo fare una verifica topologica del vettore a2, a1 è un rettangolo, ma non ricordo quale è la sintassi da usare per verificare se nel vettore ci sono gap e overlay. Qualcuno lo sa? Ricordo che per validare le geometrie si usa ST_IsValid e ST_MakeValid ma ho il vuoto per gap e overlay... Cercando in giro ho applicato questo: /select ogc_fid, ST_IsValidReason(geometry) from cuas09_select where not ST_IsValid(geometry);/ Mi ha restituito un elenco di coordinate "problematiche" (es. Ring Self-intersection[459149.46875 4514388.5]) che ho convertito in tabella, esportato in csv e reimportato in QGIS come punti. Ho notato però che nemmeno se vado oltre al 200:1 si notano buchi... ----- Ingegnere, consulente GIS e ciclista urbano -- Sent from: http://gfoss-geographic-free-and-open-source-software-italian-mailing.3056002.n2.nabble.com/ _______________________________________________ Gfoss@lists.gfoss.it http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss Questa e' una lista di discussione pubblica aperta a tutti. I messaggi di questa lista non hanno relazione diretta con le posizioni dell'Associazione GFOSS.it. 796 iscritti al 28/12/2017