26
Introduzione a SEXTANTE Una libreria libera per l'analisi geospaziale ing. Antonio Falciano [email protected] http://creativecommons.org/licenses/by-nc-sa/2.5/deed.it

Introduzione a SEXTANTE (Trieste 2010)

Embed Size (px)

DESCRIPTION

Giornate Triestine Utenti di gvSIG (13-14 aprile 2010)

Citation preview

Page 1: Introduzione a SEXTANTE (Trieste 2010)

Introduzione a SEXTANTEUna libreria libera per l'analisi geospaziale

ing. Antonio [email protected]

http://creativecommons.org/licenses/by-nc-sa/2.5/deed.it

Page 2: Introduzione a SEXTANTE (Trieste 2010)

Un pò di storia...

● 2004: SEXTANTE nasce per soddisfare le necessità del dipartimento forestale della Regione autonoma di Extremadura, è inizialmente basato su SAGA (poichè gvSIG non è ancora un progetto maturo)

● 2007: gvSIG 1.0.x raggiunge un adeguato livello di maturità a seguito di una crescita impressionante, SEXTANTE migra verso gvSIG diventando una sua estensione di analisi spaziale (170+ geoalgoritmi).

Page 3: Introduzione a SEXTANTE (Trieste 2010)

Che cos'è oggi SEXTANTE?

● Attualmente, è una libreria indipendente composta da due parti principali:

– un insieme di classi fondamentali e di 290+ geoalgoritmi sviluppati a partire da queste classi;

– un insieme di componenti grafiche che eseguono ed utilizzano questi algoritmi con diverse modalità.

● E' con gvSIG uno dei progetti più attivi tra quelli presenti nella piattaforma OSOR.eu. Open Source Observatory and Repository for European public administrations

Page 4: Introduzione a SEXTANTE (Trieste 2010)

gvSIG

SEXTANTE

Evoluzione dell'architettura

gvSIG(GIS app)

Bindings(Data model)

SEXTANTE(algorithm)

Bindings(GUI)

SEXTANTE(components)

Page 5: Introduzione a SEXTANTE (Trieste 2010)

SEXTANTE

gvSIG

GearScape

OpenJUMP

uDig

52N

GeoServer

Talend/SDI

Ecosistema di SEXTANTE

GRASS GIS

NASA World Wind

OrbisGIS

Kosmo

R ?

ArcGIS

?

Page 6: Introduzione a SEXTANTE (Trieste 2010)

Elementi della GUI di SEXTANTE

toolbox

modellatore grafico

riga di comando (Beanshell)

cronologia

risultatidati

(toolbar)

cattura coordinate

Page 7: Introduzione a SEXTANTE (Trieste 2010)

Il toolbox

● Il toolbox è la componente principale di SEXTANTE.

● Consente la ricerca e l'esecuzione di processi locali (geoalgoritmi di SEXTANTE e moduli di GRASS) e remoti (WPS).

● Consente la configurazione di SEXTANTE (General, WPS, Folders, GRASS).

Page 8: Introduzione a SEXTANTE (Trieste 2010)

Le finestre di dialogo degli algoritmi (1)

● Le finestre di dialogo per l'esecuzione degli algoritmi sono create al volo in base ai requisiti degli stessi algoritmi, in modo che la GUI e i processi siano tra loro completamente indipendenti.

● Tale meccanismo garantisce che tutte le finestre di dialogo seguano gli stessi criteri ed abbiano un aspetto simile, rendendo più facile la loro comprensione agli utenti.

Page 9: Introduzione a SEXTANTE (Trieste 2010)

Le finestre di dialogo degli algoritmi (2)

cronologia help

Page 10: Introduzione a SEXTANTE (Trieste 2010)

Le finestre di dialogo degli algoritmi (3)

Page 11: Introduzione a SEXTANTE (Trieste 2010)

Il modellatore grafico (1)

● Le operazioni di analisi spaziale sono generalmente composte da una sequenza di operazioni a catena.

● Utilizzando il modellatore grafico, è possibile comprendere tali operazioni all'interno di un unico processo, denominato modello.

● I modelli consentono di eseguire nuovamente la stessa sequenza di operazioni al variare degli input, consentendo di risparmiare tempo e fatica.

● La creazione di un modello avviene graficamente!

Page 12: Introduzione a SEXTANTE (Trieste 2010)

Il modellatore grafico (2)

Gli algoritmi possono essere combinati tra loro...

Page 13: Introduzione a SEXTANTE (Trieste 2010)

Il modellatore grafico (3)

● Un modello è un geoalgoritmo di SEXTANTE:

– può essere eseguito dal toolbox;

– può essere eseguito come processo batch;

– può avere un file help associato;

– può essere parte di un modello più grande;

– può essere eseguito da riga di comando;

