Introduzione a SEXTANTE (Trieste 2010)

Post on 19-Jun-2015

386 views 0 download

description

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

Transcript of Introduzione a SEXTANTE (Trieste 2010)

Introduzione a SEXTANTEUna libreria libera per l'analisi geospaziale

ing. Antonio Falcianoafalciano@yahoo.it

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

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).

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

gvSIG

SEXTANTE

Evoluzione dell'architettura

gvSIG(GIS app)

Bindings(Data model)

SEXTANTE(algorithm)

Bindings(GUI)

SEXTANTE(components)

SEXTANTE

gvSIG

GearScape

OpenJUMP

uDig

52N

GeoServer

Talend/SDI

Ecosistema di SEXTANTE

GRASS GIS

NASA World Wind

OrbisGIS

Kosmo

R ?

ArcGIS

?

Elementi della GUI di SEXTANTE

toolbox

modellatore grafico

riga di comando (Beanshell)

cronologia

risultatidati

(toolbar)

cattura coordinate

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).

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.

Le finestre di dialogo degli algoritmi (2)

cronologia help

Le finestre di dialogo degli algoritmi (3)

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!

Il modellatore grafico (2)

Gli algoritmi possono essere combinati tra loro...

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

Altri strumenti

● SEXTANTE comprende altri strumenti di produttività:

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

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.)

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);

Riga di comando (3)

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

SEXTANTE come client WPS (2)

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.

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)

Integrazione di GRASS in SEXTANTE (2)

Integrazione di GRASS in SEXTANTE (3)

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.

Uso avanzato di SEXTANTE (2)

Algoritmo WPS

Algoritmo GRASS

...

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