Archivio del mese di gennaio, 2009

21 gennaio, 2009 | di

Quelli di 52°North sono forse più noti come coloro che hanno rilevato lo sviluppo di ILWIS da ITC di Enschede. Ma tra i loro progetti più interessanti c’è anche un framework Web Processing Service (WPS) molto promettente, con API a disposizione di tutti e anche due plugin per uDIG e Jump.

Dal loro sito:

The 52N Web Processing Service enables the deployment of geo-processes on the web. It features a pluggable architecture for processes and data encodings. The implementation is based on the current OpenGIS specification: 05-007r7 .

Molto interessanti le caratteristiche della nuova release, tra le quali l’implementazione di Sextante. Qui di seguito l’annuncio lanciato dalla stessa 52°North in mailing-list, con riferimenti alle risorse per poterlo testare e approfondirne l’uso:

The 52°North Geoprocessing Community is proud to announce the release of the Web Processing Service Version 2.0! This new release contains the following changes and extensions:

  • Sextante (http://www.sextantegis.com/en/index.htm) processes integration: the current 52N WPS now provides more than 220 Sextante geoalgorithms (http://forge.osor.eu/plugins/wiki/index.php?id=13&type=g) as real WPS processes. Sextante support can easily be enabled/disabled and does not hinder custom developments of individual processes.
  • GRID support: any existing process or algorithm can be reused and distributed in the grid for parallel execution. This release enables the user to easily outsource geoprocessing tasks to an external data processing center. It fully supports the widely adopted UNICORE 6 grid middleware. In addition, it is possible to support other grid middlewares (e.g. Globus Tookit 4). No administrative access to the grid infrastrucutre is necessary, only a valid certificate for accessing the target system is required.
  • internal architecture redesign with new flexible bindings of different internal datastructures (e.g. Geotools Datamodel)
  • support for (very large) rasters
  • new Geotiff parser and generator
  • improved asychronous datahandling + download of stored files
  • several bugfixes
  • extended Tutorial: it guides the user through the process of setting up the 52N WPS, creating a new process, as well as executing and exporting the process.

The 52N Web Processing Service enables the deployment of geo-processes on the web. It features a pluggable architecture for processes and data encodings. The implementation is based on the current OpenGIS specification: 05-007r7.

download tutorial here: http://52north.org/twiki/bin/viewfile/Processing/52nWebProcessingService?rev=1;filename=WPS_Tutorial.pdf

download binary distribution here: http://52north.org/index.php?option=com_jdownloads&Itemid=73&task=viewcategory&catid=22

browse the sources in our svn repository here: http://52north.org/svn/geoprocessing/main/WPS/trunk/WPS/

test instances can be invoked here:
http://52north.org:8080/wps/WebProcessingService
http://geoserver.itc.nl:8080/wps/WebProcessingService

more information can be found here: http://52north.org/maven/project-sites/wps/52n-wps-webapp/

19 gennaio, 2009 | di

Il lavoro di ogni giorno è spesso routinario; spesso anche per chi si occupa di sistemi informativi geografici. Non parlo dell’analisi spaziale, ma di quelle cose che facciamo quasi ogni giorno: leggere le metainfomazioni di un file (e scoprire che sono povere), convertire il formato di un file, estrarre una porzione di una raster, etc.

Si tratta di operazioni in genere molto semplici, che siamo in grado di portare a termine con molti strumenti. Questo blog parla de “le cose che ci piacciono TANTO”; una di queste sono quelle utility che alleggeriscono il lavoro di ogni giorno, con un click del mouse ed un menu contestuale.

Vi parlerò di due applicazioni di questo tipo, una per Windows ed una per Ubuntu (e per tutte le distribuzioni che sfruttano Gnome), che sono in grado di “trasferire” sul tasto destro del mouse alcune comuni operazioni utili ad un utente GIS.

Il prerequisito è che nel nostro sistema operativo siano installate le librerie GDAL, che sfrutteremo come motore delle operazioni “spaziali”. Per installarle su Windows basterà scaricare ed installare FWTools, mentre su Ubuntu basterà installare gdal-bin tramite synaptic o tramite riga di comando.

Alla fine del post saremo in grado di fare click con il destro su una TIFF del nostro hard-disk, ed eseguire queste due semplici (ma comodissime operazioni):

  1. convertirla in un altro formato spaziale (in questo esempio eseguirò la conversione in formato JPG2000, un eccellente formato compresso che può avere attributi geografici)
  2. leggerne le metainformazioni (anche quelle spaziali)

Se dovessi ottenere questi due risultati con le librerie GDAL, dovrei aprire il prompt dei comandi e scrivere rispettivamente:

  1. > gdal_translate -of JP2ECW input.tif output.jp2
  2. > gdalinfo input.tif

Vedremo come convertire questi comandi testuali, in operazioni da eseguire con il mouse.

Su Windows

Su Windows sfrutteremo Open++, un’utility di 200kb che consente di personalizzare l’elenco di comandi presenti nel menu contestuale, che si apre quando si clicca con il tasto destro del mouse su un file (o su una cartella).

Una volta che lo avrete scaricato ed installato, troverete una nuova voce nel menu che si aprirà al click con il destro su un file; è visibile nella figura sottostante (“Open++”).

contextmenu

L’utilizzo è immediato e quasi autoesplicativo, in quanto Open++ è già configurato per eseguire delle comode operazioni di base: ade esempio copiare il percorso assoluto di un file (Copy Path), o  aprire il prompt dei comandi a partire dalla cartella selezionata (Command Prompt). Questi due stupidi comandi, sono già un ottimo esempio di alleggerimento del lavoro.

Il primo comando che voglio aggiungere, ci consentirà di convertire in formato JPG2000 un’immagine TIFF. Per inserire questo nuovo comando, tra quelli disponibili in Open++, dovrò cliccare sull’ultima opzione del suo menu a tendina: “Customize” (vedi figura poco sopra).

Mi si aprirà la finestra sottostante:

image

Questi i passi da eseguire:

  1. cliccare in alto a destra sul tasto “Add”, e scegliere l’opzione “Command”
  2. cliccare sulla cella “Title”, ed aggiungere un nome descrittivo al comando che si sta creando (ad esempio “Convert to JPG2000”)
  3. inserire nella cella “Program” il programma che si vuole lanciare. Nel nostro caso vogliamo lanciare il prompt dei comandi e basterà scrivere “%ComSpec%”
  4. scrivere nella cella “Arguments” gli argomenti che vogliamo passare al nostro comando. Nel nostro caso inseriremo la seguente stringa ‘/c “C:\Programmi\FWTools2.2.6\bin\gdal_translate -of JP2ECW” $(TargetName)$(TargetExt) $(TargetName).jp2′
    1. il parametro “/c” fa sì che il prompt dei comandi venga chiuso al termine dell’operazione
    2. “C:\Programmi\FWTools2.2.6\bin\gdal_translate” è il percorso assoluto (nel mio pc) dell’utility GDAL – gdal_translate – che gestisce le conversioni tra formati di file spaziali
    3. “-of JP2ECW” è il parametro necessario per impostare JPG2000 come formato di output
    4. $(TargetName)$(TargetExt) sono delle variabili che coincidono con il nome e con l’estensione del file su cui cliccheremo con il destro, e che verranno valorizzate dinamicamente al lancio del comando. Se ad esempio il file su cui farò click sarà “c:\dati\input.tif”, la variabile “$(TargetName)” verrà sostituito da “c:\dati\input” e “$(TargetExt)” da “.tif”.
    5. lo stesso si dica per $(TargetName).jp2, che verrà sostituito da “c:\dati\input.jp2”
  5. cliccare sulla cella “Associate with Files” e scrivere *.tif
    1. in questo modo il comando di conversione formato sarà disponibile soltanto per i file con estensione .tif (è possibile aggiungere altre estensioni, separandole tramite “;”)
  6. impostare gli altri parametri come nella figura soprastante e cliccare su “OK”

A questo punto aprite una cartella in cui avete un file TIFF, fateci click sopra con il destro del mouse, e selezionate Open++/Convert to JPG2000. Si aprirà il prompt dei comandi e verrà lanciato il comando gdal_translate; a comando eseguito il prompt dei comandi si chiuderà automaticamente e troverete il file JPG2000 (con estensione .jp2) nella stessa cartella in cui è presente il file TIFF.

Quello di sopra è soltanto un esempio; si può di più, meglio e diversamente. Consideratelo come un primo tutorial, dopo il quale iniziare a dare sfogo alla vostra fantasia ed alla vostra competenza.

Per ottenere le metainformazioni spaziali di un file TIFF, utilizzando soltanto il tasto destro del mouse, dovrete un creare un nuovo comando. La procedura è quasi identica alla precedente, salvo per la cella “Arguments”: dovrete inserire la stringa ‘/k “C:\Programmi\FWTools2.2.6\bin\gdalinfo $(TargetName)$(TargetExt)’.

La differenza più importante è il parametro “/k”, che farà in modo che il prompt dei comandi non venga chiuso al termine del comando gdalinfo. Nella finestra del prompt potrete quindi leggere le metainformazioni del file che avrete selezionato.

In questo filmato vedrete i due comandi in azione:


Su Linux

In questo caso sfrutteremo Nautilus-actions, un’utility analoga a Open++ in ambiente GNOME e quindi anche in Ubuntu. E’ installabile tramite synaptic o digitando nella shell:

>sudo apt-get install nautilus-action

Una volta installato lo troverete nel menu Sistema/Preferenze/Nautilus Actions Configuration.

nautilus-actions

Creiamo un’azione (action) che estragga le metainformazioni da un tif selezionata.

Questi i passi da seguire:

  1. cliccare su Add
  2. inserire nella cella “Label” un nome descrittivo del comando (ad esempio “gdal_info”)
  3. scegliere – è opzionale – un tooltip per il comando (ad esempio “cliccare qui per avere le metainformazioni del file selezionato”)
  4. scegliere – è opzionale – un’icona per il comando
  5. definire il comando da lanciare, tramite la cella “Path”
    1. inserire la stringa “bash -c”
  6. impostarne la stringa “gdalinfo %d/%f > %d/%f.txt && gedit %d/%f.txt” nella cella “Parameters
    1. “%d “e “%f ” sono delle variabili che verrano sostituite dinamicamente dal percorso (senza estensione) e dall’estensione del file selezionato
    2. il carattere “>” farà sì che l’output del comando – le metainformazioni – possano essere scritte e memorizzare in un file di testo
    3. “%d/%f.txt” faranno si che il file di testo venga salvato nella stessa cartella del file selezionato (%d), con lo stesso nome (%f) e con estensione .txt
    4. “&&” fa si che venga esguito il comando successivo – gedit – ma soltanto dopo la fine del primo
    5. “gedit %d/%f.txt” per aprire con l’editor di testo di Ubuntu il file di testo appena creato
  7. cliccare sul Tab “Conditions” e scrivere nella cella “Filenames” la stringa “*.tif” (in questo modo il comando gdal_info sarà visibile soltanto per file con estensione .tif)
  8. selezionare il radio botton “Only files”
  9. e cliccare su OK

edit-action-gdal_info

A questo punto non ci resta che fare click con il destro su un file .tif e provare il comando appena creato. Aggiungo però qualche spiegazione dovuta. Cosa è bash?

Si tratta di un interprete di comandi che permette all’utente di comunicare col sistema operativo attraverso una serie di funzioni predefinite, o di eseguire programmi.

Il parametro “-c” forza bash a leggere i comandi dalla stringa di testo che segue, che nel nostro caso è quella del punto 6 di sopra.

Nel filmato sottostante vedrete (male, è saltata una parte) il comando in azione:


Record your screencast online

Nautilus-actions è a mio avviso un gioiellino. Una caratteristica che lo fa brillare è la facilità di condividere i comandi creati. Lo si fa con il tasto “Import/Export” presente nella finestra principale. Qui ad esempio una serie di “azioni” già pronte. Il comando di conversione in JPG2000 è di facile implementazione e non lo svilupperò.

In chiusura

Prendete quanto scritto soltanto come spunto per “piegare” (ad esempio) le librerie GDAL/OGR al vostro tasto destro. Sono quasi un’analfabeta di istruzioni da riga di comando, e quelle che vi ho indicato possono sicuramente essere scritte meglio e più elegantemente. Mi piacerebbe molto che qualcuno condividesse qui la propria esperienza, con qualche comando “de paura”.

Software/servizi usati per scrivere il post

  • TipCam per registrare il filmato su windows
  • ScreenToaster per farlo su Linux
  • Zotero per gestire e generare la sitografia sottostante

Sitografia letta, consigliata e disordinata

  1. “BASH Help – A Bash Tutorial,” http://www.hypexr.org/bash_tutorial.php.
  2. “Bash – Wikipedia,” http://it.wikipedia.org/wiki/Bash.
  3. “Beginners/BashScripting – Community Ubuntu Documentation,” https://help.ubuntu.com/community/Beginners/BashScripting.
  4. “COMMAND.COM, SHELL and COMSPEC,” http://www.robvanderwoude.com/command.html.
  5. “Eseguire programmi e comandi DOS – Cenati Giovanni VbScript WSH,” http://digilander.libero.it/Cenati/esegui.htm.
  6. “Nautilus-actions: GUI è bello! » Ubuntu block notes,” http://www.aldolat.it/guide-e-howto/nautilus-actions-gui-e-bello/.
13 gennaio, 2009 | di

Tempo fa avevo buttato GeoCommons nel mucchio delle belle cose da approfondire, e come spesso mi accade presto l’avevo dimenticato. Ma ecco che Andrea e Gerlando in due loro precedenti articoli [1,2] si son messi a giocarci, e mi hanno dato l’impulso per sporcarmici le mani pure io.

GeoCommons è un formidabile mashup messo su da FortiusOne, che si pone due obiettivi principali. Il primo è quello di mettere a disposizione degli utenti – con conoscenza anche nulla o quasi di GIS e cartografia – uno strumento di costruzione di mappe semplice ed efficace. Il secondo è quello di realizzare un grande repository di dati geografici generati dagli utenti stessi e liberamente utilizzabili con licenza Creative Commons.

GC_eventi_sismici

Ma cosa permette davvero di fare GC? Certamente non si tratta di un ambiente GIS propriamente detto, con il quale sia possibile creare mappe complesse e articolate, con la possibilità di usare layer raster e uno styiling avanzato di quelli vettoriali. Lo scopo di GeoCommons è infatti quello di “realizzare analisi visuali mediante mappe; consentendo a utenti privi di conoscenze tecniche di visualizzare dataset multipli, raggiungere conclusioni, prendere decisioni e risolvere problemi senza far ricorso ai GIS”.

GC_point_styleCon Maker! – il map builder di GC – è possibile, previa registrazione, creare mappe partendo sia da dati presenti sul repository GC – messi a disposizione da altri utenti – che propri, importabili nel proprio account come shapefile, come foglio di calcolo CSV oppure KML. Buona norma sarà taggare i dati con termini che ne descrivano contenuto e zona geografica, in maniera tale da renderli facilmente rintracciabili da altri utenti. I dati caricati dovranno essere rigorosamente in WGS84, poichè GC non supporta la riproiezione al volo. Finder! è invece semplicemente il motore di ricerca del data repository di GC.

Come detto, GeoCommons non è un GIS ma fa bene il suo lavoro. La semplicità di utilizzo e dello styling dei dati vettoriali ne fanno strumento efficace per rappresentare essenzialmente dati di tipo quantitativo (statistici, grandezze fisiche, eventi), ma non certo di tipo qualitativo (litologia, uso del suolo, vegetazione). Lo styling dei dati è infatti basato su simboli o colori graduati, con in più la sola possibilità di scegliere cerchi o quadrati per i punti, 5 stili per le linee e 5 palette di colori per i poligoni. Oltre naturalmente a poter impostare la trasparenza per tutti i layer.

I dati di base – con i quali poter dare senso ai nostri – derivano tutti da Google e si può scegliere tra strade, satellite, ibridi, terrain oppure un bello sfondo monocolore.

Insomma, costruire mappe con GeoCommons è davvero semplice, e sebbene lo styling dei dati possa apparire limitato a un primo approccio, in realtà viene messo a disposizione lo stretto indispensabile per ottenere mappe di chiara ed efficace lettura.

Inutile dire quanto GC sia perfetto per avvicinare un gran numero di persone alle mappe e alla rappresentazione spaziale dei dati tipicamente descrittivi. E allora perchè non lanciare da qui un bel GeoCommons contest per chiamare alle arti cartografiche i frequentatori di TANTO?

L’esempio l’abbiamo dato Andrea e io stesso, lui con l’articolo “La Geografia Giudiziaria: la realizzazione di una mappa… per iniziare” del novembre scorso, mentre io mi sono cimentato in una semplice mappa nella quale viene mostrata l’attività sismica a livello nazionale, così come gli eventi registrati a livello mondiale dalla rete sismica italiana. I dati li ho recuperati dall’INGV, per i dettagli date un’occhiata al post nella quale l’ho pubblicata in precedenza, sul mio tumblelog loscioccoinBlu. Il webgis dell’INGV è ben fatto, ma riporta solo gli eventi degli ultimi 90 giorni. Io ho intenzione di tenere aggiornata la mia mappa su GC mensilmente, in modo tale da costruire un repository dei terremoti nel tempo, con tanto di dati pronti per essere scaricati e utilizzati in qualunque maniera e contesto da chiunque.

E allora sotto con le vostre mappe! Pubblicatele come commento a questo post, e tirate fuori il Piri Reis che è in voi al grido di “Yes We Map”!

Qui di seguito un elenco – ovviamente non esaustivo – di alcuni link dai quali è possibile scaricare dati per costruire le vostre opere. Invito chiunque a segnalarne di nuovi.

[1] Fare sorridere una tabella, o di quanto siano belli i grafici
[2] La Geografia Giudiziaria: la realizzazione di una mappa… per iniziare

1 gennaio, 2009 | di

G. Leopardi, Operette morali
Dialogo di un venditore di almanacchi e di un passeggere ( 1832 )

Venditore: Almanacchi, almanacchi nuovi; lunari nuovi. Bisognano, signore, almanacchi?
Passeggere: Almanacchi per l’anno nuovo?
Venditore: Si signore.
Passeggere: Credete che sarà felice quest’anno nuovo?
Venditore: Oh illustrissimo si, certo.
Passeggere: Come quest’anno passato?
Venditore: Più più assai.
Passeggere: Come quello di là?
Venditore: Più più, illustrissimo.
Passeggere: Ma come qual altro? Non vi piacerebb’egli che l’anno nuovo fosse come qualcuno di questi anni ultimi?
Venditore: Signor no, non mi piacerebbe.
Passeggere: Quanti anni nuovi sono passati da che voi vendete almanacchi?
Venditore: Saranno vent’anni, illustrissimo.
Passeggere: A quale di cotesti vent’anni vorreste che somigliasse l’anno venturo?
Venditore: Io? non saprei.
Passeggere: Non vi ricordate di nessun anno in particolare, che vi paresse felice?
Venditore: No in verità, illustrissimo.
Passeggere: E pure la vita è una cosa bella. Non è vero?
Venditore: Cotesto si sa.
Passeggere: Non tornereste voi a vivere cotesti vent’anni, e anche tutto il tempo passato, cominciando da che nasceste?
Venditore: Eh, caro signore, piacesse a Dio che si potesse.
Passeggere: Ma se aveste a rifare la vita che avete fatta né più né meno, con tutti i piaceri e i dispiaceri che avete passati?
Venditore: Cotesto non vorrei.
Passeggere: Oh che altra vita vorreste rifare? la vita ch’ho fatta io, o quella del principe, o di chi altro? O non credete che io, e che il principe, e che chiunque altro, risponderebbe come voi per l’appunto; e che avendo a rifare la stessa vita che avesse fatta, nessuno vorrebbe tornare indietro?
Venditore: Lo credo cotesto.
Passeggere: Né anche voi tornereste indietro con questo patto, non potendo in altro modo?
Venditore: Signor no davvero, non tornerei.
Passeggere: Oh che vita vorreste voi dunque?
Venditore: Vorrei una vita così, come Dio me la mandasse, senz’altri patti.
Passeggere: Una vita a caso, e non saperne altro avanti, come non si sa dell’anno nuovo?
Venditore: Appunto.
Passeggere: Così vorrei ancor io se avessi a rivivere, e così tutti. Ma questo è segno che il caso, fino a tutto quest’anno, ha trattato tutti male. E si vede chiaro che ciascuno è d’opinione che sia stato più o di più peso il male che gli e toccato, che il bene; se a patto di riavere la vita di prima, con tutto il suo bene e il suo male, nessuno vorrebbe rinascere. Quella vita ch’è una cosa bella, non è la vita che si conosce, ma quella che non si conosce; non la vita passata, ma la futura. Coll’anno nuovo, il caso incomincerà a trattar bene voi e me e tutti gli altri, e si principierà la vita felice. Non è vero?
Venditore: Speriamo.
Passeggere: Dunque mostratemi l’almanacco più bello che avete.
Venditore: Ecco, illustrissimo. Cotesto vale trenta soldi.
Passeggere: Ecco trenta soldi.

————

Se siete arrivati sino a qua, spero che vi siate emozionati quanto me. Letture come queste aiutano a pensare bene, a saper valutare gli eventi che la vita ci mette davanti; quelli che stimiamo buoni ed anche quelli cattivi.

Devo la scoperta di questa lettura a Luisa Carrada, e per questo la ringrazio di cuore.


TANTO non rappresenta una testata giornalistica ai sensi della legge n. 62 del 7.03.2001, in quanto non viene aggiornato con una precisa e determinata periodicita'. Pertanto, in alcun modo puo' considerarsi un prodotto editoriale.