You are on page 1of 26

Introduzione a SEXTANTE

Una libreria libera per l'analisi geospaziale

ing. Antonio Falciano


afalciano@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
Evoluzione dell'architettura

SEXTANTE SEXTANTE
(components) (algorithm)
SEXTANTE

Bindings Bindings
(GUI) (Data model)

gvSIG gvSIG
(GIS app)
Ecosistema di SEXTANTE
R
? GRASS GIS
gvSIG
OpenJUMP

Kosmo
uDig

SEXTANTE OrbisGIS
52N

GearScape
GeoServer

Talend/SDI NASA World Wind ArcGIS


?
Elementi della GUI di SEXTANTE

toolbox (toolbar)

modellatore
cronologia dati
grafico
risultati
riga di comando cattura
(Beanshell) 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 dati
data(), describe(“nome_dati”)
– informazioni sugli algoritmi
algs(), describealg(“nome_algoritmo”)
– esecuzione degli algoritmi
runalg(“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 punti
runalg("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

You might also like