[Gfoss] Problema importazione e unione poligoni in GRASS

Bruno Palmero athanatos a libero.it
Mer 18 Mar 2015 22:34:41 CET


Buonasera a entrambi, grazie per le risposte e scusate per il ritardo.

In effetti ho provato a caricare i cerchi e mi sono accorto che v.rast.stats
patisce lo stesso problema che ha SAGA GIS con i poligoni sovrapposti
(overlapping polygons).

A questo punto ho due strade: la prima potrebbe essere quella di seguire il
consiglio di Luca e creare un ciclo for (purtroppo sono piuttosto ignorante
in fatto di programmazione) oppure mettermi l'anima in pace e impiegare il
plugin di SAGA (versione standalone) prendendo il tempo necessario
all'elaborazione (ad esempio lanciando la prima elaborazione al mattino
prima di andare al lavoro e lanciare la seconda subito dopo pranzo prima di
tornare in ufficio).

Credo che propenderò per la seconda, anche se devo ammettere che è strano
che non esista una soluzione più "rapida" (dal punto di vista dell'impegno
computazionale). SAGA è promettente perchè ammette la soluzione che risolve
il problema della sovrapposizione, ma -purtroppo- impegna un tempo non
indifferente.

La soluzione di Luca mi suggerisce però un modo di agire iterativo che può
fare direttamente un utente, anche se è un po' agricolo:

1) parto con un DEM e i miei 57419 cerchi parzialmente sovrapposti
2) faccio girare v.rast.stats (grass) oppure Grid statistics for polygons
(SAGA)
3) filtro il vettore così ottenuto e scelgo solo i dati che hanno attributo
null (in pratica creando un nuovo vettore con cerchi che hanno solo
attributi null)
4) ripeto il passo 2) e poi il passo 3) su questo nuovo vettore fino a
quando non avrò più cerchi con attributo null
5) unisco i diversi cerchi con attributi non nulli in un unico vettore
(-fine-)

Facendo così mi accorgo che, nel mio esempio, adottando SAGA in Processing
di QGIS (Grid Statistics for polygons)

1) parto da 57419 cerchi
2) al primo giro ottengo 26945 cerchi con attributo null
3) al secondo giro ottengo 12006 cerchi con attributo null
4) al terzo giro ottengo 4749 cerchi con attributo null
5) al quarto giro ottengo 1499 cerchi con attributo null
6) al quinto giro ottengo 364 cerchi con attributo null
7) al sesto giro ottengo 57 cerchi con attributo null
8) al settimo giro ottengo 3 cerchi con attributo null
9) all'ultimo giro ottengo 0 cerchi con attributo null

Se faccio la somma 26945+12006+4749+1499+364+57+3=57419 ed è proprio il
numero di cerchi da cui sono partito.

In pratica iterando questa cosa una decina di volte ho risolto il problema
in tempi rapidissimi... (questa cosa macinata manualmente mi prende al
massimo 20 minuti a raster, che rispetto alle tre ore di elaborazione è già
un bel passo in avanti).

Luca, dici che facendo un ciclo for si riuscirebbe a implementare una cosa
del genere? O forse intendevi proprio una cosa di questo tipo?

Grazie ancora per l'aiuto,

Ci risentiamo

Saluti



--
View this message in context: http://gfoss-geographic-free-and-open-source-software-italian-mailing.3056002.n2.nabble.com/Problema-importazione-e-unione-poligoni-in-GRASS-tp7591962p7591995.html
Sent from the Gfoss -- Geographic Free and Open Source Software - Italian mailing list mailing list archive at Nabble.com.


Maggiori informazioni sulla lista Gfoss