– può essere eseguito all'interno di uno script;

– è salvato in un file XML con estensione .model

Page 14: Introduzione a SEXTANTE (Trieste 2010)

Altri strumenti

● SEXTANTE comprende altri strumenti di produttività:

– interfaccia della riga di comando basata su BeanShell– interfaccia di elaborazione batch– cronologia

Page 15: Introduzione a SEXTANTE (Trieste 2010)

Riga di comando (1)

● La riga di comando consente di ottenere flussi di lavoro più flessibili e potenti, grazie ad es. ai cicli e alle espressioni condizionali di Beanshell.

– informazioni sui datidata(), describe(“nome_dati”)

– informazioni sugli algoritmialgs(), describealg(“nome_algoritmo”)

– esecuzione degli algoritmirunalg(“nome_algoritmo”, par1, par2, ..., parN)

– esecuzione dei modelli model(“nome_file_modello”, par1, ..., parN)

– gestione dei layer (extent, setnodata, ecc.)

Page 16: Introduzione a SEXTANTE (Trieste 2010)

Riga di comando (2)

● E' possibile eseguire script da riga di comando.● Esempio: test.bsh (salvare ad es. in D:\scripts)// Creazione di un layer vettoriale random di 50 puntirunalg("randomvector", "0.0", "100.0", "0.0", "100.0", "50.0", "2", "#");// Creazione di 5 buffer a distanza decrescente (da 5 a 1)for (i=5; i>0; i--) runalg("fixeddistancebuffer", "Result", i, "0", "0", "false", "#"); ● Per eseguire lo script digitare da riga di comando:bsh % percorso_script = "D:\\scripts\\test.bsh";bsh % source(percorso_script);

Page 17: Introduzione a SEXTANTE (Trieste 2010)

Riga di comando (3)

Page 18: Introduzione a SEXTANTE (Trieste 2010)

SEXTANTE come client WPS (1)

● WPS (Web Processing Service) è lo standard OGC relativo ai servizi di geoprocessing remoto.

● SEXTANTE è in grado di incapsulare i processi WPS e di utilizzarli come geoalgoritmi.

● I processi WPS possono essere impiegati in tutte le componenti grafiche di SEXTANTE.

● E' in grado di riutilizzare la maggior parte degli algoritmi di SEXTANTE offerti dal server WPS di 52North [1] e può testare anche altri server WPS.

[1] http://geoserver.itc.nl:8080/wps/WebProcessingService

Page 19: Introduzione a SEXTANTE (Trieste 2010)

SEXTANTE come client WPS (2)

Page 20: Introduzione a SEXTANTE (Trieste 2010)

SEXTANTE come libreria per i server WPS

● I server WPS generalmente non dispongono di geoalgoritmi (lavorano, tuttavia non offrono alcun geoprocesso come servizio).

● SEXTANTE è uno strumento molto interessante per i server WPS Java, poichè ne espande enormemente le potenzialità.

● Attualmente implementato nel server WPS di 52N e in fase di implementazione in GeoServer.

Page 21: Introduzione a SEXTANTE (Trieste 2010)

Integrazione di GRASS in SEXTANTE (1)

● Stessa tecnica di incapsulamento dei processi WPS

● Gli algoritmi di GRASS possono essere impiegati in tutte le componenti grafiche di SEXTANTE

● Non tutti i moduli di GRASS sono compatibili, anche se la maggior parte di essi è utilizzabile al 100%.

● Riconoscimento automatico degli algoritmi.

● Non richiesta una versione specifica di GRASS (> 6.4)

Page 22: Introduzione a SEXTANTE (Trieste 2010)

Integrazione di GRASS in SEXTANTE (2)

Page 23: Introduzione a SEXTANTE (Trieste 2010)

Integrazione di GRASS in SEXTANTE (3)

Page 24: Introduzione a SEXTANTE (Trieste 2010)

Uso avanzato di SEXTANTE (1)

● Le varie componenti di SEXTANTE sono collegate tra loro, espandendo notevolmente le loro potenzialità.

● I modelli, i processi WPS e i moduli di GRASS GIS:

– sono trattati come algoritmi di SEXTANTE;

– possono essere utilizzati come singoli processi all'interno di modelli più grandi, eseguiti come processi batch o dalla riga di comando, ecc.

Page 25: Introduzione a SEXTANTE (Trieste 2010)

Uso avanzato di SEXTANTE (2)

Algoritmo WPS

Algoritmo GRASS

...

Page 26: Introduzione a SEXTANTE (Trieste 2010)

Per ulteriori informazioni

● http://www.sextantegis.com– Download– Manuali– Mailing list– Blog– Bug tracker

● Mailing list italiana di gvSIG:– https://gvsig.org/lists/mailman/listinfo/gvsig_italian