[Gfoss] Un plugin di QGIS interessante dall'universita' della basilicata?

> [http://plugins.qgis.org/plugins/UnibasCostSurface/](http://plugins.qgis.org/plugins/UnibasCostSurface/)
> 
> qualcuno ne sa di piu'?
> Saluti.
> - -- 
> Paolo Cavallini - Faunalia

Salve, mi sono iscritto a questa mailing list perché googlando ho trovato una richiesta di informazioni sul plugin UnibasCostSurface.
Si tratta di un tool per il calcolo del costo di spostamento cumulativo e per l'allocazione di aree di pertinenza a siti di partenza in base minor al costo di spostamento. Quest'ultima funzione non la trovavo nei GIS open source che uso di solito, mentre in ArcGIS è presente:

[http://webhelp.esri.com/arcgisdesktop/9.3/index.cfm?TopicName=Cost_Allocation](http://webhelp.esri.com/arcgisdesktop/9.3/index.cfm?TopicName=Cost_Allocation)


Il mio plugin funziona, ma vi avviso, è mooolto lento. Ho provato a riscriverlo varie volte in molti modi diversi, una volta anche copiando il codice di GRASS per lo stesso tipo di analisi, ma in definitiva il problema sembra essere Python: ci sono moltissimi cicli di calcolo e Python non è adatto per questo.
Dovrò riscrivere tutto in C++.
Da ultimo, vi segnalo che nonostante la sua lentezza questo plugin potrebbe tornare utile rispetto agli altri tool simili: si possono infatti assegnare dei valori numerici ai singoli punti/linee/aree di partenza che possono influire sul calcolo del costo cumulativo a partire da quei siti (e per conseguenza sul modo in cui il territorio viene allocato).
Rimango a disposizione per consigli/suggerimenti/collaborazioni al miglioramento del plugin.

Diego Gnesi Bartolani

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Il 02/04/2013 15:03, Diego Gnesi Bartolani ha scritto:

Il mio plugin funziona, ma vi avviso, è mooolto lento. Ho provato a riscriverlo varie volte in molti modi diversi, una volta anche copiando il codice di GRASS per lo stesso tipo di analisi, ma in definitiva il problema sembra essere Python: ci sono moltissimi cicli di calcolo e Python non è adatto per questo.

Dovrò riscrivere tutto in C++.

Da ultimo, vi segnalo che nonostante la sua lentezza questo plugin potrebbe tornare utile rispetto agli altri tool simili: si possono infatti assegnare dei valori numerici ai singoli punti/linee/aree di partenza che possono influire sul calcolo del costo cumulativo a partire da quei siti (e per conseguenza sul modo in cui il territorio viene allocato).

Grazie mille. Hai provato a devolvere il calcolo a qualche lib di py (numpy/scipy)?
Saluti.
- --
Paolo Cavallini - Faunalia
www.faunalia.eu
Full contact details at www.faunalia.eu/pc
Nuovi corsi QGIS e PostGIS: http://www.faunalia.it/calendario
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAlFa184ACgkQ/NedwLUzIr7KmwCgq2BcXHg4s4bWsCyE+Send6sp
5RQAn3nV8Xt8fzVsSqpC62tmha/z2yuy
=WJpn
-----END PGP SIGNATURE-----

Il giorno 02 aprile 2013 15:06, Paolo Cavallini <cavallini@faunalia.it> ha
scritto:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Il 02/04/2013 15:03, Diego Gnesi Bartolani ha scritto:

> Il mio plugin funziona, ma vi avviso, è mooolto lento. Ho provato a
riscriverlo varie volte in molti modi diversi, una volta anche copiando il
codice di GRASS per lo stesso tipo di analisi, ma in definitiva il problema
sembra essere Python: ci sono moltissimi cicli di calcolo e Python non è
adatto per questo.
>
> Dovrò riscrivere tutto in C++.
>
> Da ultimo, vi segnalo che nonostante la sua lentezza questo plugin
potrebbe tornare utile rispetto agli altri tool simili: si possono infatti
assegnare dei valori numerici ai singoli punti/linee/aree di partenza che
possono influire sul calcolo del costo cumulativo a partire da quei siti (e
per conseguenza sul modo in cui il territorio viene allocato).

Grazie mille. Hai provato a devolvere il calcolo a qualche lib di py
(numpy/scipy)?
Saluti.
- --
Paolo Cavallini - Faunalia
www.faunalia.eu
Full contact details at www.faunalia.eu/pc
Nuovi corsi QGIS e PostGIS: http://www.faunalia.it/calendario
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAlFa184ACgkQ/NedwLUzIr7KmwCgq2BcXHg4s4bWsCyE+Send6sp
5RQAn3nV8Xt8fzVsSqpC62tmha/z2yuy
=WJpn
-----END PGP SIGNATURE-----
_______________________________________________
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.
638 iscritti al 28.2.2013

sì, ho provato, ad esempio la lista dei pixel attivi (quelli da cui deve
continuare il successivo ciclo di calcoli) posso calcolarla con una singola
riga di codice grazie a numpy; purtroppo però si tratta di un'analisi
difficile da ottimizzare e da demandare interamente a funzioni di liberia:
l'ordine in cui vanno letti/scritti i vari pixel non è determinabile a
priori, e non è detto che un pixel il cui costo è stato calcolato non debba
essere sovrascritto (se durante l'analisi si trova un percorso che giunge a
quel pixel con un costo complessivo minore). In ogni modo, non demordo e
continuo a cercare soluzioni migliori.

Diego

2013/4/2 Diego Gnesi Bartolani <diego.gnesi@gmail.com>:
...

Si tratta di un tool per il calcolo del costo di spostamento cumulativo e
per l'allocazione di aree di pertinenza a siti di partenza in base minor al
costo di spostamento. Quest'ultima funzione non la trovavo nei GIS open
source che uso di solito, mentre in ArcGIS è presente:

http://webhelp.esri.com/arcgisdesktop/9.3/index.cfm?TopicName=Cost_Allocation

Questa funzionalità è presente in GRASS GIS 7
(implementata in 2010, parametro "nearest"):

r.cost input=cost_ras start_rast=source_ras \
         output=costsurf nearest=cost_alloc

Ho appena provato l'esempio di ESRI, il risultato
è identico.

Allora, dovrebbe bastare indicare GRASS 7 nei
settings di Sextante / GRASS toolbox per avere
la funzionalità in QGIS.

Ho aggiunto qualche riga qui:
http://grass.osgeo.org/grass70/manuals/r.cost.html

ciao
Markus