[Gfoss] Problema importazione e unione poligoni in GRASS

Buongiorno a tutti,
torno su GFOSS per chiedere informazioni in merito ad un problema che sto
avendo con i tre principali software GIS free che sono QGIS, SAGA e GRASS.

Nel pratico: in questo periodo sto continuando uno studio personale avviato
già da alcuni mesi. Sto cercando di ottenere alcune statistiche (ad esempio
quota massima, minima oppure pendenza media) di un DEM. Tali statistiche
vengono fatte solo per determinati poligoni (nel mio caso si tratta di
cerchi di raggio pari a 100 m, in molti casi parzialmente sovrapposti).

In QGIS e SAGA ho provato ad effettuare questa operazione con PROCESSING /
Grid Statistics for polygons ma la procedura risulta essere molto lunga
(circa 3 o 4 ore di tempo per ogni raster analizzato).

Ho provato anche QGIS - Plugin GRASS e GRASS Standalone per utilizzare
v.rast.stat ma mi trovo nella condizione di non ottenere i risultati che
voglio perché GRASS, all'atto dell'importazione, unisce i diversi cerchi e
poi effettua il calcolo statistico sui poligoni che sono stati sottoposti a
merge.

Come posso fare per risolvere questo ultimo problema? C'è la possibilità di
importare in GRASS una serie di cerchi senza che vengano uniti insieme?

Allego un link al forum freegis in cui ho elencato i miei problemi con QGIS,
SAGA e GRASS con alcuni immagini esemplificative

Freegis - Link
<http://www.freegis-italia.org/index.php?option=com_joomlaboard&func=view&id=10080&catid=18&gt;

Potete aiutarmi?

Saluti e grazie per l'aiuto

--
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-tp7591962.html
Sent from the Gfoss -- Geographic Free and Open Source Software - Italian mailing list mailing list archive at Nabble.com.

On Tue, 17 Mar 2015 05:41:04 -0700 (MST)
Bruno Palmero <athanatos@libero.it> wrote:

Ho provato anche QGIS - Plugin GRASS e GRASS Standalone per utilizzare
v.rast.stat ma mi trovo nella condizione di non ottenere i risultati che
voglio perché GRASS, all'atto dell'importazione, unisce i diversi cerchi e
poi effettua il calcolo statistico sui poligoni che sono stati sottoposti a
merge.

Grass non unisce i vettoriali in importazione.
Ti mette sul layer 1 i poligoni distinti e le sovrapposizioni sul layer 2.
Carica il layer 1.

--
Marco Guiducci <marco.guiducci@regione.toscana.it>
Firenze, via di Novoli 26
055 4383194

2015-03-17 13:41 GMT+01:00 Bruno Palmero <athanatos@libero.it>:

Buongiorno a tutti,

ciao

Ho provato anche QGIS - Plugin GRASS e GRASS Standalone per utilizzare
v.rast.stat ma mi trovo nella condizione di non ottenere i risultati che
voglio perché GRASS, all'atto dell'importazione, unisce i diversi cerchi e
poi effettua il calcolo statistico sui poligoni che sono stati sottoposti a
merge.

Come posso fare per risolvere questo ultimo problema? C'è la possibilità di
importare in GRASS una serie di cerchi senza che vengano uniti insieme?

non è che li unisce è che GRASS essendo un GIS con un formato
vettoriale topologico non permette di avere una gemoetria all'interno
dell'altra (come mi sembra di aver capito nel tuo esempio) o elementi
con geometrie che si intersecano.

Potete aiutarmi?

dovresti fare un ciclo for per ogni feature del dato di input,
importare solo quell'elemento e calcolare v.rast.stat

Saluti e grazie per l'aiuto

--
ciao
Luca

http://gis.cri.fmach.it/delucchi/
www.lucadelu.org

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.

Buongiorno a tutti.

scrivo per avvisare che esiste una soluzione al problema, probabilmente
creata ad hoc da uno dei programmatori di SAGA GIS.

In pratica su SAGA esiste una nuova funzione denominata "Grid statistics for
points" che prende direttamente i punti e crea le statistiche come l'altro
plugin ma senza dover passare alla creazione dei poligoni e al problema
della sovrapposizione.

Potete trovare l'indicazione al link precedente al forum di SAGA.

Grazie per l'aiuto e buon fine settimana a tutti!

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-tp7591962p7592082.html
Sent from the Gfoss -- Geographic Free and Open Source Software - Italian mailing list mailing list archive at Nabble.com.