Ho un livello vettoriale poligonale che rappresenta l'area inondata da un'inondazione. Il livello è stato prodotto in modo tale che alcune aree siano composte da più poligoni toccanti più piccoli (vedere la schermata seguente, etichettata "dati originali").
Vorrei dissolvere i poligoni in cui si toccano. Se uso lo strumento di geoprocessing dissolve in fTools di QGIS, che utilizza la libreria GEOS, ottengo alcuni risultati inaspettati (vedere "dissolve con fTools QGIS"). Sembra che GEOS non usi una soglia per determinare se i poligoni si stanno toccando, come menzionato in questi problemi:
http://trac.osgeo.org/qgis/ticket/3126
http://trac.osgeo.org/qgis/ticket/3184
http://hub.qgis.org/issues/2806
Lo stesso approccio in ArcGIS fornisce il risultato atteso (vedere "dissolvimento con ArcGIS 10.1").
Apparentemente questa è una "caratteristica" di GEOS, piuttosto che un bug. Esiste un modo per correggere i dati che devo produrre per il risultato atteso? Una lieve perdita di precisione (pochi cm?) Potrebbe essere accettabile per me. Idealmente la soluzione sarebbe qualcosa che potrei scrivere in un plugin QGIS, come fase di pre-elaborazione.
Domanda correlata (senza risposte): come impostare il valore di tolleranza dello strumento di Geoprocessing in QGIS?
Link ai dati di esempio come file di forma: https://www.dropbox.com/s/c8ns7wwfv289ad0/sample.zip