QGIS e la TOPOLOGIA

L’importanza della topologia in QGIS e in tutti gli altri software Open Source.

In una famosa ML del gruppo QGIS è sorta una discussione sul problema che apparentemente affliggeva QGIS quando gli si chiede di trasformare una polilinea chiusa in poligono.

testo della discussione:

“scopo del gioco è trasformare una polyline chiusa in un poligono dxf o shape linestring come input (input.shp):

  1. [qgis dev] vector–>geometry tools–>lines to polygons (out_qgis_lines2polygon);
  2. [saga2.2.3] shapes–>polygons–>convert lines to polygons (out_saga2.2.3_lines2polygon);
  3. [grass 7.0.3] v.type (out_grass7.0.3_v.type);
  4. [arcview 3.1] xtools extension –> make polygons from line (out_arcview_xtools); come potete notare i primi tre danno lo stesso risultato; solo arcview dà il poligono corretto  😦 “

dopo aver letto il testo della discussione, scaricato i file:

Immagine 001
polilinea
Immagine 003
poligono ottenuto con arcview
Immagine 004
poligono ottenuti con vari geo-algoritmi open source

faccio alcune prove e ottengo gli stessi risultati!!!

Dopo qualche minuto mi chiedo:

  1. ma la geometria avrà degli errori?
  2. 2016-02-02
    controllo validità geometria
    Immagine 005
    finestra di dialogo controllo di validità

    il controllore di validità geometrica di QGIS non trova errori!!!

     

  3. allora controllo la TOPOLOGIA:
  4. Immagine 006
    imposto le regole di topologia

    dopo aver impostato una regola di topologia ‘non deve avere nodi sospesi‘ e avviato la verifica, ottengo ben 40 errori!!!

  5. correggo gli errori con v.clean (da processing – GRASS):

    Immagine 2
    finestra di dialogo v.clean
  6. Immagine 007
    errori corretti

    dal successivo controllo ottengo nessun errore;

  7. Immagine 008
    tabella attributi shapefile
  8. 2016-02-02 (1)
    dissolvo tutti le feature

    Immagine 009

  9. finestra di dialogo dissolvenza

     

  10. 2016-02-02 (2)
    da linea a poligono

    Immagine 011

  11. finestra di dialogo

     

  12. Immagine 012
    ecco il poligono

    Finalmente ottengo il poligono!!!

 

Concludendo:

Non era QGIS incapace di svolgere una trasformazione da linea a poligono ma la cattiva genesi della polilinea (probabilmente proveniente da sw CAD) associata alla mancata verifica della topologia. La polilinea aveva errori topologici (vertici sospesi) e quindi non era chiusa, ecco perchè i vari geo-algoritmi open source davano lo stesso risultato cioè realizzavano tanti poligoni quanti erano i tratti della polilinea. Quindi, anche se a prima vista un layer vettoriale sembra topologicamente corretto, occorre sempre fare delle verifiche: prima sulla geometria poi sulla topologia.

Video demo:

File.

 

Pubblicità

4 pensieri su “QGIS e la TOPOLOGIA

  1. GRANDISSIMO. Solo una domanda, dalla cui risposta immagino si potrà dedurre la differenza di approccio fra sw OS e sw proprietari: ma ARCGIS/Arcview come mai risolve tutto senza mostrare che ci sono problemi strutturali nel file di origine? O di fatto eseguono tutto il tuo procedimento in automatico ma non lo lasciano vedere o utilizzano qualche stratagemma ….. ma a questo punto mi viene il dubbio che il prodotto finale non sia così preciso……e possa contenere degli errori topologici.

    Ciao

    "Mi piace"

    1. Ciao, Arcview utilizza un tool realizzato appositamente e per quanto possa capire ,il risultato ottenuto, è un insieme di procedimenti simili a quelli da me eseguiti, ma osservando l’output di arcview non corregge gli errori topologici ma si limita a chiudere la polilinea. Ricordiamo che arcview è un sw proprietario e non sapremo mai come risolvono i problemi e realizzano i loro geo-algoritmi.

      "Mi piace"

      1. Ciao,
        era proprio quello che intendevo quando ho scritto “si potrà dedurre la differenza di approccio fra sw OS e sw proprietari”, nel senso che nei sw OS ti costringono a ragionare ma i risultati sono ottimali…..nei sw proprietari fanno loro il lavoro sporco ma non sai mai la qualità dell’output perché non gestisci nulla ma ti senti figo lo stesso.

        Lode lode lode

        Piace a 1 persona

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo di WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione /  Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione /  Modifica )

Connessione a %s...

Questo sito utilizza Akismet per ridurre lo spam. Scopri come vengono elaborati i dati derivati dai commenti